科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道巧改Boot.ini 修复XP+Vista双启动故障

巧改Boot.ini 修复XP+Vista双启动故障

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

由于Vista采用启动管理器(Bootmgr)启动方式,这使得安装双系统的用户经常遭遇启动故障,其中两个系统都无法启动的故障最为严重。因此,今天给大家介绍如何对付这种“最严重”的启动顽症。

作者:zdnet安全频道 来源:论坛整理 2008年9月9日

关键字: Xp Vista Windows Vista

  • 评论
  • 分享微博
  • 分享邮件

    由于Vista采用启动管理器(Bootmgr)启动方式,这使得安装双系统的用户经常遭遇启动故障,其中两个系统都无法启动的故障最为严重。因此,今天给大家介绍如何对付这种“最严重”的启动顽症。 为了叙述的便,这里双系统是指C盘装XP,D盘装Vista。

    在解决故障之前,我们先来了解一下启动管理器的工作模式。在XP+Vista双系统中,Vista使用bootmgr接管系统启动模式。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。

    接着会继续读取活动分区下的启动配置文件(即C:\BOOT\BCD)和c:\boot.ini,根据BCD和Boot.ini存储的启动信息列出启动菜单(也就是双系统启动菜单)。对于双系统用户通常列出“Microsoft WindowsVista”和“旧版本的Windows”。

    如果选择前者,Bootmgr将控制权交给Vista系统目录下的Winload.exe 然后开始启动Vista。选择后者,Bootmgr将控制权交给NTLDR,接着开始读取c:\boot.ini并列出其中配置的启动菜单。

    启动故障就主要出现在Bootmgr(如该文件丢失)、BCD(启动信息配置错误)、Winload.exe(该文件丢失导致Vista无法启动)、Ntldr(该文件丢失导致XP无法启动)这些文件上。

    在本例故障中,由于上述文件均已备份,因此恢复后导致双系统启动故障的原因应该就是BCD启动信息出错。把故障电脑的C:\BOOT\BCD复制到正常电脑上的d:\,运行“bcdedit.exe d:\bcd”(bcdedit.exe可以从安装Vista电脑上的c:\windows" onclick="tagshow(event)" class="t_tag">windows\system32提取)可以看到其中Device显示为unknown。

    故障是由于Bootmgr找不到启动分区所致,因此修复的方法就是重建正常的启动配置文件。

    现在两个系统都无法进入,如何重建BCD启动信息?一般的方法是借助Vista安装光盘进行自动修复。如果没有安装光盘怎么办?可以通过修改Boot.ini文件“曲线”进入XP,然后在XP中使用EasyBCD重建BCD。因为在加载Bootmgr时,还会读取c:\boot.ini中根目录启动信息。

    比如,安装一键Ghost的用户,Boot.ini中一键Ghost启动菜单也会出现在多重启动中。这时,我们要进入DOS修改Boot.ini文件,在其中添加NTLDR启动项即可绕开BCD进入XP。

    Vista安装光盘进行自动修复方法

    使用Vista安装光盘启动电脑后,在出现安装界面时单击左下角的“修复计算机”。系统会自动检测到本机出现引导故障,我们只要按提示单击“修复并重新启动”,系统就会自动修复故障(图2)。重启后在多重启动菜单中选择“Microsoft Windows Vista(已修复)”即可进入Vista。进入Vista后也可以使用EasyBCD删除失效XP菜单并重新添加XP启动。

    第一步:准备一张Windows 98启动光盘,进入BIOS将光驱设置为第一启动,进入DOS后依次输入下列命令编辑Boot.ini:

    attrib -s -h -r c:\boot.ini(取消该文件的系统、隐藏、只读属性)

    edit c:\boot.ini

    在Edit文本编辑器打开Boot.ini后,在文件最后添加c:\ntldr=“XP”,然后保存。

    提示:如果你的C盘是NTFS分区,则需要加载NTFSDOS才能访问并写入数据。或者使用深山红叶PE光盘引导系统进行修改。

    第二步:重启电脑,在启动管理器多重启动菜单中就会出现“XP”菜单,选择它后开始启动XP,在boot.ini加载多重启动菜单选择“Windows XP professional”(即原来XP,不可以选择上述添加的XP菜单,否则会重启)。

    第三步:进入XP后到http://www.cpcw.com/bzsoft/下载EasyBCD。启动程序后,EasyBCD首先要求我们选择启动分区,这里选择C:,接着打开程序主窗口。

    注意:在XP下EasyBCD的运行需要Microsoft .NET Framework2.0的支持,可以到http://msdn2.microsoft.com/zh-cn/vstudio/default.aspx下载安装。

    第四步:切换到左侧的“ADD/Remove Entries”,在右侧窗格选中原来无效的启动菜单,单击Delete删除,接着在Add An Entry下添加启动项。添加XP启动则在Version选择“Windows NT/200/XP”、Drive选择C:\、Name设置为Windows XP(图3)。同上,添加Vista的启动项(Version选择Windows Vista/longhom、Drive选择D:\、Name设置为Windows Vista),完成后单击ADD Entry保存配置。

    第五步:重启电脑,现在就可以在多重启动菜单中选择XP或者Vista进入系统了,进入系统后把在Boot.ini添加的c:\ntldr=“XP”语句删除。

    附:其他常见启动故障解决方法一览:

    1.Bootmgr丢失无法启动

    解决方法:到安装Vista的电脑上复制bootmgr到C:\。Ntldr丢失则到XP电脑上复制该文件到C:\。

    2.发生启动故障,但是可以进入某一个系统(XP或者Vista)。

    解决方法:选择能够启动的系统,然后使用EasyBCD添加故障系统的启动项

    3.安装Vista后没有及时备份双系统,下次恢复XP时导致启动菜单丢失,只能进入XP。

    解决方法:使用上述介绍的“Vista安装光盘进行自动修复方法”添加Vista启动

    4.使用bootsect命令更改启动分区后没有出现启动菜单,只能进入XP。

    解决方法:把Vista安装光盘下的/boot/bootsect.exe复制到c:\windows\system32(/表示光盘根目录)。启动命令提示符输入“bootsect -nt60 c:”即可。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章