A comparison of GPT and MBR partition structures
Have you ever wondered how a computer boots up? Regardless of hardware or operating system, all computers start up using either the traditional BIOS-MBR or the more recent UEFI-GPT method employed by the latest versions of Operating Systems available.
In this article, we will compare GPT and MBR partition structures; GPT stands for GUID Partition Table, while MBR stands for Master Boot Record. First, we start by understanding the boot process.
The following chapters highlight differences between GPT and MBR partition styles, include instructions on how to convert between the two styles, and offer advice on what to choose.
Understanding a computer boot up process
When you hit the power button of your PC, an execution begins that will eventually load the Operating System into memory. This first execution depends on the partition structure of your hard disk.
We have two types of partition structures: MBR and GPT. The partition structure on a drive defines three things:
- The structure of data on the drive.
- The code used during startup if a partition is bootable.
- Where a partition begins and ends.
The MBR boot process
Back to our boot process. So if your system is using the MBR partition structure, the first execution process will load the BIOS. Now, BIOS - Basic Input/Output System comprises the bootloader firmware. The bootloader firmware contains low-level functions such as reading from the keyboard, accessing video display, performing disk I/O and the code to load a first stage bootloader. Before the BIOS can detect the boot device, it goes through a sequence of system configuration functions starting with:
- Power-on-self-test.
- Detecting and initializing the video card.
- Displaying the BIOS start-up screen.
- Performing a brief memory (RAM) test.
- Configuring plug and play devices
- Identifying the boot device.
Once BIOS has detected the boot device, it reads the first disk block of that device into memory. The first disk block is the MBR, and it has a size of 512 bytes. It contains three items that have to fit into this space:
- Stage one bootloader (440 bytes)
- Disk partition table (16 bytes per partition X 4 partitions) - MBR supports only 4 partitions, more information on this later.
- Disk signatures (4 bytes)
At this stage, the MBR scans the partition table and loads the Volume Boot Record (VBR) into RAM.
The VBR usually contains an Initial Program Loader (IPL) which is the code that initiates the boot process. The Initial Program Loader comprises the second stage bootloader which then loads the operating. On Windows-NT derived systems such as Windows XP, the IPL first loads another program called NT Loader (abbreviated as NTLDR) which then loads the operating system.
For Linux based Operating Systems, a bootloader called GRUB is used. The boot process is just similar to the one described above, the only difference being at the naming of stage 1 and stage 2 bootloaders.
Under GRUB, the stage one bootloader is called GRUB stage 1. GRUB Stage 1 loads second stage bootloader known as GRUB Stage 2. The second stage bootloader loads operating systems on the hard drive and presents the user with the list of operating systems to boot.
GPT boot process
Still on the boot process; with a GPT partition structure, the following happens. GPT uses UEFI which avoids the MBR process of storing stage one bootloader which then loads stage 2 bootloader. UEFI - Unified Extensible Firmware Interface is more advanced than BIOS and can parse a file system and even load files on its own.
So, on powering on your computer, UEFI first performs the system configuration functions such as power management, setting dates and other system management components just as in BIOS.
UEFI then reads the GPT - GUID Partition Table. GUID stands for Globally Unique IDentifier. GPT is located on a drive's first blocks, just after block 0 which still holds MBR for Legacy BIOS.
GPT defines the partition table on a disk from which the EFI bootloader identifies the EFI system partition. The system partition contains bootloaders for all Operating Systems installed on other partitions on the hard drive. A bootloader initializes a windows boot manager which then loads the Operating System.
For Linux based Operating Systems, there’s an EFI aware version of GRUB (Grand Unified Bootloader) that loads a file such as grub.efi or the EFI loader that loads a file such as elilo.efi.
You may have noticed that both UEFI-GPT and BIOS-MBR loads a bootloader without loading the operating system directly. However, in UEFI, there's no going through multiple bootloaders as seen in BIOS. The boot process happens very first depending on your hardware capabilities.
Differences Between GPT and MBR Partition Structures
If you have ever tried installing a Windows 8 or 10 operating system on a new computer, chances are you have been asked whether you want to use MBR or GPT partition structure.
If you are interested in knowing more or are planning to setup your computer with a new operating system, then keep on reading. We have already looked at the differences in the boot processes which you should keep in mind when partitioning a drive or deciding a partition structure.
GPT is a newer and more advanced partitioning structure, and comes with many advantages as I will list below. MBR has been in use for a long time, it’s stable and still the most compatible. Although GPT may be gradually replacing MBR because GPT has more advanced features, MBR is still necessary in some cases.
Master Boot Record
MBR is the traditional partitioning structure for managing a drive's partition. Since it is compatible with most systems, it still being used widely by most people. The MBR resides at the very first block of a hard drive, or in simpler terms, at the beginning of a hard drive. It holds the partition table - the information on the organization of logical partitions in the hard drive.
The MBR also contains executable code that scans through the partitions for an active OS and initializes the bootup procedure for the OS.
An MBR disk only allows four primary partitions. IF you would like more partitions, you can set the fourth partition as an extended partition, and it will let you create more sub-partitions or logical drives within it.
MBR uses 32-bit to record the partition, so each partition is restricted to a maximum of 2TB in size.
Advantages
- It's compatible with most systems.
Disadvantages
- It allows only 4 partitions, with the option of having more sub-partitions on the 4th partition.
- It limits its partition size to a maximum of 2TB.
- Partition information stored in only one place - the MBR. If it gets corrupted, the entire hard drive becomes unreadable.
GUID Partition Table (GPT)
GPT is the newer standard for defining the partition structure of a hard disk. It uses GUID (Globally Unique Identifiers) to define the partition structure.
It is part of the UEFI standard, meaning a UEFI based system can only install on drive that uses GPT, for example, Windows 8 Secure Boot feature.
GPT allows for the creation of unlimited partitions even though some Operating Systems may restrict to 128 partitions. Also, GPT does not have a limit on the size of a partition.
Advantages
- It allows for unlimited number of partitions- the limit being the operating system, for example, Windows allows up to 128 partitions.
It does not limit the size of a partition - the size limit is dependent on the operating system.It's limit is larger than any disk made as of today. For disks with 512-byte sectors, a maximum size of 9.4 ZB (a Zettabyte is 1,099,511,627,776Â Terabytes)Â is supported
- GPT stores a copy of the partition and boot data and can recover if data is corrupted in the primary GPT header.
- It stores cyclic redundancy check values to check the integrity of its data (used to verify the integrity of the GPT header). In the case of corruption, GPT can notice the problem and attempt to recover the damaged data from another location on the drive.
Disadvantages
- It may not be compatible with older systems.
GPT vs MBR
- GPT allows for unlimited number of partitions while MBR allows for only 4 partitions
- GPT allows for unlimited size on a partition while MBR allows for only 2TB.
- GPT stores a copy of the partition data allowing for recovery in case of corruption in the primary GPT header; MBR only stores one copy of the partition data in the first block of the hard drive, hence rendering the drive unusable in case of damage to the partition data.
- GPT stores cyclic redundancy check values to keep checking if the data on the drive is still intact and can do the necessary repairs from other sections of the disk in case of damage; MBR has no way of knowing if the data on the disk is still intact, you can only find out when the computer fails to boot or when partitions disappear.
Operating System Compatibility
The first block (block 0) of a GPT drive contains a protective MBR which has information showing the drive has a single partition extending across the entire drive. In case you use an old tool that can only read MBR disks, it will identify one partition extending across the entire hard drive. By doing so, it ensures the old tool won't mistake the GPT drive for being empty and end up overwriting its GPT data with a new MBR.
This MBR protects the GPT data from being overwritten.
Intel Mac Books use GPT by default, and it's not possible to install Mac OS X on an MBR system. Even though Mac OS X might run on MBR disk, installing on it is what is not possible. I have literally tried this without success.
Most Linux Operating Systems are compatible with GPT. On setting up a Linux OS on a disk, GRUB 2 will be installed as the bootloader.
For Windows Operating Systems, booting from GPT is only possible on UEFI-based computers running 64-bit versions of Windows Vista, 7, 8, 10 and corresponding server versions. If you purchased a laptop that came preinstalled with Windows 8 64-bit version, chances are it's using GPT.
The default configuration for Windows 7 and earlier versions is MBR, but you can still convert to GPT as I will explain in this article.
All versions of Windows Vista, 7, 8, 10 can read and use GPT for data - but they can't boot from GPT drives without UEFI.
So GPT or MBR?
You can be comfortable with either MBR or GPT. But given the advantages, GPT has over MBR as listed earlier, and the fact that modern computers are migrating towards it, you may probably consider using GPT. If your goal is to support older systems or want to boot a computer that uses the traditional BIOS, then you will have to stick to MBR.
Check the Partition Type of a hard drive
You can check the partition type of any hard drive connected to a Windows PC using Disk Management. To start Disk Management, do the following:
Use the keyboard shortcut Windows-R to open the run box.
Type diskmgmt.msc, and hit the Enter-key.
Windows scans the hard drives, and displays a representation after a short moment. To check the partition type of any hard drive, start by right-clicking on the Disk tiles in the lower half of the interface. It is important that you right-click on Disk 1, Disk 2 and so on, and not on the partitions.
Select the properties option from the context menu that opens. This opens the properties window of the selected disk.
Switch to the Volumes tab, and look at the Partition style value under disk information on the page that opens. It highlights the partition type.
If you prefer to use the command line, you may do the following instead. The advantage of the method is that it is a bit faster, as it lists all disks and the partition style directly.
- Tap on the Windows-key, type cmd.exe, hold down the Ctrl-key and the Shift-key, and hit the Enter-key.
- Confirm the UAC prompt that opens, This opens an elevated command prompt window.
- Type diskpart and hit Enter.
- Type list disk and hit Enter again.
All disks are listed now. Check the Gpt column to find out whether a particular disk is MBR or GPT. If you see a * in the column, it means that a disk is using GPT, if you don’t, it uses MBR.
Converting Between MBR and GPT During Windows Installation
There are two common error messages you are likely to get when installing windows on a hard drive:
- Error #1: “Windows cannot be installed to this disk. The selected disk is not of the GPT partition style.â€
- Error #2: "Windows cannot be installed to this disk. The selected disk is of the GPT partition style."
When either of these error messages shows up, you may not be able to choose a partition to proceed with the installation. But this does not mean your computer has a problem.
As you already know, MBR and GPT are two entirely different partition structures of a hard disk. MBR being the traditional partitioning structure and GPT being the newer standard.
Error #1 shows up when you try to install Windows on a UEFI-based PC yet the hard drive partition is not configured for UEFI mode or legacy BIOS-compatibility. There are two options from Microsoft TechNet to help you get around this error.
- Reboot your computer in Legacy BIOS-compatibility mode. This option lets you keep the existing partition style.
- Reformat the drive for UEFI by using the GPT partition style. This option lets you use the PC’s UEFI firmware features. You can do this yourself by reformatting the drive using the instructions provided below. Always backup your data first before following through this step.
Of course there are third-party utility software to help convert the disk to GPT format and still preserve the data, but it’s always safe to backup the data just in case the utility fails to complete the conversion
Instructions for converting a hard drive from MBR to GPT
Using Windows Setup
- Turn Off your computer and insert the Windows installation media (could be a USB flash drive or DVD)
- Boot the computer to the DVD or USB flash drive in UEFI mode.
- Select Custom when choosing an installation type.
- A screen shows with the message: "Where do you want to install Windows?" Select all the partitions on the drive, and then select Delete.
- Â After Deleting is successful, the drive will show a single area of unallocated space.
- Select the unallocated space and Click Next. Windows detects the computer was booted into UEFI mode, and automatically reformats the drive using GPT disk format hence converting it. The installation begins after that.
Using manual conversion
- Turn off your computer and insert the Windows installation DVD or USB flash drive.
- Boot the computer to the DVD or USB flash drive in UEFI mode.
- From inside Windows setup, press Shift + F10 to open a command prompt. Remember to hit Enter after typing the following commands.
- Open the diskpart tool by typing: diskpart
- To identify the drive to be converted type list disk and you should see the following: list disk
- Select the drive from the disk list using the disk number in the previous step by typing select disk as shown in the example: select disk #
- Clean the drive by typing: clean
- Convert to GPT by typing: convert gpt
- Type exit and then hit Enter to close diskpart.
- Â Close the command prompt to go back to windows installation.
-  When choosing an installation type, select Custom. The drive will appear as a single partition of unallocated space.
- Select this unallocated space and click Next. Windows begins the installation.
Instructions for converting a hard drive from GPT to MBR
Sometimes it may be necessary to convert to MBR partition structure, for instance when you see the error message below while trying to install windows to disk.
"Windows cannot be installed to this disk. The selected disk is of the GPT partition style."
Booting from GPT is only supported on 64-bit versions of Windows Vista, 7, 8, 10 and corresponding server versions on UEFI-based systems. The above error message shows that your computer does not support UEFI and hence you can only use BIOS which works with MBR partition structure.
To go around this error message, Microsoft TechNet suggests the following options:
- Reboot the PC in legacy BIOS-compatibility mode. This option lets you keep the existing partition style.
- Reformat the drive to MBR so as to be supported by the computer's firmware features. This step will wipe all your data, so before proceeding, remember to do a backup. Of course there are third-party utility software help convert the drive to MBR format and still preserve the data, but it’s always safe to backup the data just in case the utility fails to complete the conversion.
If you choose option two of converting to MBR follow these steps:
Using Windows Setup
- Turn Off your computer and insert the Windows installation media (could be a USB flash drive or DVD)
- Boot the computer to the DVD or USB flash drive in BIOS mode.
- Select Custom when choosing an installation type.
- A screen shows with the message: "Where do you want to install Windows?" Select all the partitions on the drive, and then select Delete.
- After Deleting is successful, the drive will show a single area of unallocated space. Select the unallocated space and Click Next. Windows detects the computer was booted into BIOS mode, and automatically reformats the drive using MBR disk format hence converting it. The installation begins after that.
Using manual conversion
- Turn off your computer and insert the Windows installation DVD or USB flash drive.
- Boot the computer to the DVD or USB flash drive in BIOS mode.
- From inside Windows setup, press Shift + F10 to open a command prompt. Remember to hit Enter after typing the following commands.
- Open the diskpart tool by typing: diskpart
- To identify the drive to be converted type and you should see the following: list disk
- Select the drive from the disk list using the disk number in the previous step by typing select disk as shown in the example: select disk #
- Clean the drive by typing: clean
- 8. Convert to MBR by typing: convert mbr
- Type exit and hit Enter to close diskpart.
- Â Close the command prompt to go back to windows installation.
-  When choosing an installation type, select Custom. The drive will appear as a single partition of unallocated space.
- Select this unallocated space and click Next. Windows begins the installation.
Educational Videos
What are Drive Partitions?
Differences between BIOS and UEFI
MBR and GPT Partition Tables
Resources
The following resources offer further reading on MBR or GPT partition styles:
- Boot to UEFI Mode or Legacy BIOS mode (Microsoft Technet)
- Booting from GPT (Rod Smith)
- Change a Master Boot Record Disk into a GUID Partition Table Disk (Microsoft Technet)
- Difference between GPT and MBR (HowToGeek)
- GUID Partition Table (Wikipedia)
- Legacy Bios Issues with GPT (Rod Smith)
- Master Boot Record (Microsoft Technet)
- Windows and GPT FAQ (Microsoft Hardware Dev Center)
- Windows Setup: Installing using the MBR or GPT partition style (Microsoft Technet)
I use MBR because this is compatible with drive imaging and backup software where GPT is not. Even if you recover a GPT image the GUID is not correct and I have not found a way to fix this. so for me KISS keep it simple!
The article is informative, thanks for sharing. As the the final part that tells how to convert partition table types between MBR and GPT, I have a better method which is much easier and does not cause data loss:
1. Run Eassos PartitionGuru Free. 2. Select the hard drive you want to convert and click “Convert to GUID partition table” under Disk menu. 3. Click OK to continue. 4. Click “Save All” to save new partition table to the hard drive.
In addition to UEFI based systems with x64 processors booting Windows from GPT, UEFI based systems with x86 processors will also boot Windows from GPT.
I’m having issues with my new setup, my M2 drive has multiples drives on it after a few failed windows 10 installs. (needed bios update to get it to work)
No it has 4 disks on it. Disk 0 disk 1 disk 2 and disk 3… Disks 0 to 2 have 0 space on them and disk 3 has my windows 10 on it with 3 partiotions.
I’m having slow boot up in windows 10 (like 2 minutes or so) I’ve tried to remove it with diskpart, windows 10 disk manager and partition magic..
I even tried to reinstall windows 10 to see if I can delete them in the install process, that can’t even remove it..
Any tips to get it right?
Well I fixed it with the info in this article.
Now have 5 second boots!
Very useful and comprehensive, thank you.
There is lots of disk space wasted in the GPT partition scheme due to reserved partition, recovery partition, BitLocker partition, EFI system partition. The designers of GPT had no consideration in mind for wasted disk space, especially on smaller and expensive SSDs.
for some strange reason, when i installed win10 (ages ago) on a ssd boot drive i ended up with a mbr drive rather than gpt… oh well… really can’t be asked to reinstall… would think about it when it goes kaput..
does it matter for ssd?
If the SSD is less than 2TB, that is okay.
Wow. Nice detailed article on MBR and GPT structures. I learned something new after reading this. Thanks.
~Chris
There is actually a not too complicated method for booting from GPT with legacy BIOS. You simply swap out the Windows bootloader for something like GRUB, and copy the Windows boot files into a small VHD image. Load the VHD image onto memdisk (a Syslinux module) so GRUB can use it to boot Windows.
Detailed steps here:
http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/page-2#entry184489
Wow! Great write-up. Thanks!
gpt does have a max partition size its just larger than any disc made presently
EB or ZB sizes depending on sector size.
You are right, thank you. I have corrected the information.
Hello, I think I find possible misunderstandings in article. In:
“It stores cyclic redundancy check values to check the integrity of its data. In the case of corruption, GPT can notice the problem and attempt to recover the damaged data from another location on the drive.”
I think it’s written in a vague way, and it sounds like GPT has properties that have file systems like ZFS or REFS (integrity checking)
In here it is written than CRC check is only for control checksum of GPT partition table, not data itself
( https://msdn.microsoft.com/en-us/library/windows/hardware/dn653580(v=vs.85).aspx )
“Provides greater reliability because of replication and cyclical redundancy check (CRC) protection of the partition table.”
Have a nice dat a thank you for article!
I have added clarification to the sentence to make it clearer (used to verify the integrity of the GPT header)
Thanks! :-)
Much appreciated, thanks.
TelV: This is not Martin article
This is a nice article, Melanie :) Very comprehensive. I use MBR on all PCs as I don’t use HDDs larger than 2TB in the first place (in case of failure, 2TB seems like less damage, regardless of backups made or data redundancy), and I’d like compatibility across all devices just in case I ever need it for data recovery and whatnot.
Excellent tutorial Martin.
Incidentally, Windows 8.1 users onwards can access an elevated command prompt directly by hitting Windows key + X, or by right clicking the Start button. The prompt is displayed on the power users menu as Command Prompt (Admin).
Linux Partitions GPT vs MBR and how to set it up properly. :)
I use this small tool to Check the Partition Type of a hard drive “Disk Partition Style†is a Portable Freeware to show our partition style with one click
http://www.sordum.org/9307/show-disk-partition-style-v1-0/
Excellent’n’comprehensive and moreover structured article on computer partitioning. Just refreshed my knowledge of this topic. Vital info for my upcoming job. Thank you very much!
nice article.. thanks
Well written & full of info. Thanks Melanie.