GUID Partition Table
GUID Partition Table
Table
Diagram illustrating the layout of the
GPT scheme. In this example, each
logical block is 512 bytes in size, and
each partition entry is 128 bytes, and
the corresponding partition entries are
assumed to be located in LBA 2-33.
LBA addresses that are negative
indicate position from the end of the
volume, with −1 as the last
addressable block.
GUID Partition Table (GPT) is
a standard for the layout of the
partition table on a physical
storage device used in a
desktop or server PC, such as
a hard disk drive or solid-state
drive, using globally unique
identifiers (GUID). Although it
forms a part of the Unified
Extensible Firmware Interface
(UEFI) standard (Unified EFI
Forum proposed replacement
for the PC BIOS), it is also used
on some BIOS systems
because of the limitations of
master boot record (MBR)
partition tables, which use 32
bits for storing logical block
addresses (LBA) and size
information on a traditionally
512-byte disk sector.
History
The widespread MBR
partitioning scheme, dating
from the early 1980s, imposed
limitations that affect the use
of modern hardware. One of
the main limitations is the
usage of 32 bits for storing
block addresses and quantity
information. For hard disks
with 512-byte sectors, the
MBR partition table entries
allow up to a maximum of 2 TiB
(232 × 512 bytes).[1]
Features
Like modern MBRs, GPTs use
logical block addressing (LBA)
in place of the historical
cylinder-head-sector (CHS)
addressing. The protective
MBR is contained in LBA 0, the
GPT header is in LBA 1, and
the GPT header has a pointer
to the partition table, or
Partition Entry Array, typically
LBA 2. The UEFI specification
stipulates that a minimum of
16,384 bytes, regardless of
sector size, be allocated for the
Partition Entry Array.[4] On a
disk having 512-byte sectors, a
partition entry array size of
16,384 bytes and the minimum
size of 128 bytes for each
partition entry, LBA 34 is the
first usable sector on the disk.
MBR variants
Protective MBR (LBA
0)
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)
56 16
Disk GUID (also referred as UUID on UNIXes)
(0x38) bytes
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/zlib of partition array in little endian
(0x58)
Partition attributes
Bit Content
60 Read-only
62 Hidden
Operating-system
support
UNIX and Unix-like
systems
Details of GPT support on UNIX and Unix-like operating systems
Read
Version or and Boot
OS family Platform Note
edition write support
support
In a hybrid
configuration,
IA-32,
both GPT and
FreeBSD Since 7.0 x86-64, Yes Yes
MBR partition
ARM
identifiers
may be used.
New tools
such as
gdisk, GNU
Parted,[14][15]
Most of the
util-linux
x86 Linux
v2.23+ fdisk
distributions IA-32, [16][17]
Linux Yes Yes
Fedora 8+ x86-64
SYSLINUX,
and Ubuntu
GRUB 0.96 +
8.04+[13]
patches and
GRUB 2 have
been
GPT-enabled.
Only Intel
Since 10.4.0
IA-32, Macintosh
(some
macOS x86-64, Yes Yes computers
features since
PowerPC can boot
10.4.6)[18]
from GPT.
In a hybrid
configuration,
Since IA-32, Requires both GPT and
MidnightBSD Yes
0.4-CURRENT x86-64 BIOS MBR partition
identifiers
may be used.
IA-32,
Since Solaris [19]
Solaris x86-64, Yes Yes
10
SPARC
Windows: 32-bit
versions
Windows
2001-10-25 IA-32 No No
XP
Windows
Server 2003-04-24 IA-32 No No
2003
MBR takes
Windows precedence in
2006-07-22 IA-32 Yes No
Vista hybrid
configuration
MBR takes
Windows
precedence in
Server 2008-02-27 IA-32 Yes No
hybrid
2008
configuration
MBR takes
Windows precedence in
2009-10-22 IA-32 Yes No
7 hybrid
configuration
MBR takes
Windows Requires precedence in
2012-08-01 IA-32 Yes
8 UEFI[22] hybrid
configuration
MBR takes
Windows Requires precedence in
2013-08-27 IA-32 Yes
8.1 UEFI[22] hybrid
configuration
MBR takes
Windows Requires precedence in
2015-07-29 IA-32 Yes
10 UEFI[22] hybrid
configuration
Windows: 64-bit
versions
Details of GPT support on 64-bit editions of Microsoft Windows[21]
Read
and Boot
OS version Release date Platform Note
write support
support
Windows XP
Professional MBR takes
x64 Edition precedence
2005-04-25[23] x64 Yes No
Windows in hybrid MBR
Server configuration
2003
MBR takes
Windows
precedence
Server 2005-04-25 IA-64 Yes Yes
in hybrid MBR
2003
configuration
MBR takes
Windows Requires precedence
2006-07-22 x64 Yes
Vista UEFI[b] in hybrid
configuration
MBR takes
Windows
Requires precedence
Server 2008-02-27 x64 Yes
UEFI in hybrid
2008
configuration
MBR takes
Windows
precedence
Server 2008-02-27 IA-64 Yes Yes
in hybrid
2008
configuration
MBR takes
Requires precedence
Windows 7 2009-10-22 x64 Yes
UEFI[c] in hybrid
configuration.
MBR takes
Windows Requires precedence
2013-08-27 x64 Yes
8.1 UEFI[22] in hybrid
configuration
MBR takes
Windows Requires precedence
2015-07-29 x64 Yes
10 UEFI[22] in hybrid
configuration
MBR takes
Windows
Requires precedence
Server 2016-10-12 x64 Yes
UEFI[22] in hybrid
2016
configuration
MBR partition
024DEE41-33E7-11D3-9D69-0008C78
scheme
EFI System
C12A7328-F81F-11D2-BA4B-00A0C93
partition
BIOS boot
21686148-6449-6E6F-744E-6565644
partition[e]
Sony boot
F4019732-066E-4E12-8273-346C564
partition[f]
Lenovo boot
BFBFAFE7-A34F-448A-9A5B-6213EB7
partition[f]
Microsoft
Reserved Partition E3C9E316-0B5C-4DB8-817D-F92DF00
(MSR)
Basic data
EBD0A0A2-B9E5-4433-87C0-68B6B72
partition[g]
Logical Disk
Manager (LDM)
5808C8AA-7E8F-42E0-85D2-E1E9043
Windows metadata
partition
Logical Disk
Manager data AF9B60A0-1431-4F62-BC68-3311714
partition
Windows
Recovery DE94BBA4-06D1-4D40-A16A-BFD5017
Environment
IBM General
Parallel File
37AFFC90-EF7D-4E96-91C3-2D7AE05
System (GPFS)
partition
Storage Spaces
E75CAF8F-F680-4CEE-AFA3-B001E56
partition
Linux filesystem
0FC63DAF-8483-4772-8E79-3D69D84
data[g]
Root partition
44479540-F297-41B2-9AF7-D131D5F
(x86)[28]
Root partition
4F68BCE3-E8CD-4DB1-96E7-FBCAF98
(x86-64)[28]
Root partition
69DAD710-2CE4-4E3C-B16C-21A1D49
(32-bit ARM)[28]
Root partition
(64-bit B921B045-1DF0-41C3-AF44-4C6F280
Linux ARM/AArch64)[28]
Logical Volume
Manager (LVM) E6D6D379-F507-44C2-A23C-238F2A3
partition
/home
933AC7E1-2EB4-4F13-B844-0E14E2A
partition[28]
/srv (server
3B8F8425-20E0-4F3B-907F-1A25A76
data) partition[28]
Plain dm-crypt
partition[29] 7FFEC5C9-2D00-49B7-8941-3EA10A5
[30][31]
LUKS partition[29]
CA7D7CCB-63ED-4C53-861C-1742536
[30][31][32]
Reserved 8DA63339-0007-60C0-C436-083AC82
Vinum volume
516E7CB8-6ECF-11D6-8FF8-00022D0
manager partition
Hierarchical File
System Plus 48465300-0000-11AA-AA11-0030654
(HFS+) partition
Apple UFS
55465300-0000-11AA-AA11-0030654
container
ZFS[h] 6A898CC3-1DD2-11B2-99A6-0800207
Apple RAID
52414944-0000-11AA-AA11-0030654
partition
macOS
Darwin Apple RAID
52414944-5F4F-11AA-AA11-0030654
partition, offline
Apple Boot
partition 426F6F74-0000-11AA-AA11-0030654
(Recovery HD)
Apple TV
5265636F-7665-11AA-AA11-0030654
Recovery partition
Apple Core
53746F72-6167-11AA-AA11-0030654
Storage (i.e. Lion
FileVault)
partition
SoftRAID_Status B6FA30DA-92D2-4A9A-96F1-871EC64
SoftRAID_Scratch 2E313465-19B9-463F-8126-8A79937
SoftRAID_Volume FA709C7E-65B1-4593-BFD5-E71D61D
SoftRAID_Cache BBBA6DF5-F46F-4A89-8F59-8765B27
6A945A3B-1DD2-11B2-99A6-0800207
6A9630D1-1DD2-11B2-99A6-0800207
Reserved
6A980767-1DD2-11B2-99A6-0800207
partition
6A96237F-1DD2-11B2-99A6-0800207
6A8D2AC7-1DD2-11B2-99A6-0800207
Concatenated
2DB519C4-B10F-11DC-B99B-0019D18
partition
Encrypted
2DB519EC-B10F-11DC-B99B-0019D18
partition
Chrome OS kernel FE3A2A5D-4F32-41A7-B725-ACCC328
Vinum volume
85D5E45C-237C-11E1-B4B3-E89A8F7
manager partition
Journal 45B0969E-9B03-4F30-B4C6-B4B80CE
OSD 4FBD7E29-9D25-41B8-AFD0-062C0CE
dm-crypt disk in
89C57F98-2FE5-4DC0-89C1-5EC00CE
creation
Block CAFECAFE-9B03-4F30-B4C6-B4B80CE
Ceph[j]
Block DB 30CD0809-C2B2-499C-8879-2D6B785
Block write-ahead
5CE17FCE-4087-4169-B7FF-056CC58
log
Lockbox for
FB3AABF9-D25F-47CC-BF5E-721D181
dm-crypt keys
Multipath block
EC6D6385-E346-45DC-BE91-DA2A7C8
DB
Multipath block
01B41E1B-002A-453C-9F17-8879398
write-ahead log
dm-crypt block
93B0052D-02D9-4D8A-A43B-33A3EE4
DB
dm-crypt block
306E8683-4FE2-4330-B7C0-00A917C
write-ahead log
dm-crypt LUKS
45B0969E-9B03-4F30-B4C6-35865CE
journal
dm-crypt LUKS
CAFECAFE-9B03-4F30-B4C6-35865CE
block
dm-crypt LUKS
166418DA-C469-4022-ADF4-B30AFD3
block DB
dm-crypt LUKS
block write-ahead 86A32090-3647-40B9-BBBD-38D8C57
log
dm-crypt LUKS
4FBD7E29-9D25-41B8-AFD0-35865CE
OSD
Power-safe
QNX (QNX6) file CEF5A9AD-73BC-4601-89F3-CDEEEEE
system[38]
vmkcore
(coredump 9D275380-40AD-11DB-BF97-000C291
VMware ESX partition)
VMFS filesystem
AA31E02A-400F-11DB-9590-000C291
partition
VMware Reserved 9198EFFC-31C0-11DB-8F78-000C291
Bootloader 2568845D-2332-4675-BC39-8FA5A47
Bootloader2 114EAFFE-1552-4022-B26E-9B05360
Boot 49A4D17F-93A3-45C1-A0DE-F50B2EB
Recovery 4177C722-9E92-4AAB-8644-43502BF
Misc EF32A33B-A409-486C-9141-9FFB711
Metadata 20AC26BE-20B7-11E3-84C5-6CFDB94
System 38F428E6-D326-425D-9140-6E0EA13
Cache A893EF21-E428-470A-9E55-0668FD9
Android-IA[39]
[40][41][42] Data DC76DDA9-5AC1-491C-AF42-A825915
Persistent EBC597D0-2053-4B15-8B64-E0AAC75
Vendor C5A0AEEC-13EA-11E5-A1B1-001E67C
Config BD59408B-4514-490D-BF12-9878D96
Factory 8F68CC74-C5E5-48DA-BE91-A0C8C15
Fastboot /
767941D0-2085-11E3-AD3B-6CFDB94
Tertiary[44][45]
OEM AC6D7924-EB71-4DF8-B48D-E267B27
Open Network
Boot 7412F7D5-A156-4B13-81DC-8671749
Install
Environment
Config D4E6E2CD-4469-46F3-B5CB-1BFF57A
(ONIE)
Shared boot
freedesktop.org
loader BC13C2FF-59E6-4262-A352-B275FD6
OSes (Linux, etc.)
configuration[46]
Basic data
Atari TOS partition (GEM, 734E5AFE-F61A-11E6-BC64-92361F0
BGM, F32)
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. Only if using its service pack
1 or 2
c. In a multi-disk setup,
non-UEFI bootloader (boot
drive) requires MBR-based
partitioning, while a system
drive can use GUID
partitioning.
d. The GUIDs in this table are
written assuming a little-endian
byte order. For example, the
GUID for an EFI System
partition is written as
C12A7328-F81F-11D2-
BA4B-00A0C93EC93B here,
which corresponds to the 16
byte sequence 28h 73h 2Ah
C1h 1Fh F8h D2h 11h BAh
4Bh 00h A0h C9h 3Eh C9h
3Bh – only the first three blocks
are byte-swapped.
e. 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.
f. 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.[26]
g. Previously, Linux used the
same GUID for the data
partitions as Windows (Basic
data partition: EBD0A0A2-
B9E5-4433-87C0-68B6B726
99C7). 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-3D69D847
7DE4) was defined jointly by
GPT fdisk and GNU Parted
developers.[27] It is identified
as type code 0x8300 in GPT
fdisk. (See definitions in
gdisk's parttypes.cc )
h. The GUID for /usr on
Solaris is used as a generic
GUID for ZFS by macOS.
i. NetBSD and MidnightBSD
had used the FreeBSD GUIDs
before their unique GUIDs were
created.
j. The Ceph filesystem uses
GUIDs to mark the state of
preparation a disk is in.[37]
References
1. "FAQ: Drive Partition
Limits" (PDF). UEFI Forum.
Retrieved 2013-11-04.
2. Nikkel, Bruce J. (September
2009). "Forensic analysis of
GPT disks and GUID partition
tables". Digital Investigation. 6
(1-2): 39–47.
doi:10.1016/j.diin.2009.07.00
1 . “The current popular BIOS
and MBR partitioning scheme
was originally developed in the
early 1980s for the IBM
Personal Computer using IBM
PC-DOS or MS-DOS. The Basic
Input/Output System (BIOS)
provides an interface to the
hardware and initiates the boot
process (IBM, 1983). The MBR,
located in sector zero, contains
the initial boot code and a four
entry partition table (Microsoft,
1983). Intended to solve
booting and partitioning
limitations with newer
hardware, a replacement for
both the BIOS and the MBR
partition table was developed
by Intel in the late 1990s (Intel,
2000). This is now called the
Unified EFI (UEFI, 2008 UEFI
Forum. Unified extensible
firmware interface specification
version 2.2 2008.UEFI, 2008)
specification, and managed by
the UEFI Forum (UEFI, 2009). A
subset of this specification
includes GPT, intended to
replace the DOS/MBR partition
tables.”
3. Smith, Roderick W.
(2012-07-03). "Make the Most
of Large Drives with GPT and
Linux" . IBM. Retrieved
2013-05-29.
4. "UEFI specification" .
UEFI.org.
5. "Western Digital's
Advanced Format: The 4K
Sector Transition Begins" .
Anandtech.com. Anandtech.
6. "Installation" . 3.4 BIOS
installation. GNU GRUB.
Retrieved 2013-09-25.
7. "Technical Note TN2166:
Secrets of the GPT" .
Developer.Apple.com. Apple.
2006-11-06. Retrieved
2014-04-16.
8. 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.
9. "e09127r3 EDD-4 Hybrid
MBR Boot Code Annex" (PDF).
T13.org.
10.
https://technet.microsoft.com
/en-us/library
/cc753455.aspx#Anchor_1
11.
https://msdn.microsoft.com
/en-us/library/aa381635.aspx
12. "Disk Format" .
Chromium.org. Retrieved
2017-10-04.
13. "Ubuntu on MacBook" .
Ubuntu Community
Documentation.
14. "GNU Parted FAQ" .
15. "mklabel - GNU Parted
Manual" .
16. "fdisk: add GPT support" .
kernel.org. 2013-09-27.
Retrieved 2013-10-18.
17. Davidlohr Bueso
(2013-09-28). "fdisk updates
and GPT support" . Retrieved
2013-10-18.
18. "Myths and Facts About
Intel Macs" . rEFIt.
19. "Booting from a ZFS Root
File System" .
20. "idisk(1M)" (PDF). Hewlett-
Packard.
21. "Windows and GPT FAQ" .
Microsoft.
22. Windows 8 32-bit
supports booting from
UEFI-based PC using
GPT-based disks.
23. 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.
24.
ftp://download.gigabyte.ru
/manual/mb_manual_intel-
ui_e.pdf
25. "F6F: Funtoo Linux and
Intel Rapid Start Technology" .
Blog.adios.tw. 2012-10-30.
Retrieved 2014-01-29.
26. GPT fdisk: parttypes.cc,
line 198
27. 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.
28. The Discoverable
Partitions Specification
29. "[dm-crypt] LUKS GPT
GUID" . Saout.de. Retrieved
2014-01-29.
30. "[dm-crypt] LUKS GPT
GUID" . Saout.de. Retrieved
2014-01-29.
31. "pyuefi source code" .
32. "udisks-2.7.4 source
code" .
33. "CVS log for src/sys
/sys/disklabel_gpt.h" .
Cvsweb.netbsd.org. Retrieved
2014-01-29.
34. "Disk Format - The
Chromium Projects" .
Chromium.org. Retrieved
2014-01-29.
35. src/add-ons/kernel
/partitioning_systems
/gpt/gpt_known_guids.h
36.
http://www.midnightbsd.org
/cgi-bin/cvsweb.cgi/src/sys
/sys/gpt.h.diff?r1=1.4;r2=1.5
src/sys/sys/gpt.h
37. Script to set up a ceph
disk: ceph-disk, lines 76-81
38. QNX Power-safe
filesystem
39. "gpt.ini
(github.com/android-
ia/device-androidia-mixins)" .
40. "gpt.ini
(github.com/android-
ia/device-androidia)" .
41. "gpt.ini
(github.com/android-
ia/vendor_intel_baytrail)" .
42. "gpt-sample.ini
(github.com/android-
ia/platform_bootable_userfast
boot)" .
43. "gpt_ini2bin.py
(android.googlesource.com/pl
atform/hardware/bsp/intel)" .
44. "gpt.c
(github.com/android-
ia/platform_bootable_userfast
boot)" .
45. "gpt_ini2bin.py
(github.com/android-
ia/vendor_intel_common)" .
46. "The Boot Loader
Specification" .
freedesktop.org. Retrieved
2017-01-05.
External links
Microsoft TechNet: Disk
Sectors on GPT Disks
(archived page)
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
Retrieved from
"https://en.wikipedia.org
/w/index.php?title=GUID_Partition_
Table&oldid=836052527"