Jump to content

GUID Partition Table

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Scorpiuss (talk | contribs) at 12:20, 26 August 2005 (New GPT article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

GUID Partition Table (GPT) is a standard for the layout of the partition table on a physical hard disk. It is a part of the Extensible Firmware Interface (EFI) standard proposed by Intel as a replacement for the outdated PC BIOS, one of the few remaining relics of the original IBM PC. The GPT replaces the Master Boot Record (MBR) used with BIOS.

Features

While the MBR begins with the Master Boot Code, which contains executable binary for the purpose of identifying and booting the active partition, GPT relies on the extended capabilites of EFI for these processes. While an MBR entry begins the disk for protective and compatibility purposes, the GPT itself begins with the Partition Table Header.

Additionally, GPT uses modern LBA addressing in place of the CHS addressing used with MBR. The legacy MBR information is contained in LBA 0, the GPT header is in LBA 1, and the partition table itself follows. In 64-bit Windows operating systems, 16,384 bytes, or 32 sectors, are reserved for the GPT, designating LBA 34 as the first usable sector on the disk.

GPT also provides for redundancy. The GPT header and partition table are written at both the beginning and end of the disk.

Legacy MBR (LBA 0)

The primary purpose of the imitation MBR at the beginning of the disk is to prevent MBR-based disk utilities from mis-recognizing, and possibly over-writing, GPT disks. A single partition, encompassing the entire GPT drive, is indicated.

Partition Table Header (LBA 1)

The partition table header defines the LBAs on the disk that can be utilized by the user (the usable LBAs). It also defines the number and size of the partition entries that make up the partition table. On 64-bit Windows machines, there are 128 entries, each 128 bytes long. Thus, 128 partitions can be created.

The header contains the disk GUID (Globally Unique Identifier). It records its own size and location (always LBA 1) and the size and location of the secondary GPT header and table (always the last sectors on the disk). Importantly, it also contains a CRC32 checksum for itself and for the partition table, which is verified by EFI processes on boot.

Partition Entries (LBA 2-33)

Partition entries are simple and straightforward. The first 16 bytes designate the partition type GUID. For example, the GUID for an EFI System partition is {28732AC1-1FF8-D211-BA4B-00A0C93EC93B}. The second 16 bytes contain a GUID unique to the partition. Starting and ending LBAs are also contained here, along with an optional partition name.

See also