详细步骤可以参考一篇文章:
http://hi.baidu.com/yaobing0687/blog/item/8801888e1fc3c7e2f11f36e0.html
出现的问题:
1.尝试一:按照使用ghost文件安装
按照上文给出的ghost安装方案,首先提取gho文件中的boot.ini, ntldr,ntdected到win7下,此时由于win7的文件保护,可能根本无法提取到c:/下,方法:先提取到D:/再拷贝到c:/,系统会问你是否用管理员权限,是就可以拷贝过去了。按照上文的说法,修改boot.ini中的partition后面的数字,对应winxp要安装的分区位置,c为1,d为2,依次,可事实是win7还有一个默认分区时隐藏的(100M的那个),最后我发现ghost之后的xp下的boot.ini中的数字是要再加一的,不知道是不是那个隐藏分区的问题。比如我的xp装在g盘(win7下数的),应该是5,但是安装好后其实是6。
另外一个问题是,作者说在win7下使用easybcd设置xp启动项的那一步,我没有做到,因为在点击按钮add bootitem的时候,easybcd发现对应的那个盘符中还是空的,还没有安装xp,就报错,可能是版本的问题。只好算了,等ghost了xp后,再设置。
但是,在winpe下,我严格按照上文说的,隐藏了win7的主分区,然后ghost了xp,之后显现win7分区,最后启动的时侯(由于前面easybcd没有成功设置),这里又进到了win7里,开始我还以为这样刚好了,就启动easybcd添加了xp启动项,因为已经在g盘安装了xp,这次就成功的添加了启动项。重启,问题又出现了。系统直接蓝屏了。不知道是ghost文件的问题还是我操作的问题。
2 尝试二:纯xp安装
上面安装没有成功,我就退而求次,只好拿出了xp安装盘,在g盘重新了xp,重启就进入了xp,在xp中装了.net framework2.0,运行easybcd,添加win7启动项成功,并在boot引导中选择将win7启动写入mbr。重启发现,居然没有了xp启动,直接进win7了,只好进了win7,进入easybcd,再次添加xp启动项。重启,成功。两个系统都可以启动了。只是一个莫名其妙的问题(因为我以前的win7还有一个maxdos8启动项,上一步添加xp启动项时还在,我调整了xp的顺序倒maxdos8上面,等重启之后,就发现没有了maxdos启动了,反而添加了两个xp启动项),等进了系统,进入easybcd,管理启动项中只有两个启动项,win7和xp,已经没有那个maxdos了,进win7中的启动项管理中发现除win7外还是两个xp启动,和easybcd不一致,不知道是什么原因。回看自己的操作,其中又一次在easybcd中好像错也把xp写入mbr,当然最后调整了win7写入mbr,所以估计,是那一次将xp已经写入了mbr,最后又添加了一次,所以就两个xp了)。不过还好,不影响使用。就这么地了。
更新:
1. 通过在win7的easybcd中删除xp启动,又添加的方式,使原来的两个xp启动恢复为了一个启动
2. 此时,xp的根目录下没有boot.ini应该都被放到win7的下面了,内容为:
; This boot.ini was automatically generated by NeoSmart Technologies' BootGrabber.exe
; Use EasyBCD from http://neosmart.net/dl.php?id=1 to manage your bootloader
[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(6)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(6)/WINDOWS="Windows XP on G:/" /fastdetect
如果为了后面虚拟机vpc的使用,设置pae模式,则需要添加:/execute=option到/fastdetect前面。