Как вы говорите, метаданные mdadm вер. 1.0 делает свою работу.
Мне удалось получить рабочую конфигурацию, которую EFI Gigabyte GA-C1037UN-EU смог загрузить. Эта конфигурация ограничена RAID1 для раздела ESP, но позволяет использовать любую конфигурацию RAID для остальных разделов. Давайте покажем RAID1 на двух дисках в качестве примера. Каждый диск разбит следующим образом:
sda (gpt)
--sda1 (512MB)
mdadm array member with 1.0 metadata format
boot and esp flags set
--sda2 (rest of disk)
mdadm array member with 1.2 metadata format
Сначала RAID создается на разделах sdX1 на каждом диске и используется для раздела ESP. Остальную емкость дисков можно использовать любым способом, например, в RAID1. Пусть первый RAID будет, /dev/md/efi
а второй /dev/md/data
.
/dev/md/efi
не следует использовать метки разделения, такие как MBR или GPT. /dev/md/data
может быть позже разделен или использован как LVM pv. Например:
/dev/md/efi
--fat32 fs, mounting to /boot/efi/
/dev/md/data
--/dev/md/data1
linux swap partition
--/dev/md/data2
ext4 root partition
... (other needed partitions)
Метаданные вер. 1.0 имеет одну простую особенность: ее суперблок хранится в конце раздела RAID, поэтому BIOS может обнаружить простой раздел FAT32 с флагами ESP и BOOT. Так что ничто не мешает BIOS искать EFI / BOOT / BOOTX64.EFI на этом разделе и загружаться с него.
Основным ограничением этого метода является то, что GRUB должен быть настроен для установки загрузочного файла EFI в пути для съемных носителей, потому что efibootmgr
пытается загрузить BIOS непосредственно с md
устройства, а не sdX
. Это можно сделать с grub-install
помощью --removable
флага.
UPD. Есть проблемы с совместимостью. Пробовал ту же конфигурацию на материнской плате ASUS P8Z68-V PRO / GEN3. Система не загружается независимо от того, что я делаю.