系统的启动流程大致分为如下几步骤:
1、post加电自检(PowerOnSelfTest)
2、BIOS(Boot Sequence)
BIOS目前支持两种启动方式,legacy 和uefi。uefi和legacy是两种不同的引导方式。uefi是新式的BIOS,legacy是传统BIOS。在UEFI模式下安装的系统,只能用UEFI模式引导;同理,在Legacy模式下安装的系统,也只能在legacy模式下进系统。legacy模式下,BIOS通过引导存储控制器的legacy optionrom来识别boot drive,也就是系统盘。而uefi下,bios会先加载存储控制器的uefi driver,并通过uefi driver来识别系统盘。
在uefi BIOS中,是不使用MBR分区表的,以下仅讨论legacy BIOS。
3、MBR(BootLoader),分为三部分进行:
Stage1(被装载MBR当中) 目的是为了引导第二阶段
Stage1.5(/boot/grub/Stage1_5) 识别常见不同类型的文件系统
Stage2(/boot/grub/Stage2) 借助配置件/boot/grub/grub.conf引导内核
4、加载内核Kernel
设备探测
驱动初始化(加载initramfs)文件中装载驱动模块,为内核提供访问根文件系统的基本驱动能力
从内存中的虚拟根文件系统过渡到磁盘上真正的根文件系统
装载第一个进程init
5、init初始化
主要工作任务:
运行系统初始化脚本,运行制定运行级别目录下的脚本,启动6个虚拟终端
详情请看这里