双系统安装心得之三:“Invalid BOOT.INI file Booting for C:\WINDOWS\”

关键字:双系统 vista XP Invalid BOOT.INI file Booting for C:WINDOWS

问题描述:
此问题产生的条件:最初系统盘(一般为C)安装操作系统的为Windows VISTA或更高版本,其他盘装的是XP或更低版本,正常组成了双系统。
然后又将C盘格式化重装了VISTA或其更高版本,用EasyBCD制作双系统引导菜单,选择VISTA或Windows 7启动时正常,而选择XP或更低版本的时候,开机就会出现:

Invalid BOOT.INI file
Booting for C:\WINDOWS\

然后就无限重启
问题原因:(下面描述中VISTA代表其自身或更高版本,XP代表其自身或更低版本)
在解决故障之前,我们先来了解一下启动管理器的工作模式--->>>
在XP+Vista双系统中,Vista使用bootmgr接管系统启动模式。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。接着会继续读取活动分区下的启动配置文件(即C:\BOOT\BCD)和c:\boot.ini,根据BCD和Boot.ini存储的启动信息列出启动菜单(也就是双系统启动菜单)。
对于双系统用户通常列出“Microsoft Windows Vista”和“Windows XP”。如果选择前者,Bootmgr将控制权交给Vista系统目录下的Winload.exe 然后开始启动Vista;而选择后者,Bootmgr将控制权交给NTLDR,接着开始读取c:\boot.ini并列出其中配置的启动菜单。
说到这,我想大家应该就知道上面错误的原因了:
C盘是新安装的VISTA,所以Vista系统目录下的Winload.exe肯定是完好的,所以能正常启动VISTA。
而选择了启动菜单中的XP以后,系统还是会去C分区中去查找boot.int(注意还是
C,而不是XP所在的安装盘)然后进行加载,这里要注意了:因为我们是重新格式化C盘新装的系统,这样就会把原先安装XP在C盘生成的boot.ini删掉,新安装VISTA生成的Boot.int是没有启动项的,因为VISTA启动的时候是Bootmgr将控制权交给Vista系统目录下的Winload.exe,不需要在boot.ini中配置。

下面我们就去C盘看一下boot.int,结果正如我们所料,里面只有了了两行字:
[boot loader]
timeout=30

接下来我们就需要查找XP所在的安装盘然后将其设置在加载项里了
Windows+R -->> 调用“运行”窗口 -->>输入cmd -->> diskpart(管理服务器的磁盘子系统) -->> list disk(列出机器上安装的所有的物理磁盘,硬盘一般为0)-->>
select disk 0 (选择硬盘)-->>list partition(列出该硬盘的磁盘分区)

现在我们可以确定自己XP安装盘的分区号,我的是36GB的那个分区,所以确定是4 -->> 编辑C盘根目录下的boot.ini 在原先内容后面添加-->>
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
重启以后XP能正常登陆,一切OK
以上都是我自己的亲身经验,请大家放心按此方法操作,希望能帮到后来有此问题的朋友,如果有什么问题可以给我留言:P

http://xzh.i3geek.com
Back to Top