Linux系统启动过程介绍

来源:互联网 发布:双程2网络剧百度云盘 编辑:程序博客网 时间:2024/06/10 17:00

学习操作系统有必要了解一下系统的启动过程,这样在面对各种系统故障的时候能快速定位解决问题,下面以Centos来分析linux系统的启动过程。

1、BIOS自检:当开机的时候,系统进行bios自检工作,当识别出第一块硬盘(IDE SCSI)及其空间之后,系统控制将从BIOS传递到引导装载程序

2、引导装载程序(grub lilo):装载第一块硬盘的前512个字节的物理数据扇区即主引导区MBR到内存中,位于此扇区开始位置的引导装载程序将接管系统控制。

(也可以这么理解,在第一步完成之后,加载MBR到内存中,引导装载程序接管系统管制)

3、加载RAM盘:提供了一个最小的linux环境,可在装入实际根文件系统之前执行程序。

4、RAM盘运行init:此程序执行装入真正的根文件系统所需的所有操作。

     ***装载内核模块:要访问最终的根文件系统,内核需要装载适当的文件系统驱动程序

     ***管理RAID和LVM:若系统配置在RAID或LVM下保存根文件系统,那么init将设置LVM或RAID以支持稍后对根文件系统的访问

    ****加载最终的根文件系统:找到根文件系统后,对其进行错误检查并装入。

5、运行根文件系统上的init:如果上面四步都成功的话,将清除RAM盘并读取系统引导配置文件/etc/inittab执行真正的根文件系统上的init 程序

 

 有关术语说明:

      一、/etc/rc.d/rc.sysinit:指系统初始化脚本

              初始化的相关内容为:

              1、挂载/proc文件系统

              2、设置系统时钟

              3、一般系统环境变量设置

              4、初始化妆USB和HID

              5、设置PnP

              6、加载键盘映射、加载系统字体、加载系统模块

              7、初始化RAID、初始化卷映射

              8、检查文件系统、挂载文件系统

              9、激活磁盘限额、激活SWAP分区

              10、初始化串口设备

              11、生成系统启动信息log文件

二、/etc/rc.d/rcX.d/[KS]*:根据运行级别配置服务

   K表示终止以K开头的服务

  S表示启动以S开头的服务

 

三、/etc/rc.d/rc.local:执行本地特殊配置

其他:不同运行级别的特殊服务

 mingetty:除了运行级别1

 xdm/gdm/kdm:运行级别5

 

init进程

init 进程由linux内核引导运行的,是系统运行中第一个进程,其进程号永远都是1。init 进程运行后将安装其配置文件,引导运行系统所需的其他进程, init 进程将作为这些进程的父进程。

init进程在运行时读取系统引导配置文件/etc/inittab中的信息。

下面是/etc/inittab中的配置信息:如图示

 

定义各种运行级别

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:

系统初始化
si::sysinit:/etc/rc.d/rc.sysinit

不同级别的脚本调用
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

在2、3、4、5运行级别中启动6个虚拟控制台
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

在5运行级别中启动xdm管理器
x:5:respawn:/etc/X11/prefdm -nodaemon

6、显示源文件

7、登录