开机自检 -> BIOS -> MBR -> Boot loader -> kernel -> init process -> login
1. 开机自检:主要检测计算机的硬件设备是否有损坏。
2. BIOS:
BIOS中记录了主板的芯片集及相关设置,如CPU与接口设备的通信频率,启动设备的搜索顺序等。计算机若要顺利启动,必须要先读取BIOS设置。
3. MBR:
根据BIOS中设置的引导次序,开始在第一台启动设备中读取起始的512 byte(
MBR
),MBR会告诉计算机从该设备的
某一个分区
(
partition
)来装载
引导加载程序(boot loader)。
4. Boot loader: Boot loader加载内核。Boot loader储存操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等,常用的boot loader有GRUB和LILO。系统根据Boot loader的配置信息,选择需要加载的内核。
5. Kernel:加载内核。这里主要是完成系统
硬件探测及硬件
驱动的初始化,并且以读写的方式挂载根文件系统(
根切换)。
内核会启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。
6. init process:
初始化进程,该进程依据inittab文件来确定运行等级,再根据运行等级来确定需要加载的开机启动程序。
7. login:
开机启动程序加载完毕,用户登录。