|
关于U启>G4D>从硬盘引导的问题
U启菜单中选择从硬盘启动,如果BIOS认出U盘就将它设为HD0,而硬盘则为HD1,那么选择以下代码从硬盘启动将出错,
好像是G4D把HD0当硬盘去引导,故而出错;如果BIOS认不出U盘,则HD0是硬盘,可以顺利硬盘启动;现在的问题是
如何解决当U盘为HD0时,硬盘能顺利引导?
看到别人是这样判断的:
title 硬盘启动
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map --hook
chainloader (hd0)+1
但是这个代码非常不准确,因为 read 0X8280 值变化大不相同,经我测试,就同一台机而言,在G4D读取menu.lst之前和之后,
也就是在GRLDR未载入菜单,按C进命令行,0X8280的值比如说是0X80,但在载入菜单后按ESC退出到G4D命令行,再读取
0X8280的值却变成了0X23,在其它机上又会不一样,比如之前是0X0,之后是0X23,变化不一,所以导致硬盘引导失败,经我多
次尝试,用如下方法得到完美解决:
==========================================
方法如下:
title 硬盘启动
find /mydisk.txt && map (hd1) (hd0)
find /mydisk.txt && map --hook
root (hd0,0)
chainloader +1
注:在U盘建立一个特征文件如mydisk.txt,首先如果BIOS识别U盘为第一硬盘(hd0)的话,Find肯定可以查找到特征文件mydisk.txt,
那么这时用map将U盘与硬盘做交换即物理硬盘成为(hd0),最后加载引导扇区,从硬盘引导。
[ 本帖最后由 hulongzhuo 于 2011-1-3 23:36 编辑 ] |
|