default 0
timeout 5
title 启动 默认Microsoft Windows
#如果执行失败就跳到第1个菜单执行.(本菜单是第0个)
fallback 1
#检测启动磁盘,如果是0x80也就是(hd0)就说明是Hdd模式了,就执行kernel(让它执行失败跳到前面fallback 指定的菜单).
checkrange 0x80 read 0x8280 && kernel
#后面的就不用解释了.
rootnoverify (hd0,0)
makeactive
chainloader +1
title
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0,0)
makeactive
#使用pause --wait=0 && chainloader +1 是为了让这个菜单不可选择(不能使用上下键来选择菜单)
pause --wait=0 && chainloader +1
default 0
timeout 5
title 启动 默认Microsoft Windows
#hd0
#检测启动磁盘如果是(hd0){HDD模式]就交换磁盘映射.
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map --hook
rootnoverify (hd0,0)
makeactive
chainloader +1
原帖由 chenall 于 2009-4-28 22:35 发表
当然是出错了.
执行到checkrange 0x80 read 0x8280 && map (hd1) (hd0)就会出错.
为了防止这种情况可以改成如下语句.
errorcheck off
checkrange 0x80 xxxx
checkrange 0x80 xxx..
checkrange 0x80 . ...
原帖由 xianglang 于 2009-4-29 21:42 发表
印象中,G4D如果没有map --hook的话,map 的内容是不起作用的,应该不存在不使用命令就能够自动 map --hook 吧。我觉得楼主能成功,还是怀疑是不是U盘没有默认为HD0启动?反正我试过map 磁盘镜像之后,不做 map ...
原帖由 Climbing 于 2009-4-30 06:55 发表
两个对Grub4dos使用的比较变态的人都在这里出现了:chenall和pseudo。
我虽然搞grub4dos这么多年,却从来没有用过这些变态的用法,例如dd、checkrange之类的命令。
可以这样试试:
[Copy to clipboard] [ - ]
CODE:
title 启动 默认Microsoft Windows
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map --hook
find --set-root /ntldr
chainloader /ntldr
这应该是兼容性较好的启动方式了。
原帖由 xiyaxi 于 2009-5-5 07:42 发表
奇怪的事情再次颠覆本贴所有人的理论,真是事出蹊跷!!!
朋友拿来一个MP3,我把它做成启动U盘。依据本贴所有高手给出的答案经过无数次的测试,都不能成功,出现的结果就是无尽的循环,看表象预计原因是不能 ...
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) | Powered by Discuz! X3.3 |