|
由于楼主一直没有贴启动失败的图,导致这个问题的最后一个解决方案一直在绕弯路,到今天下午终于得到了全面的解决。
问题的关键在于:XP的ntldr只会寻找当前活动硬盘活动分区下的启动文件(也就是boot.ini, ntdetect.com和bootfont.bin)。
在Vista所在硬盘作为活动硬盘(也就是BIOS默认启动硬盘,也就是grub4dos中的(hd0)情况下),你启动XP硬盘((hd1))上的ntldr,它会到Vista所在分区根目录下寻找它的其它启动文件,例如boot.ini,而Vista分区下显然没有这些文件,所以,它会出错提示找不到boot.ini等文件。
解决办法:将ntldr、boot.ini、bootfont.bin、ntdetect.com这几个启动文件从xp的分区复制到vista分区的根目录下。
另外,由于Vista硬盘作为激活硬盘,那么XP的硬盘在boot.ini的ARC路径中就不再是原来的rdisk(0),而变成了rdisk(1),所以,要想xp正常启动,还需要修改boot.ini中的对应ARC路径。
经楼主实验,经以上修改后,XP完全可以正常启动,当然是通过grub4dos如下操作:
- title Start Windows XP by ntldr
- find --set-root /ntldr
- chainloader /ntldr
- # 或者
- title Start Windows XP on (hd1,0)
- root (hd1,0)
- chainloader +1
复制代码 |
|