[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

GUID Partition Table - Wikipedia

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 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]

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, 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 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 LBA 6 or higher.

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]

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]

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 

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:

Windows 7 and earlier do not support UEFI on 32-bit platforms, and therefore do not allow booting from GPT partitions.[27]

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)[d] N/A 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[e] 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[f] F4019732-066E-4E12-8273-346C5641494F Lenovo boot partition[f] BFBFAFE7-A34F-448A-9A5B-6213EB736C22 Windows Microsoft Reserved Partition (MSR)[39] E3C9E316-0B5C-4DB8-817D-F92DF00215AE Basic data partition[39][g] 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[g] 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[h] 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[h] 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][i] 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][i] 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[j] 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[citation needed] 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][k] 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