GPT (GUID Partition Table)

botond published 2020. 02. 28., P - 13: 56 time



A GUID partition table (GPT) is a standard for the layout of partition tables in physical computer storage devices, such as hard drives or SSDs. universally unique identifiers (UUIDs) uses (also known as GUID) to clearly distinguish partitions on the storage device. GPT is UEFI (Unified Extensible Firmware Interface) is part of the standard but is certain BIOSis also used in systems because - used in BIOS - Master Boot Record (MBR) partition tables are limited because they use 32 bits for logical block addressing (LBA) of traditional 512-byte disk sectors.

All modern PC operating systems support GPT. However, some systems, including x86 architecture on macOS and Microsoft Windows, only support boot from GPT partitions on EFI / UEFI computers (these systems can handle GPT partition formatted hard disks in BIOS as well) , they just can't boot), but FreeBSD and most Linux distributions can boot from the GPT partition, regardless of whether the machine is running the old BIOS or modern EFI / UEFI.


The Master Boot Record (MBR) partitioning scheme, which has been widely used since the early 1980s, has imposed restrictions on the use of modern hardware. Its biggest limitation was addressing only the 32-bit block, which resulted in hard disk drives with 512-byte sectors having MBR partition tables of up to 2TB (232 x 512 bytes) of storage, so they couldn't access the area above that.

In the late 1990s, Intel developed a new partition table format as part of what eventually became the Unified Extensible Firmware Interface (UEFI). As of 2010, the GUID partition table is part of the UEFI specification. GPT uses 64-bit Boolean block addressing, which allows 2-bit processing64 sector. This is a maximum size of 512 for a 9,4-byte sector storage ZB (9,4 x 1021 byte) or 8 ZiB (264 piece sector x 512 bytes per sector).


Like MBRs, GPTs use logical block addressing (LBA) instead of previous cylinder head sector (CHS) addressing. The protective MBR is located in block 0 of the LBA (see below). The GPT header is in LBA Block 1, which contains a pointer to the partition table (Partition Entry Array), which usually begins with Unit 2 of the LBA. The UEFI specification requires at least 16,384 bytes to be reserved for the Partition Entry Array, regardless of the size of the sectors, with entries of 128 bytes. Thus, on a disk with 512-byte sectors, sector 34 is the first usable sector on the disk.

Hard disk manufacturers have switched to 4096 byte sector sizes for their new products. The first of these drives continued to display 512 bytes of physical sectors in operating systems. Performance degradation can occur if the physical 4-KiB sector boundaries of the drive do not coincide with the 4 KiB logical blocks, clusters, and virtual memory pages that are common to many operating systems and file systems. This was a particular problem during write operations when the drive was forced to perform two read-modify-write operations to execute a single misaligned 4 KiB write operation.

Protective MBR

For limited backward compatibility, the old MBR is still retained in the GPT specification, but is now used only to prevent MBR-based disk management software from being recognized incorrectly and possibly overwriting GPT disks. This is called a protective MBR.

It contains a single 0xEE (GPT) partition which occupies the entire disk as a single partition, according to the defensive MBR record. Operating systems and devices that cannot read GPT disks usually mark the disk as unknown, with no empty space, and usually refuse to modify the disk (unless the user explicitly requests and confirms, for example, deleting the partition). This minimizes accidental deletions. Additionally, operating systems that are familiar with GPT may check the Protective MBR, and if the partition type provided is not 0xEE, or if multiple partitions are defined on the drive, the operating system may refuse to modify the partition table.

If the actual size of the disk exceeds the maximum partition size that can be represented by the legacy 32-bit LBA entries in the MBR partition table, the fixed size of the partition must be trimmed to its maximum, thus ignoring the rest of the disk. This represents a maximum size of 2 TiB assuming the disk sector size is 512 bytes. This would mean 16 TiB if the sector size were defined in the newer standard 4 KiB, but since many older operating systems and utilities are fixed to 512 byte sector sizes or limited to 32-bit computing, the 2 TiB size limit exceeds compatibility can cause problems.