The never-ending saga of EFI Boot and GPT partitioning

My previous post on LMDE uncovered a lot of confusion. Here's an explanation of how to get around the problems.
Written by J.A. Watson, Contributor

My previous post on Linux Mint Debian Edition 201303 has obviously uncovered a lot of confusion about EFI booting and GPT partition tables.  I hope that I can explain it all a bit more, with a couple of examples, to remove some of the confusion. 

Linux Mint Debian Edition 201303 says specifically in its release notes that it does not support EFI Boot or GPT disks.  It doesn't say exactly what the problems are, though, and the devil is in the details...

There are a number of ways to get around the EFI Boot problem, but none of them address the GPT partitioning problem:

  • Most EFI/UEFI BIOS systems have configuration settings which allow you use 'Legacy Boot', which means booting from MBR-style boot records.
  • LMDE, being a Debian derivative, can be configured with the 'grub-efi' package, to enable EFI Boot. Note that this can only be done after it has been installed, so it will almost certainly require the previous step, at least to get it to boot the installation media, because the LMDE Live media does not have EFI Boot capability.
  • If you have another EFI-compatible Linux distribution already installed, and that distribution has a Grub which is able to boot other Linux distributions, you can set that up to boot LMDE. This works with openSuSE 12.3, but it doesn't work with Fedora 18, and I have not tried it with Ubuntu 13.04 yet.
  • If you install another boot manager, such as rEFInd, you can set that up to boot LMDE.

However, none of these solves the GPT problem. Here's the lowdown on that.

The LMDE release notes specifically say that it does not support GPT partitioned disks. Unfortunately it doesn't say that they can't be read (they can), and it doesn't say what will happen if you try to install to one (it can be catastrophic).

What actually happens is that it interprets the GPT partition table incorrectly, and that causes it to get confused about what is where on the disk. In my case with LMDE, what it did was write the wrong partition information to the Grub configuration file, so it then tried to boot from the wrong partition, and it failed to boot. Not so catastrophic — it just didn't work.

However, a few weeks ago I tried to install PCLinuxOS (also based on Debian Testing, and also without GPT support), on another GPT-based system (my HP dm1-4310).  In that case the disk partitions were a bit more complicated, because I had left the Windows Recovery partition in place, which meant a lower-numbered partition was at the end of the disk. PCLOS interpreted the partition table incorrectly, and the results were much more damaging.

First, rather than use the existing swap partition, it wiped another existing Linux installation partition and used that for swap. Second, rather than installing to a new partition I had created for it, it wiped another (different) exiting Linux installation, and installed there. Not nice.

So, here is the summary. LMDE does not support EFI Boot out of the box, but there are ways to get around that. It also does not support GPT partition tables, and there is no way around this other than wiping the disk and changing it to DOS BIOS/MBR partitioning. I'm quite sure this is what Clem meant when he wrote in the FAQ "you could do it but it would require wiping the disk".  There is actually a slim chance that you could install successfully to a GPT disk, but that would require simple partitioning and a good bit of luck.

I hope this clears things up a bit. Feel free to post questions and comments, as always...

Editorial standards