Linux操作系统奥秘01-系统引导(MBR - 硬盘的0磁道)

时间:2022-02-22 02:34:50

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。