Linux系统启动引导过程和服务控制

刚入门的小伙伴们是不是还在迷惑到底系统从我们按下电源键的那一刻,是如何进行一步一步运行的,知道我们输入用户名和密码进入系统,来操作电脑,今天我们就来写一下开机的启动过程以及相关服务的控制。

一. 系统引导流程:

1 . 开机加电,BIOS对硬件加电自检

   加电自检,检测硬件设备,这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等

2 . 检查启动顺序,从硬盘引导,读取MBR(446字节)

   硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。

3 . 读取GRUB的引导

    次引导加载程序得主要的功能就是加载linux内核,次引导程序(boot loader)会引导操作系统。当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节(主引导记录,即master boot record,MBR)。在单一的MBR中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题,因此需要更灵活的引导加载程序
    次引导加载程序就会在内存运行起来。系统读取内存中的grub配置信息(一般为menu.lst或grub.lst)就会出现GRUB图形界面,让用户选择加载什么样的内核并依照此配置信息来启动不同的操作系统。
    如何查看你MBR的内容,那么你可以使用以下命令来查看:
[[email protected] ~]# dd if=/dev/sda of=mbr.bin bs=512 count=1   #此处的/dev/sda为你的硬盘的类型,本次我们使用的为scsi,表示为/dev/sda
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000280189 s, 1.8 MB/s
[[email protected] ~]# od -xa mbr.bin  #此处必须root身份运行的dd命令,读取你的第一个集成电子驱动器或者IDE驱动器的前512字节,并将他们写入
mbr.bim文件.od命令则是以十六进制和ASCII码形式打印出这个二进制文件

4 . 加载内核文件 (/boot目录下)

 用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。

5 . 运行init进程,永远是第一个进程

  • A.读取/etc/inittab配置文件
内核被加载后,第一个运行的程序便是/sbin/init(变成一个用户进程),该程序会读取/etc/inittab配置文件,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等.其实/etc/inittab文件最主要的作用就是设定Linux的运行等级。
【Linux下运行级别设定:】

0 - halt (Do NOT set initdefault to this)     #关机
1 - Single user mode     #单用户模式
2 - Multiuser, without NFS (The same as 3, if you do not have networking)     #字符界面,多用户,无网络模式
3 - Full multiuser mode     #字符界面,多用户模式
4 - unused     #保留,暂时没有被使用
5 - X11      #图形界面,多用户模式
6 - reboot (Do NOT set initdefault to this)     #重新启动

设定形式是“:id:3:initdefault:”,表明Linux运行在等级3上

  • B.做系统初始化/etc/rc.d/rc.sysinit
    在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。
  • C.控制启动哪些程序和服务/etc/rc.d/rc,依据运行级别决定,按照当前的运行级别,执行相应的运行脚本。
    根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务
  • D. 最后运行一个脚本/etc/rc.d/rc.local(让管理员自定义启动命令)
    rc.local配置文件就是在一切初始化工作后,Linux留给用户进行个性化的地方,你可以进行一些开机加载的自定义设置,只限制于当前登录的用的个人设置。
  • E.执行/bin/login程序,进入登录状态
    到了加载此步骤的时候,那么系统已经运行到提醒用户进行用户名和密码输入登陆系统的过程了,到此为止,那么一系列的从你把主机的电源打开一直到你输入用户名和密码登陆系统之间全部启动过程。

二. 服务的控制和优化:

  • 服务的分类:
类别 特点
独立运行的服务 响应快,但是占系统资源多
依赖xinetd服务运行的服务 响应慢些,但是占资源少
  • 系统服务控制

1 . 常用方式:

    - service  服务名称  控制类型
    - /etc/rc.d/init.d服务名称  控制类型

    [root@localhost ~]# /etc/init.d/vsftpd status
    vsftpd is stopped
    [root@localhost ~]# service vsftpd start
    Starting vsftpd for vsftpd:                                [  OK  ]

2 . 控制类型

         - start:启动
         - stop:停止
         - restart:重新启动
         - reload:重新加载
         - status:查看服务状态
  • Linux系统的运行级别

1 . 查看运行级别

[root@localhost ~]# runlevel
5 3
使用runlevel命令,分别显示:
5:切换前的运行级别、3:当前运行级别

2 . 临时切换运行级别

[root@localhost ~]# init 5
[root@localhost ~]# runlevel
3 5
使用init命令结合0-6运行级别参数
  • 优化启动过程

    1 . 系统服务管理工具

    a) ntsysv工具

特点:
    提供一个交互式、可视化窗口
    可以在字符终端运行
    便于集中管理多个服务
用法:
    ntsysv  --level  级别列表

[[email protected] ~]# ntsysv --level 3  #此处表示以级别3设置所有服务
  • b) chkconfig工具
特点:
    不提供交互式、可视化窗口
    管理单个服务效率更高
用法:
    查看系统服务的启动状态
    格式:chkconfig --list 服务名称
    [root@localhost ~]# chkconfig --list vsftpd   #查看vsftpd服务开机是否启动
    vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off   #此处的6个状态就是linux的运行状态 【off表示不启动  on表示启动】

----------

    设置系统服务的启动状态
    格式:chkconfig  --level  级别列表 服务名  on|off
    [root@localhost ~]# chkconfig --level 3 vsftpd on
    [root@localhost ~]# chkconfig --list vsftpd
    vsftpd          0:off   1:off   2:off   3:on    4:off   5:off   6:off

