天天看点

系统开机过程

系统开机过程

  首先,按下电源时开始上电自检即POST,是根据主板上CMOS中

的BIOS检查周边的硬件设备的健康状况,如:主板,内存,

显卡,CPU等。

  若正常,BIOS开始初始化,在BIOS里有启动次序,就是说在

系统启动时先启动哪些有一定的优先级,是根据BOOT SEQ

判定,然后加载对应存储设备的MBR。

  硬盘上第0磁盘的一个扇区被称为RMB,MBR里面最重要的是

bootloader,它是一段程序很小446个字节,但在Linux里开机

引导界面还有图形还可以引导很多操作系统,那是因为MBR分

成三段,bootloader仅放第一个段,第一段什么也不做只用

引导第二段,在系统启动时bootloader默认会找到标识活动

分区的那个分区加载操作系统的内核,如果加载的到就把内核

读到内存中,在内存中展开并让它运行起来,内核加载后就开

始内核的初始化Kernel initalization,内核会在物理内存中

展开并运行起来。

  若完成后bootloader把权利交给内核,此时内核就拥有整

个系统的控制权利,内核获得控制权后加载外围设备的驱动并

进行初始化,但内核很小,固化的驱动很少,但磁盘启动是必

不可少的,然后以只读的方式加载根文件系统,内核加载后

运行的第一个程序是/sbin/init,该文件会读取/etc/inittab

文件,并依据此文件来初始化工作。

  /etc/inittab文件最主要的作用是设定Linux的运行级别,

有7个运行级别,

  0:关机

  1:单用户模式,不需要输入账户密码,直接登录root用户,

很多服务不启用,一般用于修复,维护模式,一般用S或或

single标识

  2:多用户模式,不启动文件服务

  3:完全多用户模式,正常模式,默认非图形界面,可用作

默认级别

  4:预留,没有被使用

  5:完全多用户模式,正常模式,启动图形界面Xil

  6:重启reboot

  在等级设定完成之后,Linux系统执行第一个用户层文件

/etc/rc.d/rc.sysinit脚本程序,它可以设定网络配置,设定

/proc,启动/swap分区等,所有的启动流程都有。/etc/rc.d/rc

会利用/etc/rc.d/rc[0-6].d/目录下所有脚本启动或停止服务,

K表示kill,S表示start,数字越小优先级越高

/etc/rc.local(/etc/rc.d/rc.local)提醒用户这是最后一个

运行的脚本,例改变主机名

继续阅读