What's a GPT?

by Rod Smith, rodsmith@rodsbooks.com

Last revision: 6/26/2010, GPT fdisk version 0.7.2

I'm a technical writer and consultant specializing in Linux technologies. This Web page, and the associated software, is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find GPT fdisk or this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!

Donate $1.00 Donate $2.50 Donate $5.00 Donate $10.00 Donate $20.00 Donate another value
Donate with PayPal
Donate with PayPal
Donate with PayPal
Donate with PayPal
Donate with PayPal
Donate with PayPal

Note: This page is part of the documentation for my GPT fdisk program.

In order to understand what GPT is, you must first understand the current standard for disk partitioning and its limits. With that knowledge in hand, you can see how GPT can fix MBR's deficiencies.

MBR, Its Annoyances, and Its Limits

Since the earliest hard disks for x86 computers, these disks have been divided into one or more partitions using a partitioning scheme that has, through the ages, gone by several names, such as MS-DOS disklabels, BIOS partitions, and MBR partitions. By whatever name, the MBR partitioning scheme has several characteristics that have, in one way or another, been limitations or annoyances:

There are techniques you can use to extend the life of MBR; however, these methods are stop-gaps at best. Sooner or later, you'll find MBR to be inadequate as you move to larger and larger disks.

GPT to the Rescue

The heir apparent to MBR is GPT. This new partitioning scheme fixes many of MBR's problems:

Unfortunately, GPT is not without its problems. These mainly relate to compatibility. Older OSes have no or limited GPT support. For instance, Windows only supports GPT at all on Windows Server 2003, the 64-bit (but not the 32-bit) version of Windows XP, Windows Vista, and later. Through Windows 7, booting from a GPT disk is impossible unless the system uses the Unified Extensible Firmware Interface (UEFI) rather than a legacy BIOS. (Most computers through 2010 still used a legacy BIOS, although by mid-2011 UEFI-based PCs started becoming common in stores.) Linux has long supported GPT, but boot support depends on the boot loader. GRUB through version 0.97 doesn't officially support booting from GPT, but patched versions of GRUB 0.97 with GPT support are common, and GRUB2 officially supports booting from GPT. Intel-based Macs use GPT by default. (The "Booting from GPT" section of this Web page describes GPT boot issues in more detail.)

To protect GPT disks against errant older disk tools, GPT keeps an MBR partition table on the first sector of the disk. This MBR contains a single disk-spanning partition of type 0xEE, which makes older tools think the disk is in use by an unknown OS. Some tools take advantage of this feature to create a hybrid MBR configuration, in which some partitions are accessible via both GPT and MBR definitions. Although this is non-standard, awkward, delicate, and downright dangerous, it can help make the transition from MBR to GPT easier by providing a workaround for OSes that don't understand GPT.

In addition to the protective MBR, GPT features two main types of data structure, each of which is stored on the disk twice:

Because of the hard 2 TiB limit of MBR partitions, chances are you'll be forced to switch to GPT for at least some disks in the not-too-distant future. MBR is likely to remain useful on smaller devices, such as USB flash drives, for years to come. In 2011, most existing x86 and x86-64 PCs still use MBR-partitioned disks, although as noted earlier, UEFI-based PCs are now common in stores. Mac hardware is an exception to this rule; Apple has embraced GPT, as well as the EFI, of which the GPT definition is part.

Go on to "Working Around MBR's Limitations"

Return to "GPT fdisk" main page


If you have problems with or comments about this web page, please e-mail me at rodsmith@rodsbooks.com. Thanks.

Return to my main web page.