如何从非 Ubuntu 实时 ISO 映像(如 Fedora 或 CentOS)启动?

Rah*_*ara 26 live-cd boot grub2 iso

我发现这是可以做到loopback如下

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}
Run Code Online (Sandbox Code Playgroud)

但它仅适用于 ubuntu 或其衍生产品。如果我想启动其他实时映像,如 fedora、cent、opensuse 等,应该如何编写?

编辑:我发现了一些其他条目,但所有这些条目可能都是基于 debian 的。

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}
Run Code Online (Sandbox Code Playgroud)

Edit2:如何链式加载grubsyslinux来自grub2

Edit3:我想在没有任何可移动设备的情况下启动其他实时映像并使用,grub2因此需要特定于grub2.

Anw*_*war 20

从 iso 引导是发行版必须支持的一项功能,该iso-scan/filename=选项在 Fedora 或其他版本中不起作用。这些可能具有此功能的其他内核选项,或者可能根本不支持该功能。

我找到了一种启动 Fedora 16 DVD 的方法,如下所示。

从 grub 启动 Fedora 15 DVD iso

菜单项“Fedora 15 (DVD)”{
 insmod 环回
 insmod iso9660
 设置 isofile="/Fedora-15-x86_64-DVD.iso"
 环回循环 (hd0,2)$isofile
 linux (loop)/isolinux/vmlinuz rootfstype=auto root=live:UUID=:$isofile ro quiet
 initrd(循环)/isolinux/initrd.img
}

它假设您的iso文件位于内部硬盘第二个分区的根目录。

来源:本页

您可以在 google 中搜索其他发行版,因为它不是独立于发行版的功能。

注 1:它也适用于 Fedora 16,我刚刚对其进行了测试。
注意 2:当您将 iso 文件放在 fat 或 ext4 分区中时,该方法似乎有效。


从 grub2 启动 grml small iso

Grml也可以从 grub2 启动。请注意,它使用findiso选项而不是iso-scan/filename选项,表明从 iso 启动在不同的发行版中作为不同的选项实现。

(菜单项“Grml小2009.10”{
  环回循环 /boot/iso/grml-small_2009.10.iso
  linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd(循环)/boot/grmlsmall/initrd.gz
}

这个页面有几个从 Grub2 启动的其他发行版的例子。


从 iso 启动 openSUSE 13.1 Live

这是唯一有效的解决方案(所有其他解决方案都给了我一个无法找到 MBR 标识符并停止)。在这个例子中,iso 被放置在目录中的第一个磁盘的第三个分区中/home/username/

menuentry "openSUSE_13.1_GNOME_Live" {
  加载视频
  insmod gzio
  insmod part_msdos
  insmod ext2
  设置根=“(hd0,msdos3)”
  设置 isofrom_device='/dev/sda3'
  设置 isofrom_system='/home/username/openSUSE-13.1-GNOME-Live-i686.iso'
  设置加载器 ='/boot/i386/loader'
  环回循环 $isofrom_system
  linux (loop)$loader/linux isofrom_device=$isofrom_device isofrom_system=$isofrom_system ramdisk_size=512000 ramdisk_blocksize=4096 ro 安静飞溅 $vt_handoff preloadlog=/dev/null showopts
  initrd(循环)$loader/initrd
}

来源是janeppo 的评论


Fedora 17 Gnome Live ISO

这是 Fedora 17 的启动菜单 grub.cfg 条目。iso 位于第一个磁盘的第三个分区。文件名也改变了。

菜单项“Fedora Live”{
    环回循环 (hd0,3)/fedora.iso
    linux (loop)/EFI/BOOT/vmlinuz0 root=live:/fedora.iso rootfstype=auto ro liveimg quiet rhgb rd.luks=0 rd.md=0
    initrd (hd0,3)/initrd-fromiso
}

最后一点:我认为这个答案可以作为一个例子。不应该用例子来详细说明。


fab*_*or4 1

您所问的问题与此无关,因为它需要了解其他系统才能设置 grub 条目以正确引导它们。对的,这是可能的。

然而...您会发现 Multi System 是一款功能强大的工具,可以在一个大 USB 驱动器上拥有许多不同的发行版 ISO。我发现它确实工作得很好,但你必须从 PPA 安装它:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

我使用它,这样我就可以在一个随身碟上安装 Gparted LiveUSB 和其他工具,以及 Ubuntu 工具来进行 InstallFest。作为奖励,它允许自定义菜单启动屏幕,我已将其设置为澳大利亚 LoCo 团队的徽标。

克里斯

如前所述,Multisystem 使用 Grub2 来完成您想要的操作。由于这个偏离主题的线程是被允许的,或者至少是被容忍的,这里是我的 Multisystem Grub2 中的 Fedora 条目:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }
Run Code Online (Sandbox Code Playgroud)

请注意,您无法直接从 ISO 启动,因为它不像基于 Debian 的发行版那样受支持。您将需要硬盘驱动器上可用的 ISO 中的解压文件,如下所示:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img
Run Code Online (Sandbox Code Playgroud)

当然,您需要更改 /fedora/ 目录的位置以及要启动 Fedora 的分区的 UUID。您可能还应该将挂载模式从 ro 更改为 rw,以及其他任何适当的内容,例如 squashfs 上的权限。

您也可以设置虚拟持久磁盘,尽管我看不出您无法安装普通 /home 分区的原因。再次强调,我只能建议您安装 Multidisk 并自行配置以了解如何操作。

克里斯