我的电脑是64位Win7, 近期要写一个XP下的应用程序。于是想到再装一个Xp操作系统到电脑上,搞个双系统玩也不错——之前我曾经有试过先装Xp再装Win7,这时会自动生成双系统启动菜单,两个系统都可以用(看来是高版本的操作系统引导程序能够包容低版本操作系统)。
找来光盘,安装XP,这时只能进Xp系统,已经进不了Win7了。这应该是Win7系统引导程序因为装Xp而不起作用了。 接下来的目的很明确,修复Win7的引导功能;并且实现建立双系统启动菜单。
当我们进到安装好的Xp系统里去时, 会发现多了一个100M的C盘分区。这个分区是原Win7的预留分区,用于存放Win7的系统引导文件,在Win7下不可见(要想在Win7下看到也有办法,不过不是本文讨论的问题,参考:http://zhidao.baidu.com/question/155949633.html)。
在这个100M的C盘里, 我们看到了几个很熟悉的东西,XP的系统引导文件:boot.ini, ntldr, ntdetect.com(要看到这几个文件,需要“显示所有文件和文件夹”、同时把“隐藏受保护的系统文件”的勾去掉)。把这几个文件拷贝到XP的安装盘下。这样做的目的是为了接下来修复xp引导菜单。
接着我们要用到Win7的bootsect工具(关于这个工具的详情,百度百科有:http://baike.baidu.com/view/2789343.htm)。插入Win7安装光盘, 开始--》运行--》输入cmd
>F:(这是光盘所在的盘)
>cd boot ( bootsect.exe工具就在光盘的这个目录里)
执行以下:
>bootsect /nt60 sys (/nt60 使用基于内核为nt60的操作系统主引导代码, sys 更新主引导代码到系统分区,用于启动系统)
重启,进入到Windows7系统。
通过以上一系列操作,我们发现已经可以进到Win7了,但是现在问题又出现了,XP进不了了。别急:
接下来我们把XP的引导项写进Win7的bcd(相当于NT系统的boot.ini)中.
在Win7下, 开始菜单--》所有程序--》附件--》右键“命令提示符”,以管理员身份运行。如果不以管理员身份运行, 以下操作将不能成功。
在命令提示符中执行以下:
>bcdedit /create {ntldr} /d "Windows Xp" (创建一个新的启动项)
>bcdedit /set {ntldr} device partition=D: (设备启动引导文件所在的分区)
>bcdedit /set {ntldr} path /ntldr (设置引导文件ntldr 的路径)
>bcdedit /displayorder {ntldr} /addlast (设置本系统启动菜单的顺序为最后一个)
通过以上的动作后, 我们的双启动菜单就完成了。重启电脑试下吧~
发现Win7的bootsect.exe, bcdedit, 这些很有意思。欢迎与我讨论:)
参考文章:
http://zhidao.baidu.com/question/182882153.html
http://zhidao.baidu.com/question/150041008.html