什么是“主引导记录”?

主引导记录(MBR),(1)是壹段信息,(2)保存在磁盘的第壹个扇区中,(3)大小为512字节。

作用:(1)保存引导代码,用于启动操作系统;(2)保存磁盘分区信息

注意:磁盘也可以没有主引导记录。此时(1)磁盘是“整个分区”,不存在分区(因为分区信息保存在主引导记录中)。(2)只能用于保存无据,无法安装操作系统(因为引导程序保存在主引导记录中)

主引导记录的数据结构

「MBR」- 主引导记录(Master Boot Record) @20210317_MBR

大小:512 BYTE

组成:(1)0-445,引导程序;(2)4x16=64,分区表;(3)510-511,AA55(幻数);

分区表数据结构

Status,1 bytes,分区状态,是否可用于启动;
Start,3 bytes,在分区中起初的绝对扇区的CHS地址;
Partition Type,1 byte,分区类型;
End,3 bytes,在分区中最终的绝对扇区的CHS地址;
LBA,4 bytes,在分区中起初的绝对扇区的LBA;
Partition Length,4 bytes,在分区中的扇区数;

在MBR中,分区表的组织限制了一个磁盘最大可寻址空间为「2TiB」。「MBR」不在分区中,它在第一个分区之前。

在MBR中,通常最多只能有四个主分区。某些操作系统和工具可以扩展到五个、八个、十六个,但是我们不讨论这些情况。

经典通用MBR结构

下面是经典通用MBR结构:

DEC Description Size (bytes)
0 - 445 Bootstrap code area 446
446 - 461 Partition entry No.1 16
462 - 477 Partition entry No.2 16
478 - 493 Partition entry No.3 16
494 - 509 Partition entry No.4 16
510 - 511 Boot signature 2

而「现代标准MBR结构」与「经典通用MBR结构」整体结构是类似的,因此这里不对「现代标准MBR结构」进行描述。

由「Bootstrap code area」与「Boot signature」都不是我现在想关心的地方,所以都跳过。我们来看看「Partition entry」部分。

# Partition entry

TODO 分区表导致的最大大小