我正在尝试使用软件 RAID-5 设置 Ubuntu 19.10 服务器。我有一个小型 NVMe 驱动器和六个 12TB NAS 驱动器。六个 NAS 驱动器连接到 SATA HBA,因为我的主板没有足够的可用 SATA 端口。
在安装过程中,我对每个 NAS 驱动器进行了分区,并将每个分区添加到 RAID-5 阵列。然后,我创建了一个 LVM 卷组并添加了 MD0 设备。然后,我为根文件系统创建了一个逻辑驱动器,并将其格式化为 BTRFS。然后,我使 NVMe 可启动,以便 /boot/efi 分区位于 NVMe 驱动器上。安装程序完成时没有错误,但在我重新启动后,它始终会启动到 GRUB shell。即使我按下 F12 键并选择 Ubuntu EFI 条目,它仍然会进入 GRUB shell。
我已经使用 LiveCD 启动、chrooted 并重新运行 grub 安装程序,它仍然继续启动到 GRUB shell。
我知道这应该可行,因为我在笔记本电脑上设置了 Hyper-V VM,并且使用完全相同的安装程序配置,它可以完美地运行。
所以我推断,由于我最终进入了 GRUB shell,引导加载程序无法在阵列上找到我的 /boot 分区,因此我再次重新运行 Ubuntu 安装程序,进行了全新安装,但这次我将 /boot 和 /boot/efi 分区放在了 NVMe 驱动器上,现在它可以启动了。
为什么我必须将 /boot 分区放在物理电脑上的非阵列驱动器上,但它在 Hyper-V VM 中却可以运行?