linux系统启动过程
启动过程可以分为6步:POST–>BIOS–>MBR(GRUB)–>Kernel–>Init–>Runlevel。POST为Power On Self test,MBR(GRUB)其实也可以分开来讲,MBR的作用是去引导记录,为GRUB做准备。
各过程解析
POST
POST为加电自检的过程,检查cpu、内存、磁盘等硬件单元。一般来说,这个步骤可以归类到BIOS中。
BIOS
BIOS全称Basic Input/Output System,基本输入输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检的过程,然后会加载bios程序到内存中,BIOS一个主要的功能就是存储磁盘的启动顺序,BIOS会按照启动顺序去查找第一个磁盘头的MBR信息,并加载和执行MBR中的BootLoader程序,若第一个磁盘不存在MBR,则会查找第二个磁盘,一旦BootLoader程序被检测并加载内存中,BIOS就将控制权交接给了BootLoader程序。
MBR
MBR全称Master Boot Record,MBR存储于磁盘的头部,大小为512bytes,其中,446bytes用于存储BootLoader程序,64bytes用于存储分区表信息,最后2bytes用于MBR的有效性检查。
GRUB
GRUB(Grand Unified Bootloader),多系统启动程序,其执行过程可分为三个步骤:
- Stage1:这个其实就是MBR,它的主要工作就是查找并加载第二段Bootloader程序(stage2),但系统在没启动时,MBR根本找不到文件系统,也就找不到stage2所存放的位置,因此,就有了stage1_5
- Stage1_5:该步骤就是