Centos的启动流程学习
Centos 6 的启动流程:
POST ---> Boot sequence(BOIS) ---> Boot loader (MBR) ---> kernel(ramdiskfs) ---> rootfs ---> switch root ---> /sbin/init ---> 设定设置默认级别 ---> 系统初始化脚本 ---> 关闭或启动对应服务下的服务 --->启动终端
1.post #加电自检
当主机一接通电源,CPU自动加载主板ROM的程序,对电脑基本输入输出设备进行检查,查看是否具备运行环境。
2. Boot sequence #启动顺序,查找主引导文件
按次序查找可引导的设备,第一个有引导程序的设备为本次启动的设备;
bootloader(引导加载器)
windows :ntloader
linux: lilo (lilinux loader)
grub (grand uniform bootloader)
作用:提供一个接口,可以让用户选择要启动的内核或系统,选定内核加载到特定内存空间,解压、展开、之的把系统控制权移交给内核;
MBR: Master Boot Record ----->512bytes
前446bytes为bootloader 64bytes为fat 2bytes为标记55AA
GRUB: bootloader : 1st stage
partition: filesystem driver 1.5 stage
partition:/boot/grub 2nd stage
3.kernel #加载内核 按需要借助于内存空间的虚拟磁盘(ramdiskfs)
自身初始化:初始化可识别的所有硬件设备;
加载硬件驱动程序;
以只读方式挂载要文件系统;
在用户空间运行第一个应用程序/sbin/init
4.rootfs #只读挂载根文件系统;