![双启动 Ubuntu 22.04 LTS 与 Raid 0 grub 安装失败](https://linux22.com/image/1026823/%E5%8F%8C%E5%90%AF%E5%8A%A8%20Ubuntu%2022.04%20LTS%20%E4%B8%8E%20Raid%200%20grub%20%E5%AE%89%E8%A3%85%E5%A4%B1%E8%B4%A5.png)
我对 Ubuntu 还不太熟悉,所以请耐心等待。我最近组装了一台 PC,想在我的两个 1T SSD 上运行软件 RAID 0;但是,我还想双启动 Ubuntu 22.04 和 Windows 10。在安装 Ubuntu 时,我能够安装 mdadm 并识别我的 RAID 设置和分区,但安装失败,并显示以下信息:
Executing 'grub-install /dev/md0p1' failed.
This is a fatal error.
在终端中尝试该命令时出现错误:
grub-install: error: cannot find EFI directory.
我在网上查看了这个错误,几年前有很多不同的答案,但似乎这可能是我的 efi 启动分区安装方式的问题。运行安装并遇到错误后,我的启动分区安装在 /target/boot/efi。我尝试将其安装到 /boot/efi 或在 grub-install 中更改我的 efi 目录,这些操作都给出了以下输出:
Installing for x86_64-efi platform.
grub-install: error: disk 'mduuid/00000000000000000000000000000000,1' not found.
从这里我不确定该去哪里。这里的 uuid 好像是错误的,但我不确定在哪里可以更改 grub-installer 的 uuid。
我还尝试按照一些帖子中的建议关闭快速启动和安全启动,但无济于事。
我在此之前采取的步骤:
在安装 Windows 10 之前,使用 UEFI 中的 Intel RST 创建了我的 RAID 0 阵列
在 RAID 驱动器上安装 Windows 10,并使用 Windows 分区工具为 Ubuntu 安装分配可用空间
下载了 Ubuntu 的 iso 映像并创建了 LiveUSB 以进行启动
选择“尝试 Ubuntu”以删除 dmraid 并安装 mdadm
运行以下命令:
sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/nvme0n1 /dev/nvme1n1
这样 Ubuntu 就能识别 RAID 和在 Windows 中创建的分区。
运行安装程序并选择“其他”。
将 Ubuntu 分区 /dev/md0p5 挂载到具有 ext4 的根目录,并将启动分区设置为 /dev/md0p1(它具有 boot 和 esp 标签,因此我认为它是 Windows 引导加载程序)
完成安装程序的其余部分后收到前面描述的错误
我希望这些信息足够有用;这已经是我第八次尝试这样做了,所以我已经忘记了很多我查找和尝试过的内容。提前谢谢您!
答案1
ubuntu 22 带有最新的 Linux 内核,似乎不再有英特尔假 RAID 驱动程序。我猜英特尔是罪魁祸首
答案2
我的文件系统也在 Intel RAID 0 中。Ubuntu 让我从 20.04 升级到 22.04.01,但重启后 Ubuntu 无法启动,并且它打开“initramfs”命令行,因为它找不到 RAID 0 的磁盘 UUID。
此外,从可启动 USB 棒启动的 Ubuntu 22.04.1 无法识别 RAID 0 分区。
从可启动 USB 棒启动的 Ubuntu 20.04.4 可以识别 RAID 0 分区和所有用户的数据。
因此,如果您使用 RAID,升级时请务必小心。