Вводные - EFI, GPT + md raid. /boot внутри raid. Почему внутри? Чтобы не плодить отдельный раздел, который вечно засирается ядрами при обновлении. А их нужно два, чтобы размер дисков был одинаков.
Как поставить grub на EFI в интернете манов полно. Самое веселье начинается потом - grub не может прочитать конфиг, который находится внутри mdraid.
Решение такое - сделать предварительный конфиг на самом разделе EFI, а уже он будет загружать основной конфиг, когда raid будет собран.
Для этого у grub указывается кастомный префикс. Делается с помощью пересборки образа загрузчика:
grub-mkimage -o grubx64.efi -O x86_64-efi -p '(hd3,gpt1)/EFI/neon' part_gpt fat ext2 mdraid1x search search_fs_uuid configfile normal
сам префиксный конфиг:
search.fs_uuid 8be3d2a5-2a13-4f62-9daf-30d4d8ee8256 root mduuid/36ddc35cd26359b30a06e44bccc7691d
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
uuid диска узнается через:
ls -la /dev/disk/by-uuid/
mduuid:
mdadm -D /dev/md0 | grep UUID
Все. В гугле не нашел, авось кому еще пригодится.
Писать про такое дальше? Или вы все срачей ждете?