2023年12月1日发(作者:)
由硬盘版windows 7安装盘无法启动来剖析windows NT5与NT 6内核版本的引导差异
苏州 顾峰
网上文章介绍了如何将U盘或移动硬盘制成windows7 安装盘,方法是用ultraISO9.0
打开安装光盘的ISO映像文件,如Win7_MSDN_Ultimate_,选择工具--写入硬盘映
像,然后在图1所示中:
(1) 选择对应的移动硬盘或U盘(如果同时插了几个,千万别选错了)
(2) 写入方式:USB-HDD+(这种方式兼容性最强)
(3) 点击下面的“写入”按钮。
写入完成后,移动硬盘或U盘就成为可以直接启动的windows7安装移动盘了,而且安
装速度也比光盘安装快。其实中这种方式可以用任意一张可启动光盘的映像,将移动硬盘和
U盘打造成启动盘。
一般介绍上面方法实现的环境都是windows7或VISTA环境,而笔者希望在自己的
windows XP系统上进行同样的操作,制作一个硬盘版windows 7安装盘。首先将移动硬盘
第一个分区(划分为主分区)设置为活动分区,(如图1)
(图1)
然后用UltraISO打开windows7 安装光盘映像,将里面所有内容写入到移动硬盘的第一
分区(如图2)。重新启动电脑从移动硬盘启动,但是却没有进入windows 7的安装界面。
(图2)
这是什么原因呢,原来XP与windows 7内核不同,XP是NT5.x系列(windows server
2003也是NT5.x内核),而windows7是微软新一代的操作系统,内核版本为NT6.x系列
(windows server 2008和vista也是这个内核系列),由于内核的不同,它们的引导方式也存
在一定区别的。电脑启动后的一般顺序是这样的。
(1) 开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的主引导
记录MBR(Master Boot Record 是硬盘的第一个扇区,它不在任何一个分区内),并把控制
权交给MBR,读取并运行MBR中引导代码。(MBR结构如图3)
(图3)
(2) 引导代码会搜索分区表,找到主分区中(最多是4个主分区,因为每个分区信息占
16BIT,整个分区表只有64BIT大小)的活动分区,然后加载活动分区的第一个扇区,将其
中的分区引导记录PBR(Partitation Boot Becord)加载到内存;
区别就在这里了:如果是用内核版本NT5.x的操作系统进分区并设置活动分区,那么
PBR中写入了去加载NTLDR,如果是内核版本NT6.x的操作系统进行同样操作时,则PBR
中会记录了去加载BOOTMGR。由于笔记在进行分区和标记为活动分区时用的是NT5.x内
核的XP(网上做成功的文章都是直接在VISTA或windows7下做的),所以PBR中就是写
入了去加载NTLDR,即使把windows 7的安装光盘上的内容都复制进去了,却无法通过PBR
去找用于加载的BOOTMRG。
(3)接下来,如果是加载Bootmgr则会寻找并读取BCD,如果有多个启动选项,会将这些
启动选项反映在屏幕上,由用户选择从哪个启动项启动。如果是加载NTLDR则会去读取
,这个大家都知道是XP下的启动菜单文件。
所以对比一下两种内核的引导过程:
Windows 7为代表的NT6.x内核的操作系统:BIOS-->MBR--> Bootmgr
-->BCD-->-->内核加载
Windows XP为代表的NT5.x内核的操作系统:BIOS-->MBR--> NTLDR --> -->
--> ->内核加载
原因找到了,那怎么解决呢,当然可到已经装好内核为NT6.x的系统中重新进行分区
和激活。其实不用这么麻烦,我们一个叫的小工具,就可以在XP下直接修改
PBR记录,让它去加载BOOTMRG而不是NTLDR。下面介绍一下修改方法:
一、 选择需要修改的移动硬盘或U盘(图4)
(图4)
二、 选择主引导记录,将其从windows NT5.x改为windows NT6.x并点击“安
装/配置”按键(图5)。(PS:其实MBR 上的这两种引导程序没有明显区别,都是查找
并启动第一个激活的主分区。但nt 6.x的mbr支持多个活动分区,nt 5.x的mbr遇到
多个激活分区就报分区表错误,两者差别也就这些)
图5
三、点击取消后,回到主界面点击“分区引导记录”,选择BOOTMRG引导程序,并点
击“安装/配置”,在在弹出的对话框确认,这样就将PBR也改好了(图6)。
(图6)
这样我们在XP下做的window 7硬盘版安装盘也可以使用了。再次用该移动硬盘启动,
安装程序启动了。该方法同样适用于U盘。同时在过程中也进一步 了解的windows的启动
过程和MBR、PBR的作用。
发布评论