![在软件raid中应该如何处理EFI分区?](https://linux22.com/image/218828/%E5%9C%A8%E8%BD%AF%E4%BB%B6raid%E4%B8%AD%E5%BA%94%E8%AF%A5%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86EFI%E5%88%86%E5%8C%BA%EF%BC%9F.png)
我正在尝试将 Arch 安装到计算机上,我有两个存储设备。我对驱动器进行了分区,就像安装到 efi dekstop 上的一个存储设备一样。
sda
sda1 (boot partition)
sda2 (swap)
sda3 (root)
sdb
sdb1
sdb2
sdb3
然后我为每个分区创建了一个数组
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
给我留下了 3 个数组。
md0 (boot)
md1 (swap)
md2 (root)
然后,我格式化每个数组,就像它们是单个分区一样,即:mkfs.ext4 /dev/md2
, mkfs.fat /dev/md0
, mkswap /dev/md1
。然后我照常安装阵列并完成标准安装。
但是,当尝试将 grub 安装到 的挂载点时/dev/md0
,我收到一条错误消息
efibootmgr failed to register the boot entry: Operation not permitted
我知道这是引导分区的错误配置,但我不确定在 EFI 安装中应如何处理引导设备。
答案1
EFI 固件既不理解也不读取 Linux 软件 raid 分区。
您需要删除mdraid
EFI 系统分区并将它们保留为真正的 FAT32 分区。简单地使用克隆它们dd
就可以了,cat
即使我不建议您使用UUID
.您可以使用它们中的任何一个PARTUUID
来安装。如果您更改了任何文件,/boot/efi
请不要忘记在重新安装后克隆它[更改] ro
。
或者,您可以添加额外的仅引导磁盘(HDD/SSD/NVMe)。