2.2 LINUX 服务器启动流程详解
- 启动第一步:加载BLOS(因为BLOS包含了cpu的相关信息,设备启动顺序信息,硬盘信息,内存信息、时钟信息。计算机就知道应该读取哪个硬件设备
- 启动第二步:读取MBR:系统找到BLOS指定硬盘的MBR后,会将其复制到0x7c00地址所在的物理内存中,复制的内容是BOOT Loader (lilo或者GRUB)
- 启动第三步:BOOT Loader (lilo、spfdisk、GRUB)以GRUB举例 :读取内存中的GRUB配置信息(menu.lst或grub.lst),并按照配置信息来启动不同的操作系统.
- 启动第四步:加载内核:系统将解压后的内核放置在内存中,并调用start kernel() 函数来初始化各种设备
- 启动第五步:用户层init根据inittab文件来设定运行等级,并依据文件来初始化工作
- /etc/inittab 文件的作用是设定linux的运行等级
- 0:关机
- 1:单用户模式
- 2:无网络支持的多用户模式
- 3:有网络支持的多用户模式
- 4:保留,未使用
- 5.有网络支持有X-winodws 支持的多用户模式
- 6:重新引导系统,即重启
- 启动第六步:init进程执行rc.sysint:在设定了运行等级后,linux 系统执行的第一个用户层文件就是/etc/rc.d/rc.sysint脚本程序,他的工作有许多:设定PATH 、设定网络配置,启动swap分区等等
- 启动第七步:加载内核模块:依据/etc/modules.conf 文件后者/etc/modules.d目录来装载内核模块
- 启动第八步:执行不同的脚本程序,系统会执行Rc0.d到Rc6.d中相应的脚本程序
- 启动第九步:执行etc/rc.d/rc.local ,rc.local linux留给用户进行个性化的地方,你可以把启动的东西放到这里
- 启动第十步:执行/bin/login程序,进入登录状态
- centos6启动过程
-