6

BIOS firmware can boot a BIOS formatted /boot partition installed on a software RAID 1 pair no problem. It can even boot from a /boot installed on LVM volume that lives on a software RAID 1 pair.

But with a uEFI install, /boot/efi has to be on a non md partition or the firmware can not access it.

Is this a flaw with uEFI firmware? Or is the problem with how Ubuntu sets up /boot/efi on software RAID devices? Could it be a flaw with how GPT partition tables present software RAID to the firmware?

For reference, I’m using: Ubuntu Server 14.04.3 64bit mdadm RAID setup from the 'Manual' option in the partitioner.

1 Answer 1

12

EFI knows how to access FAT and FAT32 filesystems. This is why your EFI boot partition has to be FAT or FAT32 formatted. EFI however does not know how to read a software RAID 1 partition, even if it is formatted using FAT32. There is a pretty simple away around this, at least using Arch Linux. When installing the system, you set the boot partition up as a FAT32 formatted raid, but you direct EFI to boot off of the individual partitions. Specifically, you do this.

 mdadm --create /dev/md0 --metadata 1.0 --raid-devices=2 --level=1 /dev/sd[ab]1
 mkfs.fat -F32 /dev/md0

Then proceed with the installation. As far as EFI is concerned, though, the boot partitions are /dev/sda1 and /dev/sb1 individually. You set each one up as a boot device, and then if, say, /dev/sda fails, the system will still boot from /dev/sdb1. After the system is booted the /dev/md0 RAID 1 kicks in, insuring that /dev/sda1 and /dev/sdb1 stay synchronized.

I set all my systems up like this and haven't had any problems. (Note that setting the mdadm metadata to 1.0 is necessary when installing a software raid on a boot partition.)

1
  • 1
    Clearly, you are correct that EFI cannot read software RAID 1 partition. Ultimately, the solution for me is not installing boot/root filesystems on disk drives larger than 2GB. This avoids the dilemma where disks 2GB+ require a GPT partition table and therefore ordinary BIOS cannot boot from. I’m not sure that the Ubuntu Server installation process would support the instructions you posted.
    – medbot
    Commented Dec 28, 2016 at 7:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .