在软件raid中应该如何处理EFI分区?

在软件raid中应该如何处理EFI分区?

我正在尝试将 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 分区。

您需要删除mdraidEFI 系统分区并将它们保留为真正的 FAT32 分区。简单地使用克隆它们dd就可以了,cat即使我不建议您使用UUID.您可以使用它们中的任何一个PARTUUID来安装。如果您更改了任何文件,/boot/efi请不要忘记在重新安装后克隆它[更改] ro

或者,您可以添加额外的仅引导磁盘(HDD/SSD/NVMe)。

相关内容