系统开机过程 首先,按下电源时开始上电自检即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)提醒用户这是最后一个 运行的脚本,例改变主机名