|
众所周知,在BIOS不支持USB高速设备的电脑上启动PE是一件非常痛苦的事情:漫长的等待,既不知道是死机了,还是正在加载。、。。
于是诞生了Plop。
在小生实际操作的过程中发现了越来越多的问题。现在情况分析如下,望一起探讨!
硬件环境非常简单:一个CDROM,一个IDE硬盘((hd0,0)包含一个WindowsXP),一个Fbinst做的启动U盘。
Fbinst中的Grub菜单如下:
title Windows PE Professional
find --set-root /BOOT/WINPE.ISO (0xff) && map --mem (ud)/BOOT/WINPE.ISO (0xff)
ls (hd0,0)/5AB9F2BD.ACK && map (hd0) (hd1) && map (hd1) (hd0)
map --hook
chainloader (0xff)
title Load USB 2.0 Plop Boot Manager
kernel (ud)/BOOT/IMGS/plpbt.bin
首先,在第一个菜单中出现了“ls (hd0,0)/5AB9F2BD.ACK && map (hd0) (hd1) && map (hd1) (hd0)” ,此处我是希望通过U盘根目录下的5AB9F2BD.ACK文件判断是否交换盘符(不希望U盘占用(hd0),避免ghost自动化操作出现问题,关于这个问题的讨论见:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=174991)
其次,很显然,我希望在Grub引导过程中由用户手动加载PLPBT.bin USB驱动。
----------------------------------------------------------------------------------------------------------------------
事与愿违出现一些小问题:当直接选择第一个菜单进入PE的时候完全正常,但是当选择第二项加载PLPBT后,再回到Grub加载PE,便会在“ls (hd0,0)/5AB9F2BD.ACK ”出现选定的磁盘不存在的错误。
经过后来一整天的仔细研究发现一个关于PLPBT的重要机制:那就是经过plpbt的引导后,所有的(hdN)中的N(磁盘编号)都会来一次“大洗牌”,原来的磁盘编号都出现变化了。(不知道我的描述对不对)
因此造成了上述的的(hd0,0)不存在错误。
同时我估计也是这个原因,造成了很多朋友完全无法使用PLPBT加载复杂的菜单的原因!但是经过一番苦苦探寻还是无果。
1、想比较完美的解决这个问题,如何是好?
2、grub4dos中,是否有类似于智能判断硬盘的相关语句用来解决这个问题?
3、选择PLPBT加载驱动并且返回GRUB4DOS之后,GRUB能否记住我刚刚的选择,然后给出不同的菜单?
小生胆小且智商低,误喷勿射,若能有兄弟给点思路,就无憾了~~~~
[ 本帖最后由 2010suriv520 于 2010-12-12 12:28 编辑 ] |
|