PC下的引导流程:
当系统是第一次引导或者复位时,处理器从一个通用地址处开始执行代码,在PC中,该地址位于存储在母板的闪存的BIOS中。BIOS可以决定选择引导哪种设备。
当找到引导设备之后,加载第一阶段的BootLoader到RAM中开始执行,它的长度需小于512字节(单一扇区的大小),这的任务是加载第二阶段的BootLoader。
当加载第二阶段的BootLoader到RAM中并开始执行时,Linux镜像和一个可选的RAM硬盘(临时根文件系统)会加载到RAM中。当镜像加载完成后,第二阶段的BootLoader将控制权移交给内核镜像,然后内核镜像开始自解压和初始化。在这一步骤中,第二阶段的BootLoader将会检查系统硬件,枚举硬件设备,挂载根设备并加载必要的内核模块。完成后,第一个用户程序(init)开始执行系统初始化。