如何从硬盘启动 Fedora Live CD iso?

5 linux fedora boot livecd grub

我尝试使用 Grub 从硬盘驱动器上的 ISO 映像(SHA256 验证)启动 Fedora 14 Live CD。

我把Fedora-14-x86_64-Live-Desktop.iso放在FAT32分区D:(sda5)的根目录下,然后从这个ISO中解压出isolinux,放到D:

我跟着isolinux.cfg文件,写了一个menu.lst如下:

title Fedora 14 Live CD
root (hd0,4)
kernel (hd0,4)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-14-x86_64-Live-Desktop rootfstype=auto ro liveimg quiet  rhgb
initrd (hd0,4)/isolinux/initrd0.img
Run Code Online (Sandbox Code Playgroud)

但是 Grub 告诉我:

未找到根设备。
引导失败。永远沉睡。

下面是isolinux.cfg的内容:

[...]
label linux0
menu label Boot
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=Fedora-14-x86_64-Live-Desktop rootfstype=auto ro liveimg quiet  rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM  
menu default

label linux0
menu label Boot (Basic Video)
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=Fedora-14-x86_64-Live-Desktop rootfstype=auto ro liveimg quiet  rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM xdriver=vesa nomodeset 

label check0
menu label Verify and Boot
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=Fedora-14-x86_64-Live-Desktop rootfstype=auto ro liveimg quiet  rhgb  check

label memtest
menu label Memory Test
kernel memtest
label local
menu label Boot from local drive
localboot 0xffff
Run Code Online (Sandbox Code Playgroud)

这可能是与此处发布的错误相关的问题:UNetbootin Root 中的错误 515008 在用于 fedora 12 硬盘安装的 menu_lst 中不正确

我将 ISO 映像的所有内容提取到 FAT32 分区。我还将“root”的 CDLABEL 替换为 ISO 文件所在分区的 UUID。接下来我修改了 menu.lst 的条目:

title Fedora 14 Live CD
root (hd0,4)
kernel (hd0,4)/isolinux/vmlinuz0 root=UUID=My_UUID_of_the_partition rootfstype=auto ro liveimg quiet  rhgb
initrd (hd0,4)/isolinux/initrd0.img
Run Code Online (Sandbox Code Playgroud)

但是我仍然没有成功直接启动硬盘驱动器上的 ISO 映像。有任何想法吗?

小智 1

可能您未能“运行”引导加载程序。当您希望将任何引导配置存储到硬盘的 MasterBootRecord (MBR) 时,您必须运行引导加载程序,通常对于 IsoLinux / Grub,这是从 Linux shell 完成的。引导加载程序解释随附的配置文件,并将代码写入 MBR。

您可以使用 CD/LiveUSB 上的 SysRescueCD 从 CD/USB 引导至 Linux shell,然后从 Linux shell 运行 Grub 或 syslinux。如果这不是一个选项,并且您想从 Windows 执行此操作,您可以将GRUB4DOS视为在 Windows 上运行 Grub 的一种方式,或者查看此处有关Windows 上 SysLinux 的说明(我认为提取 zip,从 DOS 命令行运行 syslinux ? )。

请注意,syslinux.cfg 文件与 IsoLinux 相关,menu.lst 文件与 Grub 相关。您只需要两者之一。哪一个,是个人选择和方便的问题。

请注意,isolinux 旨在从 ISO 文件系统(CD ROM)启动。但是,如果我理解正确的话,您将文件复制到 Windows 分区,可能是 FAT。要从 FAT 启动,您需要 syslinux(而不是 isolinux)。为此,您唯一要做的就是将文件“isolinux.cfg”重命名为“syslinux.cfg”,并将“isolinux”目录重命名为“syslinux”。