win7和XP同硬盘共存机制谈常见的一个问题
电 脑通过BIOS自检,由预先设置的启动设备启动系统,以硬盘为例,系统BIOS将硬盘主引导记录读入内存,将控制权交给主引导程序(MBR,下同),然后 检查分区表的状态,寻找活动的分区。最后,由主引导程序将控制权交给活动分区的引导记录(PBD),由该引导记录加载操作系统。
实现NT5.X和NT6.X系统引导的MBR引导是完全不同的
NT5.X的MBR不能引导多个活动分区,分区表会出错,所以理论上用NT5.X的MBR是可以引导NT6.X系统的
NT6.X可以看做是NT6.X的升级版,MBR支持多个独立活动分区启动(安装时设置的活动分区),然后从第一个设置活动的分区启动系统,即安装系统是在安装时的激活分区,不一定是当前激活分区。
NT6.X系统(Vista、WIN7和WIN8)系统是依赖根目录的bootmgr文件通过boot\BCD 的内容找到windows的winloads.exe来引导实现
NT5.X系统(XP和2000)系统是依赖根目录的ntldr 文件通过boot.ini的内容找到windows的文件夹目录来引导实现
由于实现硬盘引导的MBR、PBD以及引导文件的不同,会造成安装系统后不能直接引导或启动后不能加载引导文件的现象,这都是计算机引导设置错误造成的
NT5.X系统(XP和2000) | NT6.X系统(Vista、WIN7和WIN8) | |
主引导记录(MBR)的差异 | 从第一激活分区启动系统 | 可以从多个集合分区启动系统 |
分区引导记录(PBD)的差异 | 不能兼容6.X系统 | 可以向下兼容 |
引导文件 | ntldr | bootmgr |
引导文件调用文件 | 系统根目录的boot.ini | boot目录下的BCD文件 |
明白了引导的原理,安装双系统就容易得多。由于NT6.X的引导记录优先并向下兼容NT5.X,所以NT6.X系统在不改变引 导的前提下是支持NT5.X系统启动的。例如安装了XP,主引导记录为NT5.X,在安装win7、win8之后,引导记录被置换为NT6.X的引导记 录,是可以引导原XP系统形成双系统的。
如果先安装的win7、win8,在安装XP后,主引导记录从6.X置换为5.X,而NT5.X引导记录是不能启动NT6.X系统的,不能形成双系统,需要借助工具将主引导记录置换为NT6.X,在BCD中加入NT5.X系统的引导文件项来实现双系统启动。
可见,WIN7下安装XP还是比较容易实现的,XP最好能够使用安装版,使用ghost对系统安装环境有要求,一般安装到第1硬盘第1分区(或第一激活分区),所以常见到ghost版的XP系统安装到其它分区后,无法修复启动或出现系统变量错误的问题。
安装WIN7到C盘之后如果想把XP也安装到这里,需要修改安装文件,如下图: