从 raid 1 启动 grub2 iso

从 raid 1 启动 grub2 iso

如何在 grub2 中从 raid 1 启动 iso 文件?

我有一个 raid 1(intel raid,ntfs)和一些启动 iso 文件。一旦我在 grub2 启动菜单中选择了 ubuntu iso 条目,它就会启动并显示启动画面,但几秒钟后它显示未找到“/iso/xxx.iso”并停止,其中“/iso/xxx.iso”是 raid 1 上 iso 文件的真实路径。

条目如下所示:

set isofile="/iso/linux.iso"
search --fs-uuid --no-floppy --set=root RAID_1_UUID
loopback loop (${root})$isofile

我也尝试在 grub2 命令提示符中运行上述几行,并且我可以看到该文件,因此设置 root 和环回都可以工作,但我认为操作系统(在 iso 内部)找不到 iso 来加载内核,也许他们此时无法读取 raid。我启动了另一个 iso,但它提示“无法挂载 /dev/sdd”和“无法挂载 /dev/sde”(raid 分区),并且 gparted iso 显示一条消息,提示我应该在加载之前挂载 raid。

虽然我最终设法通过在内核参数中添加“toram”来启动它,但我无法启动其他 iso 文件,如 gparted 等

那么正确的做法是什么?我已经用 Google 搜索过,但没有找到任何与启动存储在 raid 1 上的 iso 文件相关的内容。

谢谢

编辑,例如,此条目在创建 raid1 之前有效,但现在在启动期间会显示“找不到 //iso/Porteus-CINNAMON-v4.0-x86_64.iso”(注意那里的双斜杠)

   menuentry 'Porteus CINNAMON v4.0' {
    set isofile="/iso/Porteus-CINNAMON-v4.0-x86_64.iso"
    search --fs-uuid --no-floppy --set=root $raid_uuid
    loopback loop (${root})$isofile
    linux (loop)/boot/syslinux/vmlinuz from=$isofile copy2ram noswap noauto login=guest quiet timezone=Asia/Hong_Kong kmap=us
    initrd (loop)/boot/syslinux/initrd.xz
    boot
}

相关内容