在以前,双重引导是很容易做的,事实上这事根本不用你操心。只要系统安装完毕,启动信息就会被完美的修正。但windows 7的到来,让一切发生了变化。因为windows xp 和 windows 7使用的是不同的启动程序和启动配置文件,所以让这问题变得有些复杂。官方的解决方案:http://support.microsoft.com/default.aspx/kb/919529/zh-cn。

      本人就这里面的一些问题再解释一下。首先,如果你是先装windows xp再装windows 7,那么恭喜你。你什么都不用做了。这就是为什么微软建议打算双重引导的用户,先装旧的再装新的原因。windows 7中,启动管理程序是Bootmgr,启动配置文件是BCD;windows xp中,启动管理器(当然微软不认为这是个管理器,因为它功能单一)是NTLDR,启动配置文件是boot.ini。问题的关键就在于,如果你先装windows 7再装windows xp,那么启动程序会被定位到NTLDR,所以就出现了无法启动windows 7的情况。

所以我们要做的第一步是重定位启动程序,使用命令

bootsect /nt60 all 

,这时bootsect会遍历硬盘的所有分区,然后修改启动代码,把它定位到Bootmgr。接下来我们还要改写启动配置文件信息,就是修改BCD。首先我们要添加一条启动信息

 bcdedit /create {NTLDR} /d "描述"

花括号里是id,随你写,但不能是current,因为current默认被windows 7占有。接下来是完善信息

bcdedit /set {NTLDR} device partition=x:

其中X:为活动目录,一般是硬盘的第一分区。

bcdedit /set {NTLDR} path ntldr 

这句话就是把启动路径定位到NTLDR.exe,这样windows xp就能顺利启动了。还有就是修改启动顺序,一般是windows 7优先,所以要把windows xp放在后面。

bcdedit /displayorder {NTLDR} /addlast 

全部执行完后,再输入命令bcdedit就能看到里面多了一条启动信息了。

 

最后再介绍几条有用的命令:

bootsect /nt52 all

 这条命令会遍历硬盘的所有分区把启动程序交给NTLDR。

bcdedit /delete {NTLDR} /f

 这条命令会删除启动配置文件中id为NTLDR的条目。

说明:bootsect 位于windows 7光盘的boot文件夹内。bcdedit 位于windwos 7系统文件里system 32 文件夹里。

By charlie

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注