无忧启动论坛

标题: grub4dos0.4.5b启动gentoo的ISO镜像失败,求助 [打印本页]

作者: 2012_JingSao    时间: 2012-3-24 21:23
标题: grub4dos0.4.5b启动gentoo的ISO镜像失败,求助
grub4dos0.4.5b启动gentoo的ISO镜像失败
menu.lst

title 10.(Test) Gentoo x86 LinuxISO
find --set-root --ignore-floppies --ignore-cd /LINUXISO/install-x86-minimal-20120110.iso
map /LINUXISO/install-x86-minimal-20120110.iso (0xFF) || map --mem /LINUXISO/install-x86-minimal-20120110.iso (0xFF)
map --hook
root (0xFF)
kernel /isolinux/gentoo append root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot vga=791
initrd /isolinux/gentoo.igz
map --unhook
boot

出现could not find the root block device,如果加上real_root=/dev/ram0,出现invalid loop location:/image.squashfs错误

启动Fedora的ISO也出错
title 9.(Test)   Fedora-16-x86_64-Live-LXDE.iso
find --set-root /LINUXISO/Fedora-16-x86_64-Live-LXDE.iso
map /LINUXISO/Fedora-16-x86_64-Live-LXDE.iso (hd32) || map --mem /LINUXISO/Fedora-16-x86_64-Live-LXDE.iso (hd32)
map --hook
root (hd32)
kernel (hd32)/EFI/boot/vmlinuz0 boot=/EFI/boot iso-scan/filename=/LINUXISO/Fedora-16-x86_64-Live-LXDE.iso root=live:LABEL=Fedora-16-x86_64-Live-LXDE.iso rootfstype=auto ro liveimg quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0
  initrd (hd32)/LINUXISO/EFI/boot/initrd0.img
map --unhook
boot
出现No root device "live:/dev/disk/by-label/fed....iso"found错误
ubuntu的ISO可以正常启动
作者: 不点    时间: 2012-3-25 08:00
主流的 Linux ISO 都不支持直接被 grub4dos 的 iso 仿真启动。

这里所说 “ 主流 ”,是指 在 distrowatch 排名前十位的发行版。有的支持以 kernel 方式添加命令参数启动,例如 ubuntu 就是的。但这不算是完整支持了 grub4dos 的 iso 仿真启动功能。其他的,像 Fedora 之类的,甚至也没有已知的 kernel 参数可以以变通的方式支持 grub4dos 的 iso 仿真启动功能。

无解,除非你自己 hack 其 initrd 里面的脚本,让它找到并 mount 这个 iso,即把这个 iso 当作真实的光驱。因为它找不到光驱里面的文件,所以失败。如果你告诉它,iso 文件就是光驱,它就成功了。
作者: 2012_JingSao    时间: 2012-4-7 14:08
非常谢谢楼上,我明白了
作者: my9823    时间: 2012-4-7 14:23
修改initrd脚本查找指定位置iso,用losetup将iso虚拟为loop设备,曾经看到archbang这样装,具体找shell牛人搞定!不知道arch启动挂载脚本怎么写的!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3