|
解决“加载usb驱动后,运行grub,电脑卡住”的一个简便办法
按照楼主帖子的指引,我成功的实现了先加载后引导winpe的加速启动。
我在实际操作中确实碰到了楼主在前面已经描述过的问题:加载驱动后,运行grub,电脑卡住
“电脑卡住”的情形:
开机 --〉
选择从u盘启动 (优盘格式化为:通过ms-dos启动的usb-hdd格式)---〉
grub运行之后选择“先进入dos加载完USB2.0驱动后再进入PE” --〉
系统会自动运行,直到再次启动grub,这时屏幕提示"Turningon gate A20 ... success",下一行光标闪动,系统就卡住不动了。
“电脑卡住”楼主是这样描述的:
原帖由 hytmtet 于 2007-10-29 08:43 PM 发表
...
在自己的机器上试了
无论是否卸载usb驱动无论是否卸载usb驱动
都会造成grub.exe直接启动卡死
卡死 是由于内置菜单的find --set-root...命令造成的
因为在加载USB驱动之前,U盘被识别为HD0,0/或者FD0之类的
一旦加载这驱动,导致U盘的原有设备HD0,0/FD0无效
导致grub4dos在搜索hd0,0时卡死(我的机器是hd0,0的)
修改内置菜单
或者用grub --config-file="....."
可以解决这个问题
当然用命令行更方便~
只是楼主紧随其后的解决方法两条:
“修改内置菜单”
“用grub --config-file="....."”
第一条我不会弄,第二条尝试过 “config-file="commandline"”,结果一样卡住。
我的一个简便做法的原理:
将grub.exe的“内置菜单”中指定搜索的驱动器(比如(hd0,0))映射为另外一个不会受
“加载usb2.0驱动程序”这一事件影响的驱动器(比如真实的硬盘)。
我的具体做法是:
在grub4dos的启动项“先进入dos加载完USB2.0驱动后再进入PE”中加入两行,如下红字所示:
title 先进入dos加载完USB2.0驱动后再进入PE
find --set-root /boot/usbdos.gz
map --mem /boot/usbdos.gz (fd0)
map --hook
map --read-only (hd1) (hd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot
其中“map --read-only (hd1) (hd0)”中的(hd1) 是我机器中真实的硬盘,(hd0)是我的启动优盘。 |
|