Saturday, February 4, 2012

MBR Partition Table Vs GUID Partition Table(GPT)


There are two standards for the layout of the partition table on a physical hard disk - MBR and GPT.

To partition block devices, there are currently two partitioning technologies in use: MBR and GPT

The MBR(Master Boot Record) uses 32-bit identifiers to specify the start sector and length of the partitions.

The GPT(GUID Partition Table) setup uses 64-bit identifiers for the partitions. The location in which it stores the partition information is also music bigger than 512 bytes of an MBR.

When a system’s software interface between the OS and firmware is UEFI(instead of BIOS), GPT is almost mandatory as compatibility issues with MBR will arise here.

GPT also has the advantage that it has a backup GPT at the end of the disk, which can be used to recover damage of the primary GPT at the beginning. GPT also carries CRC32 checksums to detect errors in the header and partition tables.

Using GPT on a BIOS based computer works, but one cannot dual boot with Windows OS because windows will boot in EFI mode if it detects a GPT partition label.

As per Wikipedia,  MBR partitioning scheme, dating from the early 1980s, imposed limitations which affected the use of modern hardware. Intel therefore developed a new partition-table format, GPT, in the late 1990s as part of what eventually became UEFI.

At this juncture, we need to tell about BIOS and UEFI. The BIOS was originally created for the IBM PC; while BIOS has evolved considerably to adapt to modern hardware, Unified Extensible Firmware Interface (UEFI) is designed to support new and emerging hardware.

Traditional BIOS supports a maximum disk size of 2.2TB. By using GPT, disk sizes greater than 2.2TB can be supported for BIOS. However, there is a catch while using GPT with BIOS - GPT can only be used for data disks; it cannot be used for boot drives with BIOS; therefore, boot drives can only be a maximum of 2.2TB in size if BIOS is used. UEFI overcomes these shortcomings.


MBR - Master Boot Record parition table

  • Supports just 4 primary partitions or 3 primary + 1 extended partition. In extended partition, we can define many logical partitions.
  • Partitions with size exceeding 2TB cannot be created using MBR
  • fdisk command can be used for creating MBR partitions


GPT - GUID Partition Table

  • 128 primary partitions can be created. Hence no need for extended or logical partitions.
  • GPT has 2 tables : One primary and the other secondary, for backup purpose
  • Allows creation of partition sizes larger than 2TB. Max partition size is 9.4 zettabytes.
  • In order to use GPT, GPT support must be enabled in kernel. CONFIG_EFI_PARTITION must be set to Y and kernel recompiled.
  • By using GNU parted command, gpt partitions can be created
Bootloader Support
  • GRUB-Legacy bootloader does not support GPT
  • GRUB2 provides the ability to boot from GPT in both BIOS and UEFI based systems. 

More info can be found in 





No comments:

Post a Comment