Win7:双启动引导修复

问题一:原系统xp,在C盘。ghost安装win7到D盘。显然,D盘的win7没有引导,需要手动修复。

修复方法【内为注释】:

1. 进入C盘xp,运行cmd进入xp命令行模式。输入
d:
cd d:\windows\system32
bcdboot d:\windows /l zh-cn /s c:
运行上述命令后,在C盘根目录生成了\boot文件夹和bootmgr文件。
【D盘下已经具备了一个完整的win7,唯一欠缺的是系统盘内的引导,因此首先要在C盘重建win7的引导环境。通过Windows7内置的bcdboot命令可以轻易做到这一点。这个命令不能修改引导记录,我用VHD验证过】

2. 去win7安装光盘,找到bootsect.exe文件(找不到就网上下载一个,注意要win7的),复制到C:\boot\文件夹。然后进入命令行:
cd c:\boot
bootsect /nt60 c:
bootsect /nt60 c: /mbr
这个命令执行完毕后,在完成所有后续步骤之前,一定不能重启XP,否则XP将无法启动!
【bootsect —— 用来写win7需要的引导信息到引导记录,第一个bootsect命令把引导信息写入C盘分区引导记录,第二个bootsect命令把引导信息写入硬盘主引导记录。由于主引导记录和分区引导记录都被修改为支持bootmgr,因此XP的引导器ntldr将不能被引导,后续步骤中我们会修复它】

3. 继续在xp的命令行模式,输入
d:
cd d:\Windows\system32

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10

【这一步,我们用bcdedit命令来给XP在bcd中重建引导项。这样通过bootmgr加载bcd中XP的引导项,进而把启动控制权交给XP的引导管理器ntldr,实现XP的启动】

至此,双系统引导修复完成。

上述命令中,每个命令都必须成功。有可能,bcdedit命令会返回失败信息。此时步骤3中的命令改为:

bcdedit /store c:\boot\bcd /create {ntldr} /d "Windows XP"
bcdedit /store c:\boot\bcd /set {ntldr} device boot
bcdedit /store c:\boot\bcd /set {ntldr} path \ntldr
bcdedit /store c:\boot\bcd /displayorder {ntldr} /addlast
bcdedit /store c:\boot\bcd /timeout 10

——————————————————————————————————————————————————————————————————————————————————————————————

问题二:如果C盘已装WIN7,如何在D盘装XP并修复引导?

修复方法:

1. 如果XP是正常安装到D盘:

安装成功后,win7引导被XP的引导覆盖。因此需要在XP下手动修复win7的引导。方法同问题一。命令如下(不再注释,请自行理解)

bootsect /nt60 c:
bootsect /nt60 c: /mbr

cd C:\Windows\system32

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10

2. 如果XP是通过ghost安装到D盘:

这种情况下D盘的XP缺乏引导,需要在win7下手动恢复XP的引导。方法如下:

2.1 把D盘根目录下的ntldr,ntdetect.com,boot.ini三个文件复制到C盘根目录

2.2 修改boot.ini的内容,为 D盘的xp设置正确的引导路径。(原路径是C盘)

2.3 以管理员身份运行cmd,输入如下命令

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10

今天试了下Win7下装了XP系统,然后通过上述方法进行了启动引导修复,成功实现了双系统。

原文地址:http://hi.baidu.com/%B9ȸ%E8%BC%E4%B5%FD/blog/item/2318d635fe52d144251f1408.html

你可能感兴趣的:(C++,c,windows,XP,C#)