硬盘的GPT分区表

风行水上 @ 2013-11-26 18:12:15
标签:

    由于MBR自身不能支持大于2TB硬盘的限制,GPT分区表正在逐渐取代MBR分区表。

    GPT的全称是GUID Partition Table,保存在硬盘的第二个扇区(索引为1)开始的位置。

    GTP分区表通常默认支持描述128个分区,每个分区描述记录占用128个字节。从第三个扇区开始,总共占用128*128/512=32个扇区。

    所以,真正用于分区的磁盘空间是从第34个扇区(LBA=34)开始。

    GPT分区表通常会在磁盘的结尾保存一份自己的备份。

    GPT分区表的数据结构可以参考 http://app.noyesno.net/bin2struct/struct/GPT

    分区类型

    GPT里的分区用一个GUID表示分区类型(在MBR里是用一个字节)。

    比如Linux filesystem的分区类型是0FC63DAF-8483-4772-8E79-3D69D8477DE4

    一个有意思的分区类型是"BIOS boot partition",它的分区类型GUID是21686148-6449-6E6F-744E-656564454649。对应的ascii码字符串是Hah!IdontNeedEFI

    GPT和MBR

    Protective MBR

    有了GPT分区表之后,为了避免有些软件误操作MBR扇区,通常会建立一个Protective MBR。

    在这个MBR里,会把整个磁盘划分为一个分区,并把分区类型设置为EEh

    Hybrid MBR

    某些操作系统支持GTP分区,但我们可能又需要通过MBR来引导另一个系统——比如BootCamp启动Windows。这时需要在MBR里反映出相应的分区。这种类型的MBR叫做Hybrid MBR(混合MBR)。

    GPT和GRUB

    因为GPT分区表是紧跟在MBR之后的,使得GRUB没有地方存放自己的代码。

    如果需要在BIOS模式下加载GRUB,就需要专门为GRUB创建一个分区。

    标签:

      分享到:
      comments powered by Disqus

      27/29ms