无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3667|回复: 2

[求助] grub4dos怎么引导iso中的menu.lst?不解压iso的话。

[复制链接]
发表于 2017-12-9 14:21:50 | 显示全部楼层 |阅读模式
自己瞎写的菜单,用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:11 | 显示全部楼层
我来试试解释一下您的语句。
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 文件。文件名的大小写不要弄错了,否则您可能还得折腾一阵子。

评分

参与人数 1无忧币 +5 收起 理由
python + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2017-12-9 20:19:40 | 显示全部楼层
给你个自动生成菜单的工具试试:
http://bbs.wuyou.net/forum.php?m ... d=380572&extra=
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-19 00:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表