GUID Partition Table
The GUID Partition Table (GPT) is a standard for the layout of partition tables of a physical computer storage device, such as a hard disk drive or solid-state drive, using universally unique identifiers, which are also known as globally unique identifiers (GUIDs). Forming a part of the Unified Extensible Firmware Interface (UEFI) standard (Unified EFI Forum-proposed replacement for the PC BIOS), it is nevertheless also used for some BIOS systems, because of the limitations of master boot record (MBR) partition tables, which use 32 bits for logical block addressing (LBA) of traditional 512-byte disk sectors.
All modern personal computer operating systems support GPT. Some, including macOS and Microsoft Windows on the x86 architecture, support booting from GPT partitions only on systems with EFI firmware, but FreeBSD and most Linux distributions can boot from GPT partitions on systems with either the BIOS or the EFI firmware interface.
History
The Master Boot Record (MBR) partitioning scheme, widely used since the early 1980s, imposed limitations for use of modern hardware. The available size for block addresses and related information is limited to 32 bits. For hard disks with 512‑byte sectors, the MBR partition table entries allow a maximum size of 2 TiB (2³² × 512‑bytes) or 2.20 TB (2.20 × 10¹² bytes).[1]
In the late 1990s, Intel developed a new partition table format as part of what eventually became the Unified Extensible Firmware Interface (UEFI). The GUID Partition Table is specified in chapter 5 of the UEFI 2.8 specification.[2] GPT uses 64 bits for logical block addresses, allowing a maximum disk size of 264 sectors. For disks with 512‑byte sectors, the maximum size is 8 ZiB (264 × 512‑bytes) or 9.44 ZB (9.44 × 10²¹ bytes).[1] For disks with 4,096‑byte sectors the maximum size is 64 ZiB (264 × 4,096‑bytes) or 75.6 ZB (75.6 × 10²¹ bytes).
In 2010, hard-disk manufacturers introduced drives with 4,096‑byte sectors (Advanced Format).[3] For compatibility with legacy hardware and software, those drives include an emulation technology (512e) that presents 512‑byte sectors to the entity accessing the hard drive, despite their underlying 4,096‑byte physical sectors.[4]
Features
Like MBR, GPTs use logical block addressing (LBA) in place of the historical cylinder-head-sector (CHS) addressing. The protective MBR is stored at LBA 0, and the GPT header is in LBA 1. The GPT header has a pointer to the partition table (Partition Entry Array), which is typically at LBA 2. Each entry on the partition table has a size of 128 bytes. The UEFI specification stipulates that a minimum of 16,384 bytes, regardless of sector size, are allocated for the Partition Entry Array.[5] Thus, on a disk with 512-byte sectors, at least 32 sectors are used for the Partition Entry Array, and the first usable block is at LBA 34 or higher, while on a 4,096-byte sectors disk, at least 4 sectors are used for the Partition Entry Array, and the first usable block is at LBA 6 or higher.
MBR variants
Protective MBR (LBA 0)
For limited backward compatibility, the space of the legacy Master Boot Record (MBR) is still reserved in the GPT specification, but it is now used in a way that prevents MBR-based disk utilities from misrecognizing and possibly overwriting GPT disks. This is referred to as a protective MBR.[6]
A single partition of type EEh, encompassing the entire GPT drive (where "entire" actually means as much of the drive as can be represented in an MBR), is indicated and identifies it as GPT. Operating systems and tools which cannot read GPT disks will generally recognize the disk as containing one partition of unknown type and no empty space, and will typically refuse to modify the disk unless the user explicitly requests and confirms the deletion of this partition. This minimizes accidental erasures.[6] Furthermore, GPT-aware OSes may check the protective MBR and if the enclosed partition type is not of type EEh or if there are multiple partitions defined on the target device, the OS may refuse to manipulate the partition table.[7]
If the actual size of the disk exceeds the maximum partition size representable using the legacy 32-bit LBA entries in the MBR partition table, the recorded size of this partition is clipped at the maximum, thereby ignoring the rest of the disk. This amounts to a maximum reported size of 2 TiB, assuming a disk with 512 bytes per sector (see 512e). It would result in 16 TiB with 4 KiB sectors (4Kn), but since many older operating systems and tools are hard coded for a sector size of 512 bytes or are limited to 32-bit calculations, exceeding the 2 TiB limit could cause compatibility problems.[6]
Hybrid MBR (LBA 0 + GPT)
In operating systems that support GPT-based boot through BIOS services rather than EFI, the first sector may also still be used to store the first stage of the bootloader code, but modified to recognize GPT partitions. The bootloader in the MBR must not assume a sector size of 512 bytes.[6]
Partition table header (LBA 1)
Offset | Length | Contents |
---|---|---|
0 (0x00) | 8 bytes | Signature ("EFI PART", 45h 46h 49h 20h 50h 41h 52h 54h or 0x5452415020494645ULL[lower-alpha 1] on little-endian machines) |
8 (0x08) | 4 bytes | Revision 1.0 (00h 00h 01h 00h) for UEFI 2.8 |
12 (0x0C) | 4 bytes | Header size in little endian (in bytes, usually 5Ch 00h 00h 00h or 92 bytes) |
16 (0x10) | 4 bytes | CRC32 of header (offset +0 to +0x5b) in little endian, with this field zeroed during calculation |
20 (0x14) | 4 bytes | Reserved; must be zero |
24 (0x18) | 8 bytes | Current LBA (location of this header copy) |
32 (0x20) | 8 bytes | Backup LBA (location of the other header copy) |
40 (0x28) | 8 bytes | First usable LBA for partitions (primary partition table last LBA + 1) |
48 (0x30) | 8 bytes | Last usable LBA (secondary partition table first LBA − 1) |
56 (0x38) | 16 bytes | Disk GUID in mixed endian[7] |
72 (0x48) | 8 bytes | Starting LBA of array of partition entries (usually 2 for compatibility) |
80 (0x50) | 4 bytes | Number of partition entries in array |
84 (0x54) | 4 bytes | Size of a single partition entry (usually 80h or 128) |
88 (0x58) | 4 bytes | CRC32 of partition entries array in little endian |
92 (0x5C) | * | Reserved; must be zeroes for the rest of the block (420 bytes for a sector size of 512 bytes; but can be more with larger sector sizes) |
The partition table header defines the usable blocks on the disk. It also defines the number and size of the partition entries that make up the partition table (offsets 80 and 84 in the table).[2]: 119
Partition entries (LBA 2–33)
Offset | Length | Contents |
---|---|---|
0 (0x00) | 16 bytes | Partition type GUID (mixed endian[7]) |
16 (0x10) | 16 bytes | Unique partition GUID (mixed endian) |
32 (0x20) | 8 bytes | First LBA (little endian) |
40 (0x28) | 8 bytes | Last LBA (inclusive, usually odd) |
48 (0x30) | 8 bytes | Attribute flags (e.g. bit 60 denotes read-only) |
56 (0x38) | 72 bytes | Partition name (36 UTF-16LE code units) |
After the header, the Partition Entry Array describes partitions, using a minimum size of 128 bytes for each entry block.[8] The starting location of the array on disk, and the size of each entry, are given in the GPT header. The first 16 bytes of each entry designate the partition type's globally unique identifier (GUID). For example, the GUID for an EFI system partition is C12A7328-F81F-11D2-BA4B-00A0C93EC93B. The second 16 bytes are a GUID unique to the partition. Then follow the starting and ending 64 bit LBAs, partition attributes, and the 36 character (max.) Unicode partition name. As is the nature and purpose of GUIDs and as per RFC 4122, no central registry is needed to ensure the uniqueness of the GUID partition type designators.[9][2]: 2200
The 64-bit partition table attributes are shared between 48-bit common attributes for all partition types, and 16-bit type-specific attributes:
Bit | Content |
---|---|
0 | Platform required (required by the computer to function properly, OEM partition for example, disk partitioning utilities must preserve the partition as is) |
1 | EFI firmware should ignore the content of the partition and not try to read from it |
2 | Legacy BIOS bootable (equivalent to active flag (typically bit 7 set) at offset +0h in partition entries of the MBR partition table)[10] |
3–47 | Reserved for future use |
48–63 | Defined and used by the individual partition type |
Microsoft defines the type-specific attributes for basic data partition as:[11][12]
Bit | Content |
---|---|
60 | Read-only |
61 | Shadow copy (of another partition) |
62 | Hidden |
63 | No drive letter (i.e. do not automount) |
Google defines the type-specific attributes for Chrome OS kernel as:[13]
Bit | Content |
---|---|
56 | Successful boot flag |
55–52 | Tries remaining |
51–48 | Priority (15: highest, 1: lowest, 0: not bootable) |
Operating-system support
UNIX and Unix-like systems
OS family | Version or edition | Platform | Read and write support | Boot support | Note |
---|---|---|---|---|---|
FreeBSD | Since 7.0 | IA-32, x86-64, ARM | Yes | Yes | In a hybrid configuration, both GPT and MBR partition identifiers may be used. |
Linux | Most of the x86 Linux distributions Fedora 8+ and Ubuntu 8.04+[14] |
IA-32, x86-64 | Yes | Yes | Tools such as gdisk, GNU Parted,[15][16] util-linux v2.23+ fdisk,[17][18] SYSLINUX, GRUB 0.96 + patches and GRUB 2 have been GPT-enabled. Limited to 256 partitions per disk.[19] |
macOS | Since 10.4.0 (some features since 10.4.6)[20] | IA-32, x86-64, PowerPC, Apple silicon | Yes | Yes | Only Intel and Apple silicon Macintosh computers can boot from GPT. |
MidnightBSD | Since 0.4-CURRENT | IA-32, x86-64 | Yes | Requires CSM | In a hybrid configuration, both GPT and MBR partition identifiers may be used. |
NetBSD | Since 6.0[21] | x86,[22] x86-64[23] | Yes | Yes | |
OpenBSD | Since 5.9 | x86 64 | Yes | Yes | [24] |
Solaris | Since Solaris 10 | IA-32, x86-64, SPARC | Yes | Yes | [25] |
HP-UX | Since HP-UX 11.20 | IA-64 | Yes | Yes | [26] |
Windows: 32-bit versions
Windows 7 and earlier do not support UEFI on 32-bit platforms, and therefore do not allow booting from GPT partitions.[27]
OS version | Release date | Platform | Read or write support | Boot support | Note |
---|---|---|---|---|---|
Windows XP | 2001-10-25 | IA-32 | No | No | |
Windows Server 2003 | 2003-04-24 | IA-32 | No | No | |
Windows Server 2003 SP1 | 2005-03-30 | IA-32 | Yes | No | MBR takes precedence in hybrid configuration. |
Windows Vista | 2006-07-22 | IA-32 | Yes | No | MBR takes precedence in hybrid configuration. |
Windows Server 2008 | 2008-02-27 | IA-32 | Yes | No | MBR takes precedence in hybrid configuration. |
Windows 7 | 2009-10-22 | IA-32 | Yes | No | MBR takes precedence in hybrid configuration. |
Windows 8 | 2012-08-01 | IA-32 | Yes | Requires UEFI[28] | MBR takes precedence in hybrid configuration. |
Windows 8.1 | 2013-08-27 | IA-32 | Yes | Requires UEFI[29] | MBR takes precedence in hybrid configuration. |
Windows 10 | 2015-07-29 | IA-32 | Yes | Requires UEFI[30] | MBR takes precedence in hybrid configuration. |
Windows: 64-bit versions
Limited to 128 partitions per disk.[27]
OS version | Release date | Platform | Read and write support | Boot support | Note |
---|---|---|---|---|---|
Windows XP 64-Bit Edition for Itanium systems, Version 2002 | 2001-10-25 | IA-64 | Yes | Yes | MBR takes precedence in hybrid configuration. |
Windows XP 64-Bit Edition, Version 2003 | 2003-03-28 | IA-64 | Yes | Yes | MBR takes precedence in hybrid configuration. |
Windows XP Professional x64 Edition Windows Server 2003 |
2005-04-25[31] | x64 | Yes | No | MBR takes precedence in hybrid configuration. |
Windows Server 2003 | 2005-04-25 | IA-64 | Yes | Yes | MBR takes precedence in hybrid configuration. |
Windows Vista | 2006-07-22 | x64 | Yes | Requires UEFI[lower-alpha 2] | MBR takes precedence in hybrid configuration. |
Windows Server 2008 | 2008-02-27 | x64 | Yes | Requires UEFI | MBR takes precedence in hybrid configuration. |
Windows Server 2008 | 2008-02-27 | IA-64 | Yes | Yes | MBR takes precedence in hybrid configuration. |
Windows 7 | 2009-10-22 | x64 | Yes | Requires UEFI[lower-alpha 3] | MBR takes precedence in hybrid configuration. |
Windows Server 2008 R2 | 2009-10-22 | IA-64 | Yes | Yes | MBR takes precedence in hybrid configuration. |
Windows 8 Windows Server 2012 |
2012-08-01 | x64 | Yes | Requires UEFI[32] | MBR takes precedence in hybrid configuration. |
Windows 8.1 | 2013-08-27 | x64 | Yes | Requires UEFI[33] | MBR takes precedence in hybrid configuration. |
Windows 10 | 2015-07-29 | x64 | Yes | Requires UEFI[34] | MBR takes precedence in hybrid configuration. |
Windows Server 2016 | 2016-10-12 | x64 | Yes | Requires UEFI | MBR takes precedence in hybrid configuration. |
Windows Server 2019 | 2018-10-02 | x64 | Yes | Requires UEFI | MBR takes precedence in hybrid configuration. |
Windows Server 2022 | 2021-08-18[35] | x64 | Yes | Requires UEFI | MBR takes precedence in hybrid configuration. |
Windows 11 | 2021-10-05 | x64, ARM64 | Yes | Requires UEFI | MBR takes precedence in hybrid configuration. |
Partition type GUIDs
Each partition has a "partition type GUID" that identifies the type of the partition and therefore partitions of the same type will all have the same "partition type GUID". Each partition also has a "partition unique GUID" as a separate entry, which as the name implies is a unique id for each partition.
Operating system | Partition type | Globally unique identifier (GUID)[lower-alpha 4] |
---|---|---|
— | Unused entry | 00000000-0000-0000-0000-000000000000 |
MBR partition scheme | 024DEE41-33E7-11D3-9D69-0008C781F39F | |
EFI System partition | C12A7328-F81F-11D2-BA4B-00A0C93EC93B | |
BIOS boot partition[lower-alpha 5] | 21686148-6449-6E6F-744E-656564454649 | |
Intel Fast Flash (iFFS) partition (for Intel Rapid Start technology)[36][37] | D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 | |
Sony boot partition[lower-alpha 6] | F4019732-066E-4E12-8273-346C5641494F | |
Lenovo boot partition[lower-alpha 6] | BFBFAFE7-A34F-448A-9A5B-6213EB736C22 | |
Windows | Microsoft Reserved Partition (MSR)[39] | E3C9E316-0B5C-4DB8-817D-F92DF00215AE |
Basic data partition[39][lower-alpha 7] | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 | |
Logical Disk Manager (LDM) metadata partition[39] | 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 | |
Logical Disk Manager data partition[39] | AF9B60A0-1431-4F62-BC68-3311714A69AD | |
Windows Recovery Environment[39] | DE94BBA4-06D1-4D40-A16A-BFD50179D6AC | |
IBM General Parallel File System (GPFS) partition | 37AFFC90-EF7D-4E96-91C3-2D7AE055B174 | |
Storage Spaces partition[41] | E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D | |
Storage Replica partition[42] | 558D43C5-A1AC-43C0-AAC8-D1472B2923D1 | |
HP-UX | Data partition | 75894C1E-3AEB-11D3-B7C1-7B03A0000000 |
Service partition | E2A1E728-32E3-11D6-A682-7B03A0000000 | |
Linux[43][44][45][46] | Linux filesystem data[lower-alpha 7] | 0FC63DAF-8483-4772-8E79-3D69D8477DE4 |
RAID partition | A19D880F-05FC-4D3B-A006-743F0F84911E | |
Root partition (x86)[43][44] | 44479540-F297-41B2-9AF7-D131D5F0458A | |
Root partition (x86-64)[43][44] | 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 | |
Root partition (32-bit ARM)[43][44] | 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 | |
Root partition (64-bit ARM/AArch64)[43][44] | B921B045-1DF0-41C3-AF44-4C6F280D3FAE | |
/boot partition[43][44] | BC13C2FF-59E6-4262-A352-B275FD6F7172 | |
Swap partition[43][44] | 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F | |
Logical Volume Manager (LVM) partition | E6D6D379-F507-44C2-A23C-238F2A3DF928 | |
/home partition[43][44] | 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 | |
/srv (server data) partition[43][44] | 3B8F8425-20E0-4F3B-907F-1A25A76F98E8 | |
Plain dm-crypt partition[47][48][49] | 7FFEC5C9-2D00-49B7-8941-3EA10A5586B7 | |
LUKS partition[47][48][49][50] | CA7D7CCB-63ED-4C53-861C-1742536059CC | |
Reserved | 8DA63339-0007-60C0-C436-083AC8230908 | |
FreeBSD | Boot partition[51] | 83BD6B9D-7F41-11DC-BE0B-001560B84F0F |
BSD disklabel partition[51] | 516E7CB4-6ECF-11D6-8FF8-00022D09712B | |
Swap partition[51] | 516E7CB5-6ECF-11D6-8FF8-00022D09712B | |
Unix File System (UFS) partition[51] | 516E7CB6-6ECF-11D6-8FF8-00022D09712B | |
Vinum volume manager partition[51] | 516E7CB8-6ECF-11D6-8FF8-00022D09712B | |
ZFS partition[51] | 516E7CBA-6ECF-11D6-8FF8-00022D09712B | |
nandfs partition[52] | 74BA7DD9-A689-11E1-BD04-00E081286ACF | |
macOS Darwin |
Hierarchical File System Plus (HFS+) partition | 48465300-0000-11AA-AA11-00306543ECAC |
Apple APFS container APFS FileVault volume container |
7C3457EF-0000-11AA-AA11-00306543ECAC | |
Apple UFS container | 55465300-0000-11AA-AA11-00306543ECAC | |
ZFS[lower-alpha 8] | 6A898CC3-1DD2-11B2-99A6-080020736631 | |
Apple RAID partition | 52414944-0000-11AA-AA11-00306543ECAC | |
Apple RAID partition, offline | 52414944-5F4F-11AA-AA11-00306543ECAC | |
Apple Boot partition (Recovery HD) | 426F6F74-0000-11AA-AA11-00306543ECAC | |
Apple Label | 4C616265-6C00-11AA-AA11-00306543ECAC | |
Apple TV Recovery partition | 5265636F-7665-11AA-AA11-00306543ECAC | |
Apple Core Storage Container HFS+ FileVault volume container |
53746F72-6167-11AA-AA11-00306543ECAC | |
Apple APFS Preboot partition | 69646961-6700-11AA-AA11-00306543ECAC | |
Apple APFS Recovery partition | 52637672-7900-11AA-AA11-00306543ECAC | |
Solaris illumos |
Boot partition | 6A82CB45-1DD2-11B2-99A6-080020736631 |
Root partition | 6A85CF4D-1DD2-11B2-99A6-080020736631 | |
Swap partition | 6A87C46F-1DD2-11B2-99A6-080020736631 | |
Backup partition | 6A8B642B-1DD2-11B2-99A6-080020736631 | |
/usr partition[lower-alpha 8] | 6A898CC3-1DD2-11B2-99A6-080020736631 | |
/var partition | 6A8EF2E9-1DD2-11B2-99A6-080020736631 | |
/home partition | 6A90BA39-1DD2-11B2-99A6-080020736631 | |
Alternate sector | 6A9283A5-1DD2-11B2-99A6-080020736631 | |
Reserved partition | 6A945A3B-1DD2-11B2-99A6-080020736631 | |
6A9630D1-1DD2-11B2-99A6-080020736631 | ||
6A980767-1DD2-11B2-99A6-080020736631 | ||
6A96237F-1DD2-11B2-99A6-080020736631 | ||
6A8D2AC7-1DD2-11B2-99A6-080020736631 | ||
NetBSD[53][lower-alpha 9] | Swap partition | 49F48D32-B10E-11DC-B99B-0019D1879648 |
FFS partition | 49F48D5A-B10E-11DC-B99B-0019D1879648 | |
LFS partition | 49F48D82-B10E-11DC-B99B-0019D1879648 | |
RAID partition | 49F48DAA-B10E-11DC-B99B-0019D1879648 | |
Concatenated partition | 2DB519C4-B10F-11DC-B99B-0019D1879648 | |
Encrypted partition | 2DB519EC-B10F-11DC-B99B-0019D1879648 | |
Chrome OS[54] | Chrome OS kernel | FE3A2A5D-4F32-41A7-B725-ACCC3285A309 |
Chrome OS rootfs | 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC | |
Chrome OS firmware | CAB6E88E-ABF3-4102-A07A-D4BB9BE3C1D3 | |
Chrome OS future use | 2E0A753D-9E48-43B0-8337-B15192CB1B5E | |
Chrome OS miniOS | 09845860-705F-4BB5-B16C-8A8A099CAF52 | |
Chrome OS hibernate | 3F0F8318-F146-4E6B-8222-C28C8F02E0D5 | |
Container Linux by CoreOS[55] | /usr partition (coreos-usr) | 5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6 |
Resizable rootfs (coreos-resize) | 3884DD41-8582-4404-B9A8-E9B84F2DF50E | |
OEM customizations (coreos-reserved) | C95DC21A-DF0E-4340-8D7B-26CBFA9A03E0 | |
Root filesystem on RAID (coreos-root-raid) | BE9067B9-EA49-4F15-B4F6-F36F8C9E1818 | |
Haiku[56] | Haiku BFS | 42465331-3BA3-10F1-802A-4861696B7521 |
MidnightBSD[57][lower-alpha 9] | Boot partition | 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7 |
Data partition | 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7 | |
Swap partition | 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7 | |
Unix File System (UFS) partition | 0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7 | |
Vinum volume manager partition | 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7 | |
ZFS partition | 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7 | |
Ceph[lower-alpha 10] | Journal | 45B0969E-9B03-4F30-B4C6-B4B80CEFF106 |
dm-crypt journal | 45B0969E-9B03-4F30-B4C6-5EC00CEFF106 | |
OSD | 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D | |
dm-crypt OSD | 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D | |
Disk in creation | 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE | |
dm-crypt disk in creation | 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE | |
Block | CAFECAFE-9B03-4F30-B4C6-B4B80CEFF106 | |
Block DB | 30CD0809-C2B2-499C-8879-2D6B78529876 | |
Block write-ahead log | 5CE17FCE-4087-4169-B7FF-056CC58473F9 | |
Lockbox for dm-crypt keys | FB3AABF9-D25F-47CC-BF5E-721D1816496B | |
Multipath OSD | 4FBD7E29-8AE0-4982-BF9D-5A8D867AF560 | |
Multipath journal | 45B0969E-8AE0-4982-BF9D-5A8D867AF560 | |
Multipath block | CAFECAFE-8AE0-4982-BF9D-5A8D867AF560 | |
Multipath block | 7F4A666A-16F3-47A2-8445-152EF4D03F6C | |
Multipath block DB | EC6D6385-E346-45DC-BE91-DA2A7C8B3261 | |
Multipath block write-ahead log | 01B41E1B-002A-453C-9F17-88793989FF8F | |
dm-crypt block | CAFECAFE-9B03-4F30-B4C6-5EC00CEFF106 | |
dm-crypt block DB | 93B0052D-02D9-4D8A-A43B-33A3EE4DFBC3 | |
dm-crypt block write-ahead log | 306E8683-4FE2-4330-B7C0-00A917C16966 | |
dm-crypt LUKS journal | 45B0969E-9B03-4F30-B4C6-35865CEFF106 | |
dm-crypt LUKS block | CAFECAFE-9B03-4F30-B4C6-35865CEFF106 | |
dm-crypt LUKS block DB | 166418DA-C469-4022-ADF4-B30AFD37F176 | |
dm-crypt LUKS block write-ahead log | 86A32090-3647-40B9-BBBD-38D8C573AA86 | |
dm-crypt LUKS OSD | 4FBD7E29-9D25-41B8-AFD0-35865CEFF05D | |
OpenBSD | Data partition | 824CC7A0-36A8-11E3-890A-952519AD3F61 |
QNX | Power-safe (QNX6) file system[60] | CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1 |
Plan 9 | Plan 9 partition | C91818F9-8025-47AF-89D2-F030D7000C2C |
VMware ESX | vmkcore (coredump partition) | 9D275380-40AD-11DB-BF97-000C2911D1B8 |
VMFS filesystem partition | AA31E02A-400F-11DB-9590-000C2911D1B8 | |
VMware Reserved | 9198EFFC-31C0-11DB-8F78-000C2911D1B8 | |
Android-IA[61][62][63][64] | Bootloader | 2568845D-2332-4675-BC39-8FA5A4748D15 |
Bootloader2 | 114EAFFE-1552-4022-B26E-9B053604CF84 | |
Boot | 49A4D17F-93A3-45C1-A0DE-F50B2EBE2599 | |
Recovery | 4177C722-9E92-4AAB-8644-43502BFD5506 | |
Misc | EF32A33B-A409-486C-9141-9FFB711F6266 | |
Metadata | 20AC26BE-20B7-11E3-84C5-6CFDB94711E9 | |
System | 38F428E6-D326-425D-9140-6E0EA133647C | |
Cache | A893EF21-E428-470A-9E55-0668FD91A2D9 | |
Data | DC76DDA9-5AC1-491C-AF42-A82591580C0D | |
Persistent | EBC597D0-2053-4B15-8B64-E0AAC75F4DB1 | |
Vendor | C5A0AEEC-13EA-11E5-A1B1-001E67CA0C3C | |
Config | BD59408B-4514-490D-BF12-9878D963F378 | |
Factory | 8F68CC74-C5E5-48DA-BE91-A0C8C15E9C80 | |
Factory (alt)[65] | 9FDAA6EF-4B3F-40D2-BA8D-BFF16BFB887B | |
Fastboot / Tertiary[66][67] | 767941D0-2085-11E3-AD3B-6CFDB94711E9 | |
OEM | AC6D7924-EB71-4DF8-B48D-E267B27148FF | |
Android 6.0+ ARM | Android Meta | 19A710A2-B3CA-11E4-B026-10604B889DCF |
Android EXT | 193D1EA4-B3CA-11E4-B075-10604B889DCF | |
Open Network Install Environment (ONIE) | Boot | 7412F7D5-A156-4B13-81DC-867174929325 |
Config | D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149 | |
PowerPC | PReP boot | 9E1A2D38-C612-4316-AA26-8B49521E5A8B |
freedesktop.org OSes (Linux, etc.) | Shared boot loader configuration[68] | BC13C2FF-59E6-4262-A352-B275FD6F7172 |
Atari TOS | Basic data partition (GEM, BGM, F32) | 734E5AFE-F61A-11E6-BC64-92361F002671 |
VeraCrypt | Encrypted data partition | 8C8F8EFF-AC95-4770-814A-21994F2DBC8F |
OS/2 | ArcaOS Type 1 | 90B6FF38-B98F-4358-A21F-48F35B4A8AD3 |
Storage Performance Development Kit (SPDK) | SPDK block device[69] | 7C5222BD-8F5D-4087-9C00-BF9843C7B58C |
barebox bootloader | barebox-state[70] | 4778ED65-BF42-45FA-9C5B-287A1DC4AAB1 |
U-Boot bootloader | U-Boot environment[71][72] | 3DE21764-95BD-54BD-A5C3-4ABE786F38A8 |
SoftRAID | SoftRAID_Status | B6FA30DA-92D2-4A9A-96F1-871EC6486200 |
SoftRAID_Scratch | 2E313465-19B9-463F-8126-8A7993773801 | |
SoftRAID_Volume | FA709C7E-65B1-4593-BFD5-E71D61DE9B02 | |
SoftRAID_Cache | BBBA6DF5-F46F-4A89-8F59-8765B2727503 | |
Fuchsia standard partitions[73] | Bootloader (slot A/B/R) | FE8A2634-5E2E-46BA-99E3-3A192091A350 |
Durable mutable encrypted system data | D9FD4535-106C-4CEC-8D37-DFC020CA87CB | |
Durable mutable bootloader data (including A/B/R metadata) | A409E16B-78AA-4ACC-995C-302352621A41 | |
Factory-provisioned read-only system data | F95D940E-CABA-4578-9B93-BB6C90F29D3E | |
Factory-provisioned read-only bootloader data | 10B8DBAA-D2BF-42A9-98C6-A7C5DB3701E7 | |
Fuchsia Volume Manager | 49FD7CB8-DF15-4E73-B9D9-992070127F0F | |
Verified boot metadata (slot A/B/R) | 421A8BFC-85D9-4D85-ACDA-B64EEC0133E9 | |
Zircon boot image (slot A/B/R) | 9B37FFF6-2E58-466A-983A-F7926D0B04E0 | |
Fuchsia legacy partitions[73][lower-alpha 11] | ||
fuchsia-esp | C12A7328-F81F-11D2-BA4B-00A0C93EC93B | |
fuchsia-system | 606B000B-B7C7-4653-A7D5-B737332C899D | |
fuchsia-data | 08185F0C-892D-428A-A789-DBEEC8F55E6A | |
fuchsia-install | 48435546-4953-2041-494E-5354414C4C52 | |
fuchsia-blob | 2967380E-134C-4CBB-B6DA-17E7CE1CA45D | |
fuchsia-fvm | 41D0E340-57E3-954E-8C1E-17ECAC44CFF5 | |
Zircon boot image (slot A) | DE30CC86-1F4A-4A31-93C4-66F147D33E05 | |
Zircon boot image (slot B) | 23CC04DF-C278-4CE7-8471-897D1A4BCDF7 | |
Zircon boot image (slot R) | A0E5CF57-2DEF-46BE-A80C-A2067C37CD49 | |
sys-config | 4E5E989E-4C86-11E8-A15B-480FCF35F8E6 | |
factory-config | 5A3A90BE-4C86-11E8-A15B-480FCF35F8E6 | |
bootloader | 5ECE94FE-4C86-11E8-A15B-480FCF35F8E6 | |
guid-test | 8B94D043-30BE-4871-9DFA-D69556E8C1F3 | |
Verified boot metadata (slot A) | A13B4D9A-EC5F-11E8-97D8-6C3BE52705BF | |
Verified boot metadata (slot B) | A288ABF2-EC5F-11E8-97D8-6C3BE52705BF | |
Verified boot metadata (slot R) | 6A2460C3-CD11-4E8B-80A8-12CCE268ED0A | |
misc | 1D75395D-F2C6-476B-A8B7-45CC1C97B476 | |
emmc-boot1 | 900B0FC5-90CD-4D4F-84F9-9F8ED579DB88 | |
emmc-boot2 | B2B2E8D1-7C10-4EBC-A2D0-4614568260AD |
See also
- Advanced Active Partition (AAP)
- Apple Partition Map (APM)
- Boot Engineering Extension Record (BEER)
- BSD disklabel
- Device Configuration Overlay (DCO)
- Extended Boot Record (EBR)
- Host Protected Area (HPA)
- Partition alignment
- Rigid Disk Block (RDB)
- Volume Table of Contents (VTOC)
Notes
- Adding
ULL
suffix to an integer constant makes it of typeunsigned long long int
. - Only if using its service pack 1 or 2
- In a multi-disk setup, non-UEFI bootloader (boot drive) requires MBR-based partitioning, while a system drive can use GUID partitioning.
- The GUIDs in this table are written as per RFC 4122, i.e. big-endian byte order, recognizable by the position of the version bits. For example, the GUID for an EFI System partition (
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
), when serialized in GPT data structures (little-endian), corresponds to the hex sequence28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B
. The first three blocks are byte-swapped to little-endian, the last is a byte array. See details in TN2166[7] - The formation of this GUID does not follow the GUID definition; it is formed by using the ASCII codes for the string "Hah!IdontNeedEFI". Such formation of "GUID" value breaks down the guaranteed uniqueness of GUID.
- Some computer manufacturers have their own GUIDs for partitions that are analogous to the EFI System Partition, but that hold boot loaders to launch manufacturer-specific recovery tools.[38]
- Previously, Linux used the same GUID for the data partitions as Windows (Basic data partition: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7). Linux never had a separate unique partition type GUID defined for its data partitions. This created problems when dual-booting Linux and Windows in UEFI-GPT setup. The new GUID (Linux filesystem data: 0FC63DAF-8483-4772-8E79-3D69D8477DE4) was defined jointly by GPT fdisk and GNU Parted developers.[40] It is identified as type code 0x8300 in GPT fdisk.
- The GUID for
/usr
on Solaris is used as a generic GUID for ZFS by macOS. - NetBSD and MidnightBSD had used the FreeBSD GUIDs before their unique GUIDs were created.
- The Ceph filesystem uses GUIDs to mark the state of preparation a disk is in.[58][59]
- The legacy Fuchsia GUIDs had two oddities: UUIDs were not generated randomly (several runs of bits were common between partitions), and partitions were uniquely identified by type GUID. The standardized scheme uses randomly-generated GUIDs, and slotted partitions (e.g.
zircon_{a,b,r}
) share the same type and are distinguished by name and unique GUID.[74]
References
- "FAQ: Drive Partition Limits" (PDF). www.uefi.org. 2010. Retrieved 12 December 2020.
- "Unified Extensible Firmware Interface (UEFI) Specification" (PDF). www.uefi.org. March 2019. p. 111. Retrieved 12 December 2020.
- Swinburne, Richard (1 April 2010). "The Facts: 4K Advanced Format Hard Disks". www.bit-tech.net. Retrieved 12 December 2020.
- Smith, Ryan (18 December 2009). "Western Digital's Advanced Format: The 4K Sector Transition Begins". www.anandtech.com. Archived from the original on 18 December 2009. Retrieved 12 December 2020.
- "UEFI specification". UEFI.org.
- Smith, Roderick (3 July 2012). "Make the most of large drives with GPT and Linux". IBM. Retrieved 14 December 2020.
- "Technical Note TN2166: Secrets of the GPT". Apple Developer. Apple. 2006-11-06. Retrieved 2014-04-16.
- The GPT header contains a field that specifies the size of a partition table entry. The minimum required is 128 bytes, but implementations must allow for other values. See "Mac Developer Library". Developer.Apple.com. Apple. Retrieved 2014-07-13.
- Leach, P.; Mealling, M.; Salz, R. (July 2005). A Universally Unique IDentifier (UUID) URN Namespace. Internet Engineering Task Force. doi:10.17487/RFC4122. RFC 4122. Retrieved 18 December 2020.
- Elliott, Rob (4 January 2010). "e09127r3 EDD-4 Hybrid MBR Boot Code Annex" (PDF). www.t13.org. Archived from the original (PDF) on 20 August 2020. Retrieved 16 December 2020.
- "GPT | Microsoft Docs".
- "CREATE_PARTITION_PARAMETERS (vds.h) - Win32 apps | Microsoft Docs".
- "Disk Format". Chromium.org. Retrieved 2022-02-09.
- "Ubuntu on MacBook". Community Documentation. Ubuntu.
- "GNU Parted FAQ".
- "mklabel". Parted Manual. GNU.
- "fdisk: add GPT support". kernel.org. 2013-09-27. Retrieved 2013-10-18.
- Bueso, Davidlohr (2013-09-28). "fdisk updates and GPT support". Retrieved 2013-10-18.
- "DISK_MAX_PARTS define". Archived from the original on 2020-03-26. Retrieved 2020-03-26.
- "Myths and Facts About Intel Macs". rEFIt. Source forge.
- "Significant changes from NetBSD 5.0 to 6.0"..
- "Significant changes from NetBSD 5.0 to 6.0 (NetBSD/i386)"..
- "Significant changes from NetBSD 5.0 to 6.0 (NetBSD/amd64)"..
- "OpenBSD 5.9"..
- "Booting from a ZFS Root File System". Oracle.
- "idisk(1M)". Hewlett-Packard.
- "Windows and GPT FAQ". msdn.microsoft.com. 1 June 2017. Retrieved 14 December 2020.
- Windows 8 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based disks.
- Windows 8.1 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based disks.
- Windows 10 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based disks.
- Microsoft raises the speed limit with the availability of 64-bit editions of Windows Server 2003 and Windows XP Professional Archived 2010-11-10 at the Wayback Machine
- Windows 8 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based disks.
- Windows 8.1 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based disks.
- Windows 10 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based disks.
- Microsoft's 'Weirdest Release': Windows Server 2022 Quietly Becomes Generally Available
- "Archived copy" (PDF). Archived from the original (PDF) on 2013-07-28.
{{cite web}}
: CS1 maint: archived copy as title (link) - "F6F: Funtoo Linux and Intel Rapid Start Technology". Blog.adios.tw. 2012-10-30. Retrieved 2014-01-29.
- GPT fdisk: parttypes.cc, line 198
- "PARTITION_INFORMATION_GPT - Win32 apps". Microsoft Docs. Retrieved 2021-08-21.
- Smith, Rod (23 June 2011). "Need for a unique Linux GPT GUID type code (PATCH included)". bug-parted (Mailing list). lists.gnu.org. Retrieved 12 April 2016.
- Sergei Antonov (2014-07-31). "libfdisk: (gpt) add Microsoft Storage Spaces GUID". util-linux/util-linux.git - The util-linux code repository. Retrieved 2021-08-21.
- Known issues with Storage Replica
- The Discoverable Partitions Specification (DPS)
- systemd-gpt-auto-generator(8)
- Home Directories
- The Boot Loader Specification
- "[dm-crypt] LUKS GPT GUID". Saout.de. Archived from the original on 2014-02-03. Retrieved 2014-01-29.
- "[dm-crypt] LUKS GPT GUID". Saout.de. Archived from the original on 2014-02-03. Retrieved 2014-01-29.
- "pyuefi source code".
- "udisks-2.7.4 source code". GitHub. 10 July 2022.
- "FreeBSD System Manager's Manual gpart(8)". Retrieved 2021-08-21.
- "Add a partition type for nandfs to the apm, bsd, gpt and vtoc8 schemes. · freebsd/freebsd-src@f24a822 · GitHub". GitHub. Retrieved 2021-08-21.
- "CVS log for src/sys/sys/disklabel_gpt.h". Cvsweb.netbsd.org. Retrieved 2014-01-29.
- "Disk Format - The Chromium Projects". Chromium.org. Retrieved 2014-01-29.
- "Constants and IDs". CoreOS. Retrieved 2018-07-26.
- src/add-ons/kernel/partitioning_systems/gpt/gpt_known_guids.h
- http://www.midnightbsd.org/cgi-bin/cvsweb.cgi/src/sys/sys/gpt.h.diff?r1=1.4;r2=1.5%5B%5D src/sys/sys/gpt.h
- Script to set up a ceph disk: ceph-disk, lines 76-81
- ceph-disk labels
- QNX Power-safe filesystem
- "gpt.ini (github.com/android-ia/device-androidia-mixins)". GitHub.
- "gpt.ini (github.com/android-ia/device-androidia)". GitHub.
- "gpt.ini (github.com/android-ia/vendor_intel_baytrail)". GitHub.
- "gpt-sample.ini (github.com/android-ia/platform_bootable_userfastboot)". GitHub.
- "gpt_ini2bin.py (android.googlesource.com/platform/hardware/bsp/intel)".
- "gpt.c (github.com/android-ia/platform_bootable_userfastboot)". GitHub.
- "gpt_ini2bin.py (github.com/android-ia/vendor_intel_common)". GitHub.
- "The Boot Loader Specification". freedesktop.org. Retrieved 2017-01-05.
- "SPDK Block Device User Guide". Retrieved 2021-01-20.
- "Barebox State Framework". Retrieved 2021-05-21.
- Villemoes, Rasmus (2020-11-17). "RFC: Partition type GUID for U-Boot environment". U-Boot mailing list (Mailing list). Retrieved 2021-09-28.
- "U-boot 2021.07 source code: include/part_efi.h". Retrieved 2021-09-28.
- zircon/system/public/zircon/hw/gpt.h
- "[paver] add support for new partition scheme". Retrieved 2021-10-22.
External links
- Microsoft TechNet: Disk Sectors on GPT Disks (archived page)
- Microsoft Windows Deployment: Converting MBR to GPT without dats loss
- Microsoft TechNet: Troubleshooting Disks and File Systems
- Microsoft TechNet: Using GPT Drives
- Microsoft: FAQs on Using GPT disks in Windows
- Microsoft Technet: How Basic Disks and Volumes Work A bit MS-specific but good figures relate GPT to older MBR format and protective-MBR, shows layouts of complete disks, and how to interpret partition-table hexdumps.
- Apple Developer Connection: Secrets of the GPT
- Make the most of large drives with GPT and Linux
- Convert Windows Vista SP1+ or 7 x86_64 boot from BIOS-MBR mode to UEFI-GPT mode without Reinstall
- Support for GPT (Partition scheme) and HDD greater than 2.19 TB in Microsoft Windows XP
- Setting up a RAID volume in Linux with >2TB disks