GPT vs MBR. Why not MBR?

There are several advantages to GPT:

  • Supports disks larger than 2TiB.
  • Supports partitions larger than 2TiB.
  • Supports more than four partitions, with no distinction between primary, extended, and logical partitions.
  • Uses GUIDs as type codes, which means there's less risk of conflicting/duplicate codes.
  • Uses LBA addressing exclusively, compared to MBR's dual use of LBA and CHS. (Even on MBR, CHS is useless on disks over about 8GB, though, so there's little risk of real conflict on modern hard disks, which are much bigger than this.)
  • Provides duplicate partition table structures at the start and end of the disk, which makes recovery from some types of user errors, bugs, and disk damage possible.
  • Provides checksums of important data structures, which enables detection of some types of partition table damage.
  • Provides a UTF partition description field, so you can give your partitions names. Note that this is independent of the name of the filesystem contained in the partition.
  • Is used natively by EFI/UEFI firmware.

Note the difference between a tebibyte (TiB; 1024^4 bytes) and a terabyte (TB; 1000^4 bytes). The former are IEEE-1541 units, whereas the latter are SI units. For most disk measurements, IEEE-1541 units are more natural. Some documentation and software (especially older stuff) mis-applies SI suffixes to IEEE-1541 measurements, which is confusing.

Most of these advantages are minor ones for most installations. The two most important advantages are the fact that GPT is the natural partitioning scheme for EFI and the lack of primary/extended/logical distinction. The other GPT advantages combined are worth noting, but are not overwhelming issues for most people.

Most computers introduced since mid-2011, including the vast majority of systems that shipped with Windows 8 and later, use EFI firmware. If you boot such a computer in EFI mode (rather than using the CSM, which enables BIOS-mode booting), using GPT is something of a default. If you boot (or dual-boot) Windows in EFI mode, using GPT is required (it's a Windows limitation). IIRC, Ubuntu won't install to an MBR disk in EFI mode, either, but you could probably convert partition table type and get it to boot after installing it. Booting from an MBR disk in EFI mode is poorly tested, though, and might fail on some EFIs.

The primary/extended/logical distinction of MBR is an awkward hack that was created in the 1980s to get around the four-partition limit of MBR. GPT defaults to supporting 128 partitions, but that limit can be raised if it's absolutely required. MBR logical partitions are no slower to access than primary partitions, but they are more prone to damage because of the fact that they rely on a linked-list data structure that spans multiple sectors scattered throughout the disk. The biggest problem is simply dealing with hassles like running out of primary partitions or handling partition resize operations that involve both primary and logical partitions (and that therefore also requires resizing an extended partition, which is an extra operation -- and an extra chance for something to go wrong).

If you're booting in BIOS mode on a sub-2TiB disk, it's probably best to stick with MBR, simply because there are some BIOSes that don't react well to booting from GPT disks. Such problems can usually be worked around, but it's easier not to run into the problems in the first place. Using GPT on a BIOS-based computer will also prevent you from installing Windows on that system. If you know what you're doing and want to use GPT, though, using GPT in BIOS mode for an Ubuntu installation is do-able, and I won't discourage you from doing so -- but if you run into problems you may need to troubleshoot it.

As most modern computers use EFI, though, GPT may be semi-required -- if you boot in EFI mode. If you use BIOS/CSM/legacy mode on such a computer, sticking to MBR is still preferable, for the reasons just noted. FWIW, my recommendation at this point, if you've got the choice, is to disable BIOS/CSM/legacy support and use EFI mode exclusively on EFI-based computers. This simplifies the boot path and makes it less likely that you'll run into problems. The trouble is that there's a lot of bad advice out there to do the contrary, which creates more problems than it solves, in my estimation. (A search on this site, for instance, reveals numerous problems caused by cross-mode OS installations and other issues related to using BIOS/CSM/legacy mode on an EFI-based computer.)

If you've got an over-2TiB disk, you pretty much must use GPT. The main exception to this is if the disk uses a 4096-byte logical sector size, which raises the 2TiB MBR limit to 16TiB. Some external disks do this, and I've heard of some high-end internal disks that do it, too. (Note that many disks have 4096-byte physical sectors and 512-byte logical sectors. They have the same 2TiB MBR limit as disks with 512-byte physical and logical sectors.)


It will make no difference for you at all. Advantages of GPT are:

  • Large partitions, more that 2 TB
  • Unlimited number of primary partitions

In your case you do not need first. Second can be achieved by creating an extended partition and creating logical ones there.

For linux it does not matter to which type of partitions install (logical or primary). But with GPT it may be slightly more handy to move partitions if needed, because they will all be primary.

There is no performance difference at all.

All other "advantages" of GPT are so minor, that it is not worth to mention.


I've been wondering about this for months. Here's a Windows answer to your question: GPT appears to me to be significantly faster. I've not found any test results to date that support what I have below, though I've found many guesses that the performance difference is negligible other than at startup. I'm not so sure now. Here's my tuppence worth:

I have a 2TB Samsung D3 USB 3.0 external drive. I had it split into two MBR partitions approx 1TB each. My PC is Windows 10 64bit, Asus Z97-P m/b, 8GB memory, i5 4460 CPU. I ran a CrystalDiskMark x64 test 3 times on it while it was formatted using MBR and got this:

MBR average results (all MB/s): - Read SEQ Q32T1 40 - Read 4K Q32T1 1.47 - Read SEQ 142 - Read 4K 1.22 - Write SEQ Q32T1 101 - Write 4K Q32T1 8.7 - Write SEQ 112 - Write 4K 8.5

Having a sadly large amount of spare time, I backed off the data (about 750GB), reformatted to GPT, in this case as a single 2TB partition, copied the data back to the disk, and ran the tests again:

GPT average results (all MB/s): - Read SEQ Q32T1 165 - Read 4K Q32T1 1.83 - Read SEQ 170 - Read 4K 1.5 - Write SEQ Q32T1 135 - Write 4K Q32T1 8.7 - Write SEQ 138 - Write 4K 8.6

So the SEQ Q32T1 results are much, much higher with GPT, and all other results are higher with GPT though surely not always significantly.

I'm certainly no expert as regards the actual everyday significance of these differences, but I'm tempted now to use GPT whenever I think I can get away with it (ie avoid old operating systems that can't read it).