无忧启动论坛
标题:
grub4dos怎么引导iso中的menu.lst?不解压iso的话。
[打印本页]
作者:
ryanliue
时间:
2017-12-9 14:21
标题:
grub4dos怎么引导iso中的menu.lst?不解压iso的话。
自己瞎写的菜单,用FbinstTool中的Qemu测试无法引导
title 启动 HPY Windows 8 PE
find --set-root /bokt/imgs/8pex64h.iso
map --mem /bokt/imgs/firadisk.img (fd0)
map /bokt/imgs/8pex64h.iso (0xff)
map --hook
configfile /BOOT/GRUB/MENU.LST
HPY Windows 8 PE在这里下载的:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=178541
作者:
不点
时间:
2017-12-9 17:17
我来试试解释一下您的语句。
find --set-root /bokt/imgs/8pex64h.iso 找到设备(分区)中的 iso 文件,并设置当前默认设备为这个设备(分区)。
map --mem /bokt/imgs/firadisk.img (fd0) 把你的 firadisk 驱动程序 img 拷入内存并虚拟为“软盘 A:”。
map /bokt/imgs/8pex64h.iso (0xff) 把你的 iso 文件虚拟为光盘,此时,iso 文件必须是连续的(无碎片),否则可能会报错。
map --hook 这条命令让前面建立的两个虚拟盘开始生效。
configfile /BOOT/GRUB/MENU.LST 这条命令在当前设备(分区)下寻找 /BOOT/GRUB/MENU.LST 文件,如果找不到,会显示出错信息;如果找到,会递交控制权给文件 /BOOT/GRUB/MENU.LST。
纵观您的命令序列,您只有一条命令涉及到“改变当前默认设备(分区)”,那就是您的 find --set-root 命令。所以,在后续的命令序列中,你始终都以该设备(分区)为当前默认分区。
map --hook 也只是让各个虚拟盘生效而已,因此,map --hook 并不改变当前默认的设备(分区)。
因此,您的 configfile 命令并非去执行 (0xff) 这个设备(即虚拟光驱)上的 /BOOT/GRUB/MENU.LST 文件,而是企图在 ISO 文件所在的硬盘(或 U 盘)分区上去找 /BOOT/GRUB/MENU.LST。
您可以试试把 configfile 命令修改成这样:
configfile (0xff)/BOOT/GRUB/MENU.LST
这才是执行虚拟光盘上的文件。你确认这个文件存在吗?如果不存在,照样会失败。您可以用
ls (0xff)/
命令来列出光盘上的文件(或目录)。如果你发现有 BOOT 目录列出来了,您可以进一步,这样:
ls (0xff)/BOOT/
它会列出 BOOT 目录的文件。您看看是否列出了 GRUB 目录。如果有列出,那么,您进一步,这样:
ls (0xff)/BOOT/GRUB/
看看它是否列出了 MENU.LST 文件。文件名的大小写不要弄错了,否则您可能还得折腾一阵子。
作者:
2010sya
时间:
2017-12-9 20:19
给你个自动生成菜单的工具试试:
http://bbs.wuyou.net/forum.php?m ... d=380572&extra=
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3