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:如何链式加载grub和syslinux来自grub2?
Edit3:我想在没有任何可移动设备的情况下启动其他实时映像并使用,grub2因此需要特定于grub2.
Anw*_*war 20
从 iso 引导是发行版必须支持的一项功能,该iso-scan/filename=选项在 Fedora 或其他版本中不起作用。这些可能具有此功能的其他内核选项,或者可能根本不支持该功能。
我找到了一种启动 Fedora 16 DVD 的方法,如下所示。
菜单项“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 分区中时,该方法似乎有效。
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 启动的其他发行版的例子。
这是唯一有效的解决方案(所有其他解决方案都给了我一个无法找到 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 的启动菜单 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
}
最后一点:我认为这个答案可以作为一个例子。不应该用例子来详细说明。
您所问的问题与此无关,因为它需要了解其他系统才能设置 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 并自行配置以了解如何操作。
克里斯
| 归档时间: |
|
| 查看次数: |
70403 次 |
| 最近记录: |