无忧启动论坛
标题:
VBOOT调用grub4dos直接装载VHD或IMG等格式的内存盘菜单怎写?
[打印本页]
作者:
念青
时间:
2013-11-8 22:58
标题:
VBOOT调用grub4dos直接装载VHD或IMG等格式的内存盘菜单怎写?
本帖最后由 念青 于 2013-11-9 16:38 编辑
VBOOT菜单调用的是grub4dos配置文件grldr
menuentry "Windows XP" {
linux16 /grub.exe --config-file="find --set-root --ignore-floppies --ignore-cd /boot/grub4dos/cqqj_tzy.jw;chainloader --force /boot/grub4dos/grldr"
}
我在grldr的各个字段上加入
map --mem --top %pathimg%sparse.img (hd5)
map --hook
试图在差分VHD XP启动之前,先行装载一个硬盘映像文件作内存盘,但无论放在如下配置文件中的哪个部分,该语句都似乎完全未被执行。系统直接在读取相关参数后,直接执行/boot/ntboot/ntboot vboot=%sys_dsk%%sys_dir%%subvhd%,启动VHD差分系统了。
grldr配置文件如下:
default 0
timeout 0
set pathgrub=/boot/grub4dos/
set pathimg=/boot/img_bin/
find --set-root --ignore-floppies --ignore-cd %pathgrub%cqqj_tzy.jw
title 0.windows XP
map --mem --top %pathimg%sparse.img (hd5)
map --hook
set sys_name=
set sys_dsk=
set sys_dir=
set monvhd=
set subvhd=
set bakvhd=
set tmpvhd=
set infofile=%pathimg%info_winxp_x32.flg
cat --length=0 %infofile% || goto 1
%pathgrub%sys_info %infofile%
cat --length=0 %sys_dsk%%sys_dir%%subvhd% || goto 1
/boot/ntboot/ntboot vboot=%sys_dsk%%sys_dir%%subvhd%
boot
title 1.boot MBR menu
chainloader (hd0)+1
info_winxp_x32.flg配置文件用于传递相关参数,内容如下:
winxp_x32 (hd1,1) /VHDXP/ WINXP.VHD WINXP_CHILD.VHD WINXP_CHILD_BAK.VHD
;sys_name sys_dsk sys_dir sys_monvhd sys_subvhd sys_bakvhd
作者:
不点
时间:
2013-11-8 23:21
看不懂是干啥。
linux 命令已经加载 grub.exe 了,但为何还要再次用 chainloader 加载 grldr ?
看不懂。
作者:
念青
时间:
2013-11-9 09:44
grldr的lst中,default 0,执行的是title 0,只有在
cat --length=0 %sys_dsk%%sys_dir%%subvhd% || goto 1条件满足时,也就是读不到差分VHD XP硬盘时,转入title 1,重启VBOOT菜单。
正常读取到差分VHD XP的话,grldr 将执行
/boot/ntboot/ntboot vboot=%sys_dsk%%sys_dir%%subvhd%
boot
这是在grub4dos中调用NTBOOT的VBOOT命令方式启动差分VHD XP?是有点绕,但这是因为grub4dos不支持差分VHD的缘故。而我的问题,就在于NTBOOT语句执行之前,如何可以map 一个硬盘映像到内存中去?直接在grldr lst的各个字段前后加入如下语句,都不被执行。
map --mem --top %pathimg%sparse.img (hd5)
map --hook
我的猜测是,由于set命令的存在,导致map --mem命令不能直接执行?需要使用诸如参数传递的方法来启动?
作者:
不点
时间:
2013-11-9 11:22
你怎么知道不执行?
难道你的 grub4dos 太旧,不支持 --top 参数?
你在各个 map 命令的前后增加 pause 语句,逐步调试,看看 map 命令执行了没有?失败时,肯定有失败信息,你把失败信息抄来看看。
作者:
念青
时间:
2013-11-9 16:40
本帖最后由 念青 于 2013-11-9 16:48 编辑
实在不好意思,我一直在lst文件中修改。发现加pause也无反应,终于明白原来它根本就没有调用lst文件,而是直接用的grldr本身内置的配置文件。惭愧惭愧。谢谢。
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3