什么是“主引导记录”?
主引导记录(MBR),(1)是壹段信息,(2)保存在磁盘的第壹个扇区中,(3)大小为512字节。
作用:(1)保存引导代码,用于启动操作系统;(2)保存磁盘分区信息
注意:磁盘也可以没有主引导记录。此时(1)磁盘是“整个分区”,不存在分区(因为分区信息保存在主引导记录中)。(2)只能用于保存无据,无法安装操作系统(因为引导程序保存在主引导记录中)
主引导记录的数据结构
大小: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 分区表导致的最大大小