GUID磁碟分割表

GUID磁碟分割表（英語：GUID Partition Table，缩写：GPT）是使用通用唯一标识符(也称为全局唯一标识符(GUID))对物理计算机存储设备(例如硬盘驱动器或固态驱动器)的分区表进行布局的标准。作为统一可扩展固件接口(UEFI)标准的一部分(统一可扩展固件接口论坛建议其為個人電腦BIOS的替代品)，由于主引导记录(MBR)分区表的限制，它也被用在一些BIOS。主引导记录(MBR)分区表使用32位用于传统512字节磁盘扇区的逻辑块寻址(LBA)。 对于那些扇区为512字节的磁盘，MBR分区表不支持容量大于2.2TB（2.2×1012字节）的分区。然而，一些硬盘制造商（诸如希捷和西部数据）注意到这个局限性，并且将他们的容量较大的磁盘升级到4KB的扇区，这意味着MBR的有效容量上限提升到16 TiB。 这个看似“正确的”解决方案，在临时地降低人们对改进磁盘分配表的需求的同时，也给市场带来关于在有较大的块（block）的设备上从BIOS启动时，如何最佳的划分磁盘分区的困惑。GPT分配64bits给逻辑块地址，因而使得最大分区大小在264-1个扇区成为可能。对于每个扇区大小为512字节的磁盘，那意味着可以有9.4ZB（9.4×1021字节）或16 EiB-1个512字节（9,444,732,965,739,290,426,880=18,446,744,073,709,551,615（264-1）个扇区×512（29）字节每扇区）。 截止至2010年，大多数操作系统对GPT均有所支持，尽管包括Mac OS X和Windows在内的一些仅支持在EFI基础上自GPT分区启动，见#操作系统支持。 在MBR硬盘中，分区信息直接存储于主引导记录（MBR）中（主引导记录中还存储着系统的引导程序）。但在GPT硬盘中，分区表的位置信息储存在GPT头中。但出于兼容性考虑，硬盘的第一个扇区仍然用作MBR，之后才是GPT头。 跟现代的MBR一样，GPT也使用逻辑区块位址（LBA）取代了早期的CHS寻址方式。传统MBR信息存储于LBA 0，GPT头存储于LBA 1，接下来才是分区表本身。64位Windows操作系统使用16,384字节（或32扇区）作为GPT分区表，接下来的LBA 34是硬盘上第一个分区的开始。 苹果公司曾经警告说：“不要假定所有设备的块大小都是512字节。”一些现代的存储设备如固态硬盘可能使用1024, 2048或4096扇区。 使用英特尔架构的苹果机也使用GPT。 为了减少分区表损坏的风险，GPT在硬盘最后保存了一份分区表的副本。 在GPT分区表的最开头，出于兼容性考虑仍然存储了一份传统的MBR，用来防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据，这个MBR也叫做保护MBR。在支持从GPT启动的操作系统中，这里也用于存储第一阶段的启动代码。在这个MBR中，只有一个标识为0xEE的分区，以此来表示这块硬盘使用GPT分区表。不能识别GPT硬盘的操作系统通常会识别出一个未知类型的分区，并且拒绝对硬盘进行操作，除非用户特别要求删除这个分区。这就避免了意外删除分区的危险。另外，能够识别GPT分区表的操作系统会检查保护MBR中的分区表，如果分区类型不是0xEE或者MBR分区表中有多个项，也会拒绝对硬盘进行操作。 在使用MBR/GPT混合分区表的硬盘中，这部分存储了GPT分区表的一部分分区（通常是前四个分区），可以使不支持从GPT启动的操作系统从这个MBR启动，启动后只能操作MBR分区表中的分区。如早期Boot Camp就是使用这种方式启动Windows 7。 分区表头定义了硬盘的可用空间以及组成分区表的项的大小和数量。在使用64位Windows Server 2003的机器上，最多可以创建128个分区，即分区表中保留了128个项，其中每个都是128字节。（EFI标准要求分区表最小要有16,384字节，即128个分区项的大小） 分区表头还记录了这块硬盘的GUID，记录了分区表头本身的位置和大小（位置总是在LBA 1）以及备份分区表头和分区表的位置和大小（在硬盘的最后）。它还储存着它本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错，如果出错了，可以使用软件从硬盘最后的备份GPT中恢复整个分区表，如果备份GPT也校验错误，硬盘将不可使用。所以GPT硬盘的分区表不可以直接使用16进制编辑器修改。 主分区表和备份分区表的头分别位于硬盘的第二个扇区（LBA 1）以及硬盘的最后一个扇区。备份分区表头中的信息是关于备份分区表的。 GPT分区表使用简单而直接的方式表示分区。一个分区表项的前16字节是分区类型GUID。例如，EFI系统分区的GUID类型是{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}。接下来的16字节是该分区唯一的GUID（这个GUID指的是该分区本身，而之前的GUID指的是该分区的类型）。再接下来是分区起始和末尾的64位LBA编号，以及分区的名字和属性。 ^ 本表中的GUID使用小端序表示。例如，EFI系統分區的GUID在這裡寫成C12A7328-F81F-11D2-BA4B-00A0C93EC93B但實際上它對應的16字節的序列是28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B——只有前3部分的字節序被交換了。 a b Linux和Windows的数据分区使用相同的GUID。 a b Solaris系统中/usr分区的GUID在Mac OS X上被用作普通的ZFS分区。 ^ 具体定义见src/sys/sys/disklabel_gpt.h（页面存档备份，存于互联网档案馆）。NetBSD的GUID在单独定义之前曾经使用过FreeBSD的GUID。 在Win10 1703及更高版本，执行命令“mbr2gpt /convert /disk:盘号 /allowfullos” 或者使用DiskGenius等軟件將MBR轉換為GPT。 主引导记录 GUID 硬盘分区 可扩展固件接口 BIOS Microsoft TechNet: Disk Sectors on GPT Disks Microsoft TechNet: Using GPT Drives on x86-64 Systems（页面存档备份，存于互联网档案馆） Apple Developer Connection: Secrets of the GPT （页面存档备份，存于互联网档案馆） Make the most of large drives with GPT and Linux （页面存档备份，存于互联网档案馆） GPT fdisk : Information on Hybrid GPT-MBR, Converting MBR and BSD disklabels to GPT and Booting from GPT disks （页面存档备份，存于互联网档案馆） Microsoft : FAQs on Using GPT disks in Windows（页面存档备份，存于互联网档案馆） A forum post describing steps to modify existing Windows x64 BIOS-MBR based installations to boot from UEFI-GPT 仅SP1、SP2 在多硬盘启动环境下，非UEFI引导需要MBR格式的引导程序（启动分区）；系统分区可使用GPT格式。 Solaris 的/usr的 GUID 也用作 macOS 的 ZFS 通用 GUID。 FAQ: Drive Partition Limits (PDF). UEFI Forum. [TEXT]. （原始内容 (pdf)存档于2013-03-22）.  请检查|access-date=中的日期值 (帮助) Bill Boswell. FAQ: Drive Partition Limits. Redmondmag.com. 2002-07-01 [ZPT]. （原始内容存档于2010-10-01）. GPT disks also support very large partitions thanks to a 64-bit Logical Block Address scheme. A logical block corresponds to one sector, or 512 bytes, yielding a maximum theoretical capacity of eight zettabytes,  请检查|access-date=中的日期值 (帮助) Technical Note TN2166: Secrets of the GPT. Apple. [2010-06-25]. （原始内容存档于2008-05-18）.  Western Digital’s Advanced Format: The 4K Sector Transition Begins. Anandtech. [2010-06-25]. （原始内容存档于2010-03-23）.  Ubuntu on MacBook. Ubuntu Community Documentation. [2010-06-25]. （原始内容存档于2021-01-29）.  GNU Parted FAQ. [2017-09-22]. （原始内容存档于2020-08-09）.  mklabel - GNU Parted Manual. [2017-09-22]. （原始内容存档于2020-02-20）.  fdisk: add GPT support. kernel.org. 2013-09-27 [2013-10-18]. （原始内容存档于2017-02-22）.  Davidlohr Bueso. fdisk updates and GPT support. 2013-09-28 [2013-10-18]. （原始内容存档于2013-10-19）.  Myths and Facts About Intel Macs. rEFIt. [2010-06-25]. （原始内容存档于2019-04-21）.  Booting from a ZFS Root File System. [2017-09-22]. （原始内容存档于2020-04-22）.  idisk(1M) (PDF). Hewlett-Packard. [永久失效連結] Windows and GPT FAQ. Microsoft. [2017-09-22]. （原始内容存档于2017-09-22）.  32位Windows 8支持通过UEFI从GPT硬盘启动。. [2017-09-22]. （原始内容存档于2017-09-22）.  Microsoft raises the speed limit with the availability of 64-bit editions of Windows Server 2003 and Windows XP Professional. [2017-09-22]. （原始内容存档于2010-11-10）.