Boot:
1.系统PowerOn
2.BIOS在完成硬件初始化以及POST
3.BIOS加载MBR
4.GRUB->GRUB or kernal
MBR
MBR即主引导记录,是在BIOS中选择的启动设备的0扇区。
MBR包括3个部分,一共512BYTE:
(1)Magic Number 2BYTE
(2)Partition Table 64BYTE
(3)BootLoader 446BYTE
BootLoader
GRUB是BootLoader的一种,可以存在于MBR中,有2个功能:
1.加载扇区
每个分区的第一个扇区可以作为引导扇区,MBR中的GRUB可以加载别的引导扇区中的BootLoader(比如另一个GRUB)。
2.加载Kernel
通过磁盘上的config文件,找到对应的Kernel文件并加载交权。
Partition Table
用于保存分区信息,可以支持4个主分区,或者3个主分区+1个扩展分区。
Magic Number
永久填入固定值55AA,用于鉴别该区域是MBR,注意55AA对应的二进制串"0101 0101 1010 1010",
实际上是0-1间隔保存,当磁盘发生跳变时,会使得MBR失效。
对于linux中的指令:fdisk /mbr 只是重新在BootLoader区域写入一个干净的GRUB,并不会修复
Partition Table。