|
回复 #409 sratlf 的帖子
首先谢谢两位大的回复,不过我还是不太明白。可能是我说得不太清楚。
我的测试环境是把菜单做成ISO,量产到U盘,然后在U盘的可见区域放入MY.IMG,在硬盘一分区中放入HDD.IMG,编辑菜单如下:
title 【 9 】输入路径运行ISO、IMG或IMA,直接回车运行/MY.IMG
wenv set path=$input,Input full name of the file:
wenv run find --set-root ${path}
wenv set suffix=$U,${path##.}
wenv ${suffix}== && find --set-root /MY.IMG && map --mem /MY.IMG (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
wenv ${suffix}==ISO && wenv run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
wenv ${suffix}==IMG && wenv run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
wenv ${suffix}==IMA && wenv run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
-------------
我运行此菜单,输入/MY.IMG,执行出错,我手动一步步执行,发现出错在 wenv run map --mem ${path} (fd0)
再次运行输入HDD.IMG,执行成功
第三次执行,直接回车也运行成功。
在这里我就不明白了,既然直接回车可以运行成功,说明能读取U盘中的文件,而且运行HDD.IMG成功,说明菜单也应该是没问题的。
chenall 大大说的“因为你find --set-root 之后还在同一个分区上,当然可以了。”,这里我应该不是在同一分区上,U盘是量产的。
sratlf 大大说的“假如WENV在U盘 要加载的img在硬盘 你用find --set-root 将root改到硬盘上 同时还没有指定WENV在哪 那向下执行 map --mem 肯定会有错误”,情况也不是这样的,我在USB-ROM中启动,然后find --set-root都要改变root,但在硬盘上wenv可以运行正常呀。
希望两位大大帮我分析下问题出在哪了,麻烦了!
补充一点,我用ISO在虚拟机上测试都正常,这就相当于前面测试环境中的硬盘测试。
[ 本帖最后由 paladin15 于 2010-10-8 21:41 编辑 ] |
|