On Fri, Nov 01, 2024 at 02:45:21AM -0400, Steve Litt via talk wrote:
First, we need to dispense with some unfortunate terminology so we're all on the same page. MBR and GPT are two different *partition styles*. In most situations, GPT is a much better choice than MBR. GPT addresses huge disks, can accommodate up to 128 partitions, with each partition capable of sizing to 256 TB. In most cases, GPT is vastly superior to MBR.
Now let's talk about boot modes. Boot mode is what happens very early in the boot, well before the initramfs gets run. The two most popular boot modes in Linux are UEFI and Legacy. Legacy works with MBR disks. UEFI works only with GPT disks. Legacy boot is OK: Could be better, but it's OK. UEFI is a stinking steaming pile of pig produced fertilizer that's almost unfathomable, can permanently brick your computer, is difficult to boot pluggable media with, and makes it difficult for people using their computer in ways Dell, HP, Acer or Asus didn't intend it to be used. Oh yeah, and UEFI is so complicated that the vendors have made mistakes in their UEFI implementations that software can permanently brick the computer, especially when Lennart Poettering made the brilliant decision to let systemd write to the EFI partition.
There definitely has been some mind bogingly stupid UEFI imeplementation bugs over the years. I do remember a few rather stupid legacy BIOS disasters too, although just things that didn't work with certain add in cards or refused to boot from drives that weren't partitioned how they though they should be. A few UEFI systems would in fact get bricked due to buggy parsing of the nvram data and without a way to reset that the way we were able to clear the RTC RAM before. Of course if desktop machines were shipped with a UEFI shell, you would have a much better recovery system than a legacy BIOS system had, but it seems that mostly is included on servers for some reason.
So my opinion of partition schemes is the following: GPT is great, MBR is good.
My opinion of boot styles is the following: Legacy is OK, and UEFI is junk.
On all drives except the boot drive, boot styles aren't used and don't matter, so on non-boot drives I use GPT because I think it's superior and because I buy drives bigger than 2TB.
But on boot drives, I try very hard to go legacy boot style, and the only way to have legacy boot style is for that boot drive to have an MBR partition scheme.
UEFI has the following advantages over Legacy boot:
* Secure boot: If secure boot is a must, then UEFI is a must, but for me and a lot of others, Secure Boot is a must-not.
* UEFI mandated GPT works with huge disks, whereas MBR works only up to 2TB. If you simply must have a larger boot disk, you have to go UEFI. Me, I use a small boot disk with everything but /usr being mount points from a GPT partitioned 14GB spinning rust.
You can do a legacy boot using GPT disks. The requirements are that you have a BIOS Boot Partition in your GPT that is located in the first 2TB of the drive. Other than that Grub 2 has no problem booting legacy mode from a GPT drive.
* UEFI mandated GPT has more than 8 partitions: This might have been a problem before the invention of bind mounts, but it's not now. You need a root partition, a swap partition (actually now days you can use a swap file), and one partition for each physical disk. Use bind mounts for all the things that used to be partitions, like /home/hugh or /var. It's mighty difficult to use up your 8 partitions.
* UEFI is reputed to boot up faster. Your mileage may differ, but on my computer the worst culprit in slowing down boot is the stupid initramfs. Those seeking quicker boot should put their disk format drivers compiled into the kernel, and forego the initramfs.
In summary, terminology is important:
Partitioning schemes MBR GPT Boot styles Legacy UEFI
UEFI is junk and works only with GPT, so when I have the opportunity, I use MBR partitioning scheme with its Legacy boot style for the boot disk, and GPT (with no boot style) for all other disks.
Of course which type of boot you like doesn't matter if you have a newer machine. Desktops and laptops made in the last 5 or so years seem to have stopped supporting legacy boot, and servers at about to drop it too based on what I am seeing from Intel and AMD. -- Len Sorensen