|
原帖由 yuan-0918 于 2012-5-29 12:42 发表
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
map (hd0) ()
map () (hd0)
map --rehook
checkrange 0x21 read 0x8280 && cat --locatei=\"echo (hd0,0)/windows/system32/$winnt$.inf > nul
checkrange 0x21 read 0x8280 && cat --skip=%?% (hd0,0)/windows/system32/$winnt$.inf | set isopath=
checkrange 0x21 read 0x8280 && if exist %isopath% map --mem %isopath:~6,-1% (0xff) && map --rehook
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
chainloader /ntldr || chainloader /bootmgr
这同一个菜单,如果从 U 盘启动电脑,无法进入 Windows,但如果从硬盘启动电脑,可以进入 Windows,对吧?
这唯一的差别就在于,你的电脑从 U 盘启动时,U 盘成了 hd0,而你的本地硬盘变成了 hd1.
第一条 find 命令找到的 ntldr(或bootmgr) 有可能是 U 盘上的 ntldr(或bootmgr),如果确实如此,则肯定失败,因为 (hd0) 和 (hd1) 并未真正交换过来。
解决办法:由于 find 命令的目的是要找本地硬盘上的 ntldr(或bootmgr),所以,就不要让它找到 U 盘上的 ntldr(或bootmgr)。删除 U 盘上的 ntldr 和 bootmgr 应该可以解决问题。 |
|