----------
服务脚本位置:/etc/init.d ----》/etc/rc.d/init.d

到此为止,小伙伴是否了解了系统是如何进行启动的以及启动时加载所需的配置文件的顺序,对于系统的启动过程来说是我们入IT这一行的所要必须掌握的。掌握了此启动过程,当系统出毛病的时候,我们才能根据启动顺序来进行分析并解决问题。

时间: 2024-08-24 19:10:12

Linux系统启动引导过程和服务控制的相关文章

linux的引导过程和服务控制

引导过程和服务控制 要求: ? 设置Linux系统每次开机后自动进入字符模式界面. 步骤: 编辑/etc/inittab文件,将默认运行级别修改为3.如图所示: ? 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:anacron.atd.avahi-daemon.Bluetooth.cups.firstboot.hidd.hplip.ip6tables.iptables.isdn.mcstrans.mdmonitor.nfslock.pcscd.portmap.re

linux引导过程和服务控制

引导过程和服务控制 要求: ? 设置Linux系统每次开机后自动进入字符模式界面. 步骤: 编辑/etc/inittab文件,将默认运行级别修改为3.如图所示: ? 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:anacron.atd.avahi-daemon.Bluetooth.cups.firstboot.hidd.hplip.ip6tables.iptables.isdn.mcstrans.mdmonitor.nfslock.pcscd.portmap.re

Linux系统管理09——引导过程与服务控制

Linux系统管理09--引导过程与服务控制 一.引导过程总览 1.init进程 ·由linux内核加载运行/sbin/init程序 ·是系统中的第一个进程,所有进程的父进程 ·PID(进程标记)号永远为1 2.Upstart启动方式 初始化配置分散存放,响应不同的启动事件 参数 说明 /etc/inittab 配置默认运行级别 /etc/sysconfig/init 控制tty终端的开启数量.终端颜色方案 /etc/init/rcS.conf 加载rc.sysinit脚本,完成系统初始化任务

引导过程与服务控制(理论基础,后续实操敬请期待)

我们来掌握引导过程与服务控制的基础知识 1.引导过程 2.排除启动类故障 3.服务控制及切换运行级别 4.优化启动过程 一.引导过程总览 1.开机自检(BIOS)--MBR引导--GRUB菜单--加载内核(kernel)--init进程初始化 2.Init进程由linux内核加载运行/sbin/init程序是系统中第一个进程PID(进程标记)号永远为1 3.Systemd单元类型 4.运行级别所对应的systemd目标9 二.排除启动类故障 修复MBR扇区故障1.故障原因病毒.***等造成的破坏

Linux引导过程与服务控制

一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化  二:系统引导级别: 0 poweroff.target 关机状态,使用该级别时将会关闭主机 1 rescue.target   单用户模式,不需要密码验证即可登录系统,多用 于系统维护 2 multi-user.target 用户定义/减特定运行级别.默认等同于3,但是不支持网络 3 multi-user.target 字符界面的完整多用户模式,大多数

理论:引导过程与服务控制 (解决忘记root问题、解决不能正常开机的问题)

前言: 学习引导过程,排除启动类故障,服务控制及切换运行级别,优化启动过程:重点了解修复MBR扇区,gurb菜单,root密码重置,优化开机启动 一: 引导过程总览 序号 步骤 解释 1 开机自检(BIOS) 1.加电自检(服务器例外,当服务器通电时,风扇会先转一圈),自检硬件设备是否完好无损 2.加载驱动 2 MBR引导 去找系统盘内的MBR去启用 3 GRUB菜单 选择系统去启用(系统例如双系统.急救系统等) 4 加载内核(kernel) 内核就是系统的核心部分,即加载内核去运行系统 5 i

Linux-9引导过程与服务控制

一 引导过程 开机自检 (BIOS自检) MBR引导 GRUB菜单 加载内核(kernel) init 进程初始化 1  init进程 是所有进程的父进程 PID号永远为1 2 runlevels ——运行级别 0:关机 1:单用户模式,无需密码登录,用于系统维护 3:字符界面的完整多用户模式 (大部分服务器运行此级别) 5:图形界面的多用户模式 ,提供了图形桌面操作环境 6:重新启动 五  服务控制及优化启动 常用控制类型 start    ##启动 stop   ##停止 restart 

2019.8.7 引导过程与服务控制

一.引导流程 1.BIOS:BIOS是进本输入输出系统.服务器主机开机后,将根据主办BIOS只用的设置对CPU内存显卡,键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,检测失败会(1)通过显示器屏幕或(2)蜂鸣器报警,多时候会移交给本机硬盘.可存储硬件配置信息,独立电池供电.BIOS电池放电可以恢复出厂设置. BIOS的功能:(1)加电自检(2)硬件初始化(3)引导操作系统(BOOT) 2.MBR引导:当从本机硬盘中启动程序时,首先根据硬盘第一个扇区MBR的设置,将系统控制权

引导过程与服务控制

1111 引导过程总览 1. 开机自检(BIOS) 2. MBR引导 3.GRUB菜单 4. 加载内核 (kernel) 5. init 进程初始化 2222  系统引导级别(0-6) 0: 关机状态,使用该级别将会关闭主机 1:单用户模式,无需密码验证即可登录系统,用于系统维护 2: 字符界面的多用户模式(不支持网络访问) 3:字符界面完整多用户模式,大多数服务器运行在此级别 4: 未分配使用(省点模式) 5:图形界面的多用户模式,提供了图形桌面操作环境 6:重新启动 33333   修复