站点图标 ITGeeker技术奇客

如何恢复和修复Win7和Windows XP双启动菜单

Windows7启动原理不同于Windows XP,如果重装了Windows 7之后,怎么样恢复XP的启动菜单呢?

首先说一下具体问题出现的背景:
首先在C盘装了windows xp,然后接着在D盘装的windows 7。这样用着一切正常,因为原来备份的有xp系统,所以我用一键还原把C盘给还原了。问题也就出来了,在系统启动项那只有windows xp和一键还原两个选项,没有办法进入windows 7系统。

解决问题前我们先来了解一下windows xp和windows 7的启动原理有何不同,双系统又是如何启动的:

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

下面我们来解决问题:

方法一

首先我们需要几个备份文件(bootmgr,ntldt,bcd,bootsect),如果你有windows 7系统盘或者镜像的话可以直接从中提取。

这里我们可以用到Windows 7、Vista、XP双启利器EasyBCD

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

以下操作都是在windows XP中进行,因为有隐藏文件和系统文件,所以最好显示系统和隐藏文件,在文件夹选项里点击查看,去掉隐藏受保护的系统文件(推荐)并选择选择显示所以文件和文件夹。

把bootmgr, ntldt(一般C盘下有,不用复制)复制到C盘下。(此C盘为默认为系统,按具体情况而定)把bcd, bootsect复制到C:boot目录下

然后运行EasyBCD

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

方法二

了解了Windows7双系统启动的原理,下面就说一下恢复Windows XP启动项的另外一个方法,下面的bcdedit命令即是Windows Vista和Window 7的启动设置编辑工具。

1.备份c盘(即系统盘)下的ntldr/ntdetect.com/boot.ini/bootfont.bin四个文件。

2.全新安装win7后,把以下代码写进txt文本,然后把后缀名由.txt改成.bat,名字任意,如“恢复XP启动项.bat”
bcdedit /create {ntldr} /d “Windows XP”
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path NTLDR
bcdedit /displayorder {ntldr} /addfirst
bcdedit /timeout 12

3.然后以管理员身份运行,最后把备份好的文件复制到c盘根目录,重启后就可以恢复引导了。

退出移动版