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 BIOSs, 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.
The layout of a disk with the GUID
Partition Table. In this example, each
History logical block is 512 bytes in size and
each entry has 128 bytes. The
The Master Boot Record (MBR) partitioning scheme, widely corresponding partition entries are
used since the early 1980s, imposed limitations for use of assumed to be located in LBA 2–33.
modern hardware. The available size for block addresses and Negative LBA addresses indicate a
related information is limited to 32 bits. For hard disks with position from the end of the volume,
512‑byte sectors, the MBR partition table entries allow a with −1 being the last addressable
maximum size of 2 TiB (2³² × 512‑bytes) or 2.20 TB (2.20 × block.
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] Performance could be degraded on write
operations, when the drive is forced to perform two read-modify-write operations to satisfy a
single misaligned 4,096‑byte write operation.[5] Since April 2014, enterprise-class drives without
emulation technology (4K native) have been available on the market.[6][7]
Readiness of the support for 4 KB logical sectors within operating systems differs among their
types, vendors and versions.[8] For example, Microsoft Windows supports 4K native drives since
Windows 8 and Windows Server 2012 (both released in 2012) in UEFI.[9]
Features
Like MBR, GPT uses 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, with a
backup GPT header stored at the final LBA. 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.[10] 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.[11]
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.[11] 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.[12]
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.[11]
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.[11]
Partition table header (LBA 1)
GPT header format
Offset Length Contents
Signature ("EFI PART", 45h 46h 49h 20h 50h 41h 52h 54h or
0 (0x00) 8 bytes
0x5452415020494645ULL[a] on little-endian machines)
8 (0x08) 4 bytes Revision number of header - 1.0 (00h 00h 01h 00h) for UEFI 2.10
12
4 bytes Header size in little endian (in bytes, usually 5Ch 00h 00h 00h or 92 bytes)
(0x0C)
16
4 bytes CRC32 of header (offset +0 to +0x5b) in little endian, with this field zeroed during calculation
(0x10)
20
4 bytes Reserved; must be zero
(0x14)
24
8 bytes Current LBA (location of this header copy)
(0x18)
32
8 bytes Backup LBA (location of the other header copy)
(0x20)
40
8 bytes First usable LBA for partitions (primary partition table last LBA + 1)
(0x28)
48
8 bytes Last usable LBA (secondary partition table first LBA − 1)
(0x30)
56 16
(0x38) bytes Disk GUID in mixed endian[12]
72
8 bytes Starting LBA of array of partition entries (usually 2 for compatibility)
(0x48)
80
4 bytes Number of partition entries in array
(0x50)
84
4 bytes Size of a single partition entry (usually 80h or 128)
(0x54)
88
4 bytes CRC32 of partition entries array in little endian
(0x58)
92 Reserved; must be zeroes for the rest of the block (420 bytes for a sector size of 512 bytes;
*
(0x5C) 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)
GUID partition entry format
Offset Length Contents
0 (0x00) 16 bytes Partition type GUID (mixed endian[12])
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 primary header and before the backup header, the Partition Entry Array describes
partitions, using a minimum size of 128 bytes for each entry block.[13] 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.[14][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:
Partition attributes
Bit Content
Platform required (required by the computer to function properly, OEM partition for example, disk
0
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
Legacy BIOS bootable (equivalent to active flag (typically bit 7 set) at offset +0h in partition entries of the
2
MBR partition table)[15]
3–47 Reserved for future use
48–
Defined and used by the individual partition type
63
Microsoft defines the type-specific attributes for basic data partition as:[16][17]
Basic data partition attributes
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 ChromeOS kernel as:[18]
ChromeOS kernel partition attributes
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
Details of GPT support on UNIX and Unix-like operating systems
Read and
Version or Boot
OS family Platform write Note
edition support
support
In a hybrid configuration, both GPT
IA-32, x86-
FreeBSD Since 7.0 Yes Yes and MBR partition identifiers may
64, ARM
be used.
Most of the x86 Tools such as gdisk, GNU
Linux Parted,[20][21] util-linux v2.23+
Linux
distributions IA-32, x86-
Yes Yes fdisk,[22][23] SYSLINUX, GRUB 0.96
Fedora 8+ and 64, ARM + patches and GRUB 2 have been
Ubuntu GPT-enabled. Limited to 256
8.04+[19] partitions per disk.[24]
Since 10.4.0 IA-32, x86- Only Intel and Apple silicon
macOS (some features 64, PowerPC, Yes Yes Macintosh computers can boot from
since 10.4.6)[25] Apple silicon GPT.
In a hybrid configuration, both GPT
Since 0.4- Requires
MidnightBSD IA-32, x86-64 Yes and MBR partition identifiers may
CURRENT CSM
be used.
IA-32,[27]
[26]
NetBSD Since 6.0 x86-64,[28] Yes Yes
ARM
IA-32, x86- [29]
OpenBSD Since 5.9 Yes Yes
64, ARM
IA-32, x86- [30]
Solaris Since Solaris 10 Yes Yes
64, SPARC
Since HP-UX [31]
HP-UX IA-64 Yes Yes
11.20
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.[32]
Details of GPT support on 32-bit editions of Microsoft Windows[32]
Release Read or write Boot
OS version Platform Note
date support support
1995-08-
Windows 9x
24
IA-32 No[b] No
2001-10-
Windows XP IA-32 No No
25
Windows Server 2003-04-
IA-32 No No
2003 24
Windows Server 2005-03- MBR takes precedence in
IA-32 Yes No
2003 SP1 30 hybrid configuration.
2006-07- MBR takes precedence in
Windows Vista IA-32 Yes No
22 hybrid configuration.
Windows Server 2008-02- MBR takes precedence in
IA-32 Yes No
2008 27 hybrid configuration.
2009-10- MBR takes precedence in
Windows 7 IA-32 Yes No
22 hybrid configuration.
2012-08- Requires MBR takes precedence in
Windows 8 IA-32 Yes
01 UEFI[33] hybrid configuration.
2013-08- Requires MBR takes precedence in
Windows 8.1 IA-32 Yes
27 UEFI[34] hybrid configuration.
2015-07- Requires MBR takes precedence in
Windows 10 IA-32 Yes
29 UEFI[35] hybrid configuration.
Windows: 64-bit versions
Limited to 128 partitions per disk.[32]
Details of GPT support on 64-bit editions of Microsoft Windows[32]
Read
Release and
OS version Platform Boot support Note
date write
support
Windows
XP 64-Bit
Edition for
2001- MBR takes precedence in hybrid
Itanium IA-64 Yes Yes
10-25 configuration.
systems,
Version
2002
Windows
XP 64-Bit
2003- MBR takes precedence in hybrid
Edition, IA-64 Yes Yes
03-28 configuration.
Version
2003
Windows
XP 2005-
Professional 04- MBR takes precedence in hybrid
x64 Yes No
x64 Edition configuration.
Windows 25[36]
Server 2003
Windows 2005- MBR takes precedence in hybrid
IA-64 Yes Yes
Server 2003 04-25 configuration.
Windows 2006- MBR takes precedence in hybrid
Vista 07-22
x64 Yes Requires UEFI[c] configuration.
Windows 2008- MBR takes precedence in hybrid
x64 Yes Requires UEFI
Server 2008 02-27 configuration.
Windows 2008- MBR takes precedence in hybrid
IA-64 Yes Yes
Server 2008 02-27 configuration.
2009- MBR takes precedence in hybrid
Windows 7
10-22
x64 Yes Requires UEFI[d] configuration.
Windows
2009- MBR takes precedence in hybrid
Server 2008 IA-64 Yes Yes
10-22 configuration.
R2
Windows 8
2012- Requires MBR takes precedence in hybrid
Windows x64 Yes
Server 2012
08-01 UEFI[37] configuration.
Windows 2013- Requires MBR takes precedence in hybrid
x64 Yes
8.1 08-27 UEFI[38] configuration.
2015- Requires MBR takes precedence in hybrid
Windows 10 x64 Yes
07-29 UEFI[39] configuration.
Windows 2016- MBR takes precedence in hybrid
x64 Yes Requires UEFI
Server 2016 10-12 configuration.
Windows 2018- MBR takes precedence in hybrid
x64 Yes Requires UEFI
Server 2019 10-02 configuration.
2021-
Windows 08- MBR takes precedence in hybrid
x64 Yes Requires UEFI
Server 2022 configuration.
18[40]
2021- x64, UEFI is a system requirement for Windows
Windows 11 Yes Yes
10-05 ARM64 11.
Partition type GUIDs
"Partition type GUID" means that each partition type is strictly identified by a GUID number
unique to that type, 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)[e] [hide]
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[f] 21686148-6449-6E6F-744E-656564454649
—
Intel Fast Flash (iFFS) partition
(for Intel Rapid Start D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
technology)[41][42]
Sony boot partition[g] F4019732-066E-4E12-8273-346C5641494F
Lenovo boot partition[g] BFBFAFE7-A34F-448A-9A5B-6213EB736C22
Microsoft Reserved Partition
E3C9E316-0B5C-4DB8-817D-F92DF00215AE
(MSR)[44]
Basic data partition[44][h] EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Logical Disk Manager (LDM)
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
metadata partition[44]
Logical Disk Manager data
AF9B60A0-1431-4F62-BC68-3311714A69AD
Windows partition[44]
Windows Recovery
DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
Environment[44]
IBM General Parallel File
37AFFC90-EF7D-4E96-91C3-2D7AE055B174
System (GPFS) partition
Storage Spaces partition[46] E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
Storage Replica partition[47] 558D43C5-A1AC-43C0-AAC8-D1472B2923D1
Data partition 75894C1E-3AEB-11D3-B7C1-7B03A0000000
HP-UX
Service partition E2A1E728-32E3-11D6-A682-7B03A0000000
Linux[48][49][50][51] Linux filesystem data[h] 0FC63DAF-8483-4772-8E79-3D69D8477DE4
RAID partition A19D880F-05FC-4D3B-A006-743F0F84911E
Root partition (x86)[48][49] 44479540-F297-41B2-9AF7-D131D5F0458A
Root partition (x86-64)[48][49] 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
Root partition (32-bit
69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
ARM)[48][49]
Root partition (64-bit
B921B045-1DF0-41C3-AF44-4C6F280D3FAE
ARM/AArch64)[48][49]
/boot, as an Extended Boot
Loader (XBOOTLDR) BC13C2FF-59E6-4262-A352-B275FD6F7172
partition[48][49]
Swap partition[48][49] 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Logical Volume Manager (LVM)
E6D6D379-F507-44C2-A23C-238F2A3DF928
partition
/home partition[48][49] 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
/srv (server data)
3B8F8425-20E0-4F3B-907F-1A25A76F98E8
partition[48][49]
Plain dm-crypt partition[52][53][54] 7FFEC5C9-2D00-49B7-8941-3EA10A5586B7
LUKS partition[52][53][54][55] CA7D7CCB-63ED-4C53-861C-1742536059CC
Reserved 8DA63339-0007-60C0-C436-083AC8230908
Linux filesystem data[57] 0FC63DAF-8483-4772-8E79-3D69D8477DE4
GNU/Hurd[56]
Linux Swap partition[58] 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
Boot partition[59] 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
BSD disklabel partition[59] 516E7CB4-6ECF-11D6-8FF8-00022D09712B
Swap partition[59] 516E7CB5-6ECF-11D6-8FF8-00022D09712B
Unix File System (UFS)
516E7CB6-6ECF-11D6-8FF8-00022D09712B
FreeBSD partition[59]
Vinum volume manager
516E7CB8-6ECF-11D6-8FF8-00022D09712B
partition[59]
ZFS partition[59] 516E7CBA-6ECF-11D6-8FF8-00022D09712B
nandfs partition[60] 74BA7DD9-A689-11E1-BD04-00E081286ACF
Hierarchical File System Plus
48465300-0000-11AA-AA11-00306543ECAC
(HFS+) partition
Apple APFS container
APFS FileVault volume 7C3457EF-0000-11AA-AA11-00306543ECAC
container
Apple UFS container 55465300-0000-11AA-AA11-00306543ECAC
ZFS[i] 6A898CC3-1DD2-11B2-99A6-080020736631
Apple RAID partition 52414944-0000-11AA-AA11-00306543ECAC
macOS Apple RAID partition, offline 52414944-5F4F-11AA-AA11-00306543ECAC
Darwin
Apple Boot partition (Recovery
426F6F74-0000-11AA-AA11-00306543ECAC
HD)
Apple Label 4C616265-6C00-11AA-AA11-00306543ECAC
Apple TV Recovery partition 5265636F-7665-11AA-AA11-00306543ECAC
Apple Core Storage Container
HFS+ FileVault volume 53746F72-6167-11AA-AA11-00306543ECAC
container
Apple APFS Preboot partition 69646961-6700-11AA-AA11-00306543ECAC
Apple APFS Recovery partition 52637672-7900-11AA-AA11-00306543ECAC
Solaris Boot partition 6A82CB45-1DD2-11B2-99A6-080020736631
illumos
Root partition 6A85CF4D-1DD2-11B2-99A6-080020736631
Swap partition 6A87C46F-1DD2-11B2-99A6-080020736631
Backup partition 6A8B642B-1DD2-11B2-99A6-080020736631
/usr partition[i] 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
Swap partition 49F48D32-B10E-11DC-B99B-0019D1879648
FFS partition 49F48D5A-B10E-11DC-B99B-0019D1879648
LFS partition 49F48D82-B10E-11DC-B99B-0019D1879648
NetBSD[61][j]
RAID partition 49F48DAA-B10E-11DC-B99B-0019D1879648
Concatenated partition 2DB519C4-B10F-11DC-B99B-0019D1879648
Encrypted partition 2DB519EC-B10F-11DC-B99B-0019D1879648
ChromeOS kernel FE3A2A5D-4F32-41A7-B725-ACCC3285A309
ChromeOS rootfs 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
ChromeOS firmware CAB6E88E-ABF3-4102-A07A-D4BB9BE3C1D3
ChromeOS[62]
ChromeOS future use 2E0A753D-9E48-43B0-8337-B15192CB1B5E
ChromeOS miniOS 09845860-705F-4BB5-B16C-8A8A099CAF52
ChromeOS hibernate 3F0F8318-F146-4E6B-8222-C28C8F02E0D5
/usr partition (coreos-usr) 5DFBF5F4-2848-4BAC-AA5E-0D9A20B745A6
Resizable rootfs (coreos-resize) 3884DD41-8582-4404-B9A8-E9B84F2DF50E
Container Linux by
OEM customizations (coreos-
CoreOS[63] C95DC21A-DF0E-4340-8D7B-26CBFA9A03E0
reserved)
Root filesystem on RAID
BE9067B9-EA49-4F15-B4F6-F36F8C9E1818
(coreos-root-raid)
Haiku[64] Haiku BFS 42465331-3BA3-10F1-802A-4861696B7521
Boot partition 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
Data partition 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
Swap partition 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
MidnightBSD[65][j]
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[k] 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-
86A32090-3647-40B9-BBBD-38D8C573AA86
ahead log
dm-crypt LUKS OSD 4FBD7E29-9D25-41B8-AFD0-35865CEFF05D
OpenBSD Data partition 824CC7A0-36A8-11E3-890A-952519AD3F61
Power-safe (QNX6) file
QNX CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
system[68]
Plan 9 Plan 9 partition C91818F9-8025-47AF-89D2-F030D7000C2C
vmkcore (coredump partition) 9D275380-40AD-11DB-BF97-000C2911D1B8
VMware ESX VMFS filesystem partition AA31E02A-400F-11DB-9590-000C2911D1B8
VMware Reserved 9198EFFC-31C0-11DB-8F78-000C2911D1B8
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
Android-IA[69][70][71][72]
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)[73] 9FDAA6EF-4B3F-40D2-BA8D-BFF16BFB887B
Fastboot / Tertiary[74][75] 767941D0-2085-11E3-AD3B-6CFDB94711E9
OEM AC6D7924-EB71-4DF8-B48D-E267B27148FF
Android Meta 19A710A2-B3CA-11E4-B026-10604B889DCF
Android 6.0+ ARM
Android EXT 193D1EA4-B3CA-11E4-B075-10604B889DCF
Open Network Install Boot 7412F7D5-A156-4B13-81DC-867174929325
Environment (ONIE)
Config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B
[Link] OSes Shared boot loader
BC13C2FF-59E6-4262-A352-B275FD6F7172
(Linux, etc.) configuration[76]
Basic data partition (GEM,
Atari TOS 734E5AFE-F61A-11E6-BC64-92361F002671
BGM, F32)
VeraCrypt Encrypted data partition 8C8F8EFF-AC95-4770-814A-21994F2DBC8F
OS/2 ArcaOS Type 1 90B6FF38-B98F-4358-A21F-48F35B4A8AD3
Storage Performance
Development Kit SPDK block device[77] 7C5222BD-8F5D-4087-9C00-BF9843C7B58C
(SPDK)
barebox bootloader barebox-state[78] 4778ED65-BF42-45FA-9C5B-287A1DC4AAB1
U-Boot bootloader U-Boot environment[79][80] 3DE21764-95BD-54BD-A5C3-4ABE786F38A8
SoftRAID_Status B6FA30DA-92D2-4A9A-96F1-871EC6486200
SoftRAID_Scratch 2E313465-19B9-463F-8126-8A7993773801
SoftRAID
SoftRAID_Volume FA709C7E-65B1-4593-BFD5-E71D61DE9B02
SoftRAID_Cache BBBA6DF5-F46F-4A89-8F59-8765B2727503
Bootloader (slot A/B/R) FE8A2634-5E2E-46BA-99E3-3A192091A350
Durable mutable encrypted
D9FD4535-106C-4CEC-8D37-DFC020CA87CB
system data
Durable mutable bootloader
A409E16B-78AA-4ACC-995C-302352621A41
data (including A/B/R metadata)
Factory-provisioned read-only
Fuchsia standard F95D940E-CABA-4578-9B93-BB6C90F29D3E
system data
partitions[81]
Factory-provisioned read-only
10B8DBAA-D2BF-42A9-98C6-A7C5DB3701E7
bootloader data
Fuchsia Volume Manager 49FD7CB8-DF15-4E73-B9D9-992070127F0F
Verified boot metadata (slot
421A8BFC-85D9-4D85-ACDA-B64EEC0133E9
A/B/R)
Zircon boot image (slot A/B/R) 9B37FFF6-2E58-466A-983A-F7926D0B04E0
Fuchsia legacy fuchsia-esp C12A7328-F81F-11D2-BA4B-00A0C93EC93B
partitions[81][l]
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
a. Adding ULL suffix to an integer constant makes it of type unsigned long long int.
b. Third party implementation exists (GPTTSD)
c. Only if using its service pack 1 or 2
d. In a multi-disk setup, non-UEFI bootloader (boot drive) requires MBR-based partitioning, while
a system drive can use GUID partitioning.
e. 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 sequence 28 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[12]
f. 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.
g. 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.[43]
h. 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.[45] It is
identified as type code 0x8300 in GPT fdisk.
i. The GUID for /usr on Solaris is used as a generic GUID for ZFS by macOS.
j. NetBSD and MidnightBSD had used the FreeBSD GUIDs before their unique GUIDs were
created.
k. The Ceph filesystem uses GUIDs to mark the state of preparation a disk is in.[66][67]
l. 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.[82]
References
1. "FAQ: Drive Partition Limits" ([Link]
ition_Limits_Fact_Sheet.pdf) (PDF). [Link]. 2010. Retrieved 12 December 2020.
2. "Unified Extensible Firmware Interface (UEFI) Specification" ([Link]
esources/UEFI_Spec_2_10_Aug29.pdf) (PDF). [Link]. 29 August 2022. p. 110.
Retrieved 23 June 2023.
3. Swinburne, Richard (1 April 2010). "The Facts: 4K Advanced Format Hard Disks" ([Link]
[Link]/reviews/tech/storage/the-facts-4k-advanced-format-hard-disks/). [Link].
Retrieved 12 December 2020.
4. Smith, Ryan (18 December 2009). "Western Digital's Advanced Format: The 4K Sector
Transition Begins" ([Link]
show/2888). [Link]. Archived from the original on 28 December 2020. Retrieved
12 December 2020.
5. "Western Digital's Advanced Format: The 4K Sector Transition Begins" ([Link]
torage/[Link]?i=3691). [Link]. Anandtech.
6. "Enterprise Capacity 3.5 HDD Data Sheet" ([Link]
ent/enterprise-hdd-fam/enterprise-capacity-3-5-hdd/constellation-es-4/en-us/docs/enterprise-c
[Link]#page=2) (PDF). Seagate Technology. April 23, 2014.
p. 2. Archived ([Link]
ntent/product-content/enterprise-hdd-fam/enterprise-capacity-3-5-hdd/constellation-es-4/en-us/
docs/[Link]#page=2) (PDF) from the original on
2014-08-12. Retrieved August 10, 2014.
7. "WD Re Datacenter Distribution Specification Sheet" ([Link]
SpecSheet/ENG/[Link]#page=2) (PDF). Western Digital. January 21, 2016. p. 2.
Archived ([Link]
y/SpecSheet/ENG/[Link]#page=2) (PDF) from the original on 2015-09-06.
Retrieved February 14, 2016.
8. "Advanced format (4K) disk compatibility update (Windows)" ([Link]
ibrary/windows/desktop/hh848035(v=vs.85).aspx). November 28, 2012. Archived ([Link]
[Link]/web/20130111233631/[Link]
848035(v=vs.85).aspx) from the original on 2013-01-11. Retrieved January 3, 2013.
9. "Microsoft support policy for 4K sector hard drives in Windows" ([Link]
b/2510009). Microsoft. Archived ([Link]
[Link]/kb/2510009) from the original on 2011-08-19. Retrieved October 24, 2013.
10. "UEFI specification" ([Link] [Link].
11. Smith, Roderick (3 July 2012). "Make the most of large drives with GPT and Linux" ([Link]
[Link]/developerworks/library/l-gpt/). IBM. Retrieved 14 December 2020.
12. "Technical Note TN2166: Secrets of the GPT" ([Link]
es/tn2166/_index.html#//apple_ref/doc/uid/DTS10003927-CH1-SUBSECTION11). Apple
Developer. Apple. 2006-11-06. Retrieved 2014-04-16.
13. 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" ([Link]
RVIEW). [Link]. Apple. Retrieved 2014-07-13.
14. Leach, P.; Mealling, M.; Salz, R. (July 2005). A Universally Unique IDentifier (UUID) URN
Namespace ([Link] Internet Engineering Task Force.
doi:10.17487/RFC4122 ([Link] RFC 4122 ([Link]
[Link]/doc/html/rfc4122). Retrieved 18 December 2020.
15. Elliott, Rob (4 January 2010). "e09127r3 EDD-4 Hybrid MBR Boot Code Annex" ([Link]
[Link]/web/20200820000316/[Link]
9127r3-EDD-4_Hybrid_MBR_boot_code_annex.pdf) (PDF). [Link]. Archived from the
original ([Link]
BR_boot_code_annex.pdf) (PDF) on 20 August 2020. Retrieved 16 December 2020.
16. "GPT | Microsoft Docs" ([Link]
17. "CREATE_PARTITION_PARAMETERS (vds.h) - Win32 apps | Microsoft Docs" ([Link]
[Link]/en-us/library/[Link]).
18. "Disk Format" ([Link]
#Selecting-the-kernel). [Link]. Retrieved 2022-02-09.
19. "Ubuntu on MacBook" ([Link] Community
Documentation. Ubuntu.
20. "GNU Parted FAQ" ([Link]
21. "mklabel" ([Link] Parted
Manual. GNU.
22. "fdisk: add GPT support" ([Link]
156c43b784700d28d1c1141008b2bf35ed7). [Link]. 2013-09-27. Retrieved 2013-10-18.
23. Bueso, Davidlohr (2013-09-28). "fdisk updates and GPT support" ([Link]
2/09/[Link]). Retrieved 2013-10-18.
24. "DISK_MAX_PARTS define" ([Link]
g/pub/scm/linux/kernel/git/next/[Link]/tree/include/linux/genhd.h). Archived from the
original ([Link]
d.h) on 2020-03-26. Retrieved 2020-03-26.
25. "Myths and Facts About Intel Macs" ([Link] rEFIt. Source forge.
26. "Significant changes from NetBSD 5.0 to 6.0" ([Link]
ml)..
27. "Significant changes from NetBSD 5.0 to 6.0 (NetBSD/i386)" ([Link]
[Link]#port-i386)..
28. "Significant changes from NetBSD 5.0 to 6.0 (NetBSD/amd64)" ([Link]
s/[Link]#port-amd64)..
29. "OpenBSD 5.9" ([Link]
30. "Booting from a ZFS Root File System" ([Link]
[Link]/cd/E19963-01/html/821-1448/[Link]). Oracle. Archived from the original (htt
p://[Link]/cd/E19963-01/html/821-1448/[Link]) on 2011-12-10.
31. "idisk(1M)" ([Link] Hewlett-Packard.
32. "Windows and GPT FAQ" ([Link]
35(v=vs.85).aspx). [Link]. 1 June 2017. Retrieved 14 December 2020.
33. Windows 8 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based disks.
([Link]
34. Windows 8.1 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based
disks. ([Link]
35. Windows 10 32-bit supports booting from UEFI-based PC (x86-32 only) using GPT-based
disks. ([Link]
36. Microsoft raises the speed limit with the availability of 64-bit editions of Windows Server 2003
and Windows XP Professional ([Link]
[Link]) Archived ([Link]
[Link]/presspass/press/2005/apr05/[Link]) 2010-11-10 at the
Wayback Machine
37. Windows 8 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based disks.
([Link]
38. Windows 8.1 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based
disks. ([Link]
39. Windows 10 64-bit supports booting from UEFI-based PC (x86-64 only) using GPT-based
disks. ([Link]
40. Microsoft's 'Weirdest Release': Windows Server 2022 Quietly Becomes Generally Available (ht
tps://[Link]/articles/2021/08/20/[Link])
41. "Archived copy" ([Link]
nual/mb_manual_intel-ui_e.pdf) (PDF). Archived from the original ([Link]
manual/mb_manual_intel-ui_e.pdf) (PDF) on 2013-07-28.
42. "F6F: Funtoo Linux and Intel Rapid Start Technology" ([Link]
-[Link]). [Link]. 2012-10-30. Retrieved 2014-01-29.
43. GPT fdisk: [Link], line 198 ([Link]
[Link])
44. "PARTITION_INFORMATION_GPT - Win32 apps" ([Link]
win32/api/winioctl/ns-winioctl-partition_information_gpt). Microsoft Docs. Retrieved
2021-08-21.
45. Smith, Rod (23 June 2011). "Need for a unique Linux GPT GUID type code (PATCH included)"
([Link] bug-parted (Mailing list).
[Link]. Retrieved 12 April 2016.
46. Sergei Antonov (2014-07-31). "libfdisk: (gpt) add Microsoft Storage Spaces GUID" ([Link]
[Link]/pub/scm/utils/util-linux/[Link]/commit/?id=210d4595dea9ff998a04ba07b3d0769
4abd32d24). util-linux/[Link] - The util-linux code repository. Retrieved 2021-08-21.
47. Known issues with Storage Replica ([Link]
storage-replica/storage-replica-known-issues#small-unknown-partition-listed-in-diskmgmt-for-e
ach-replicated-volume)
48. The Discoverable Partitions Specification (DPS) ([Link]
scoverable_partitions_specification/)
49. systemd-gpt-auto-generator(8) ([Link]
[Link])
50. Home Directories ([Link]
51. The Boot Loader Specification ([Link]
52. "[dm-crypt] LUKS GPT GUID" ([Link]
de/pipermail/dm-crypt/2014-January/[Link]). [Link]. Archived from the original (http://
[Link]/pipermail/dm-crypt/2014-January/[Link]) on 2014-02-03. Retrieved
2014-01-29.
53. "[dm-crypt] LUKS GPT GUID" ([Link]
de/pipermail/dm-crypt/2014-January/[Link]). [Link]. Archived from the original (http://
[Link]/pipermail/dm-crypt/2014-January/[Link]) on 2014-02-03. Retrieved
2014-01-29.
54. "pyuefi source code" ([Link]
[Link]).
55. "udisks-2.7.4 source code" ([Link]
iskslinuxblock.c#L2363). GitHub. 10 July 2022.
56. The GNU/Hurd User's Guide: Installing, Internet Install ([Link]
rs-guide/using_gnuhurd.html#Internet-Install)
57. Hurd and GRUB use the same Linux ext2 file system to run and it no longer supports "UFS" (ht
tps://[Link]/cgit/hurd/[Link]/commit/?id=84cf9c0f312637b670cc87224ff7e7c4d
a659e36). file system
58. Hurd uses the same Linux swap file system
59. "FreeBSD System Manager's Manual gpart(8)" ([Link]
art&apropos=0&sektion=8&manpath=FreeBSD+13.0-RELEASE&arch=default&format=html).
Retrieved 2021-08-21.
60. "Add a partition type for nandfs to the apm, bsd, gpt and vtoc8 schemes. · freebsd/freebsd-
src@f24a822 · GitHub" ([Link]
525ccb94b8e1f39a600d4#diff-d173c53f561bf0a9536ac882e798fca502622ded0a8e4ac7a8beb
15205896327). GitHub. Retrieved 2021-08-21.
61. "CVS log for src/sys/sys/disklabel_gpt.h" ([Link]
label_gpt.h?only_with_tag=MAIN). [Link]. Retrieved 2014-01-29.
62. "Disk Format - The Chromium Projects" ([Link]
s/+/HEAD/disk_format.md). [Link]. Retrieved 2014-01-29.
63. "Constants and IDs" ([Link]
es). CoreOS. Retrieved 2018-07-26.
64. src/add-ons/kernel/partitioning_systems/gpt/gpt_known_guids.h ([Link]
ree/src/add-ons/kernel/partitioning_systems/gpt/gpt_known_guids.h)
65. [Link]
src/sys/sys/gpt.h
66. Script to set up a ceph disk: ceph-disk, lines 76-81 ([Link]
3e6b08521694b5c0228b2c6ed7b3d312e/src/ceph-disk#L76-L81)
67. ceph-disk labels ([Link]
91642e/src/ceph-volume/ceph_volume/util/[Link]#L18)
68. QNX Power-safe filesystem ([Link]
[Link].user_guide%2Ftopic%2Ffsystems_QNX6_filesystem.html)
69. "[Link] ([Link]/android-ia/device-androidia-mixins)" ([Link]
androidia-mixins/blob/master/groups/boot-arch/android_ia/[Link]). GitHub.
70. "[Link] ([Link]/android-ia/device-androidia)" ([Link]
a/blob/master/androidia_64/[Link]). GitHub.
71. "[Link] ([Link]/android-ia/vendor_intel_baytrail)" ([Link]
el_baytrail/blob/master/minnow_max/[Link]). GitHub.
72. "[Link] ([Link]/android-ia/platform_bootable_userfastboot)" ([Link]
droid-ia/platform_bootable_userfastboot/blob/master/[Link]). GitHub.
73. "gpt_ini2bin.py ([Link]/platform/hardware/bsp/intel)" ([Link]
[Link]/platform/hardware/bsp/intel/+/e2ef91a5723be4c50e0bd93f82c329d262c2f366/so
c/common/tools/gpt_ini2bin.py).
74. "gpt.c ([Link]/android-ia/platform_bootable_userfastboot)" ([Link]
latform_bootable_userfastboot/blob/master/libgpt/gpt.c). GitHub.
75. "gpt_ini2bin.py ([Link]/android-ia/vendor_intel_common)" ([Link]
endor_intel_common/blob/master/gpt_bin/gpt_ini2bin.py). GitHub.
76. "The Boot Loader Specification" ([Link]
[Link]. Retrieved 2017-01-05.
77. "SPDK Block Device User Guide" ([Link] Retrieved
2021-01-20.
78. "Barebox State Framework" ([Link]
mmc-and-ata). Retrieved 2021-05-21.
79. Villemoes, Rasmus (2020-11-17). "RFC: Partition type GUID for U-Boot environment" ([Link]
[Link]/pipermail/u-boot/2020-November/[Link]). U-Boot mailing list (Mailing list).
Retrieved 2021-09-28.
80. "U-boot 2021.07 source code: include/part_efi.h" ([Link]
2021.07/include/part_efi.h#L59-61). Retrieved 2021-09-28.
81. zircon/system/public/zircon/hw/gpt.h ([Link]
on/system/public/zircon/hw/gpt.h)
82. "[paver] add support for new partition scheme" ([Link]
0010ded76edc81fcde8d4582461dc628447e3810). Retrieved 2021-10-22.
External links
Microsoft TechNet: Disk Sectors on GPT Disks (archived page) ([Link]
0080321063028/[Link]
[Link]?mfr=true)
Microsoft Windows Deployment: Converting MBR to GPT without dats loss ([Link]
[Link]/en-us/windows/deployment/mbr-to-gpt)
Microsoft TechNet: Troubleshooting Disks and File Systems ([Link]
us/library/[Link])
Microsoft TechNet: Using GPT Drives ([Link]
dows/hardware/design/dn653580(v=vs.85))
Microsoft: FAQs on Using GPT disks in Windows ([Link]
ge/GPT_FAQ.mspx)
Microsoft Technet: How Basic Disks and Volumes Work ([Link]
rary/[Link]) 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 ([Link]
06/[Link])
Make the most of large drives with GPT and Linux ([Link]
brary/l-gpt/)
Convert Windows Vista SP1+ or 7 x86_64 boot from BIOS-MBR mode to UEFI-GPT mode
without Reinstall ([Link]
uefi_duet_builds/pages/Windows_x64_BIOS_to_UEFI)
Support for GPT (Partition scheme) and HDD greater than 2.19 TB in Microsoft Windows XP (h
ttp://[Link]/2010/11/04/how-to-use-3tb-hard-drives-on-windows-xp/)
Setting up a RAID volume in Linux with >2TB disks ([Link]
413/[Link]
Retrieved from "[Link]