Skip to content

Latest commit

 

History

History
30 lines (12 loc) · 1.71 KB

day006.md

File metadata and controls

30 lines (12 loc) · 1.71 KB

day006

GUID partition table, GPT 磁盘分区表

以前磁盘的一个扇区为512bytes,现在已经出现了4k的扇区。为了兼容于所有的磁盘,因此在扇区的定义上面,大多会使用所谓的逻辑区块地址(logical block address, lba)来处理。GPT将磁盘所有区块一次LBA来规划,而第一个LBA称为LBA0。

昨天学习的MBR仅适用第一个512bytes区块来记录磁盘信息,GPT使用了34个LBA区块来记录分区信息,即34*512bytes。甚至磁盘的最后33个LBA也被拿作备份使用。

GPT分区表结构示意图

LBA0:MBR的兼容区。

与MBR模式相似的,这个兼容区块也分为两部分,前446bytes储存第一阶段的开机管理程序。而在后面的64bytes中,mbr是用来储存磁盘的分区表,而在GPT中的这个兼容区里,该64bytes仅表示该磁盘作为GPT使用。

LBA1:GPT表头记录。

记录了分区表本身的位置与大小,同时记录了备份用的GPT分区(前面谈到的最后34个LBA分区)放置的位置,同时放置了分区表的检验机制码(CRC32),操作系统可以根据这个验证码来判断GPT是否正确。

LBA2-33:实际记录分区信息处。

从LBA2区块开始,每一个LBA都可以记录4笔分区记录,所以在默认情况下,总共可以有4*32=128笔分区记录。因为每个LBA有512bytes,因此每笔记录用到128bytes的空间,除了每笔记录做需要的标识符与相关的记录之外,GPT在每笔记录中分别提供64bits来记录开始/结束的扇区号码。

GUID模式下的硬盘的每个分区都可以单独格式化。