探索--可安装文件系统:从FAT32启动Windows NT
--------------------------------------------------------------------------------
HWNET网12月27日
重要须知━请认真阅读:
本文受著作权法、国际著作权公约以及其它知识产权法规和公约保护。著作权法和其它知识产权公约授予著作权人包括再生产或复制本文在内的一些专有权利以保护著作权人的权利。未经著作权人的许可刊登属"侵犯著作权",侵权者将受到法律的惩罚。用户访问和使用属于第三方所有材料的权限通常由第三方控制。
本文适用的读者群为计算机的熟练操作者,具有Windows NT, Windows 98的安装和使用经验,对文件系统的有深入认识,以及对软件PQ Magic 4的使用经验。
本文假设您的硬盘已做好必要的备份(备份至启动分区以外的分区或者其它媒体)。
本文所述在实践中可能会占用您大量的时间(依数据的移动量而定)。
本文实践需要以下软件:
1. Windows NT 4.0 Workstation (i386 Platform)
2. Windows 98
3. PQ Magic 4 (Installed On Drive C)
4. FAT32 for Windows NT (Full Access)
5. Windows 2000 Professional (Beta 3)
本文假定以上软件均为原版软件或预发行软件。
本文对实践所产生的后果不负责,请在确认自身条件满足的情况下进行实践,本文作者只提供有限的技术支持。(联系地址在文末)
可安装文件系统(Installable Files System)可以作为一个设备服务(Device)安装到Windows NT上,同样的也可以在Windows 98上实现。FAT32 for Windows NT便是一个Windows NT的设备服务。微软的Windows NT 4不具备访问FAT32分区的能力,但可以通过安装FAT32 for Windows NT来实现对FAT32分区的访问。
FAT32 for Windows NT在说明文档中已提出:虽然在安装FAT32 for Windows NT后可以访问FAT32分区,但是不可以将Windows NT的启动分区变为FAT32分区。
难点随之而来,要使Windows NT从FAT32上启动,必须要在启动的开始就支持FAT32的访问。Windows NT(i386)的启动顺序如下:
* 引导分区 --->
* NTLDR --> NTDETECT.COM --->
* [NTOSKERNL.EXE ---> %SysRoot%/system32/drivers/*.sys]。
打方括号的过程是作为一个整体装入的,也就是说NTLDR和NTDETECT.COM支持FAT32是从FAT32启动的关键。方括号内的%SystemRoot%/system32/drivers/*.sys包含了fastfat.sys,fastfat.sys是FAT文件系统的服务支持,在安装了FAT32 for Windows NT后,会添加一个设备服务:fat32,文件名为fat32.sys,位于%SystemRoot%/system32/drivers下,可是在启动过程中fat32.sys并没有出现在方括号过程内(可以用VGA 模式]启动观察)。
就理论而言,只要在方括号的过程内启动了fat32.sys,以后的过程便不是难题。NTLDR和NTDETECT.COM可以用Windows 2000的来代替(Windows 2000支持从FAT32上启动)。
以上即是本文实践的原理,实践还需要一定的技巧和勇气。(强烈建议:以下寥寥数语可能需要极大的劳动量,请阅读理解后才行动。)
本文建议您的硬盘分两个以上的主分区(Primary Partition),可以用PQ Magic 4实现。(以下操作中为了清晰分区,用"分区1","分区2"来表示分区) 在分区1上安装Windows 98,PQ Magic 4,运行PQ Magic 4,改变分区1大小,减小分区1大小500兆字节(Partition 1 Size-=500M),同时移动分区1到末端,使得在磁盘前段有500兆空闲空间。
在500兆空闲空间建立一个主分区,使用全部空闲空间,同时格式化为FAT(16)不要忘了让这个分区显示(Unhide)出来。
这时分区1已变为分区2,请激活分区1,应用这个改变,然后退出会自动启动系统。(注意:此时本文假设您已有了三张Windows NT 4.0的安装软盘或者光盘,或者其它可以继续安装Windows NT的方法。)
安装Windows NT 4.0 Workstation在分区1(新的分区1),注意不要让安装目录与Windows 98的目录同名(例如:Windows 98安装目录为WINDOWS,Windows NT便不能用WINDOWS作为安装目录名)。安装完毕后,安装FAT32 for Windows NT,再使用磁盘管理器激活分区2。
在Windows 98中将分区1的Windows NT目录(包含WINNT,Program Files两个目录,不包括分区1根目录下的文件)复制至分区2的目录下(D:/WINNT--->C:/WINNT),不要忘了复制所有文件和目录结构。最后把分区1根目录下的BOOT.INI复制到分区2的Windows 98目录下。
到分区2 Windows NT的目录下的system32/drivers中,把fat32.sys复制成fastfat.sys,在将fastfat.sys复制成fat32.sys。用DOS命令可以更好的理解:
cd /winnt/system32/drivers
copy fastfat.sys *.bak
copy fat32.sys fastfat.sys
copy fastfat.bak fat32.sys
del fastfat.bak
启动PQ Magic,删除分区1,再将分区2移动至原处,并还原大小。 此时,分区2变为分区1。 启动Windows 98,安装Windows 2000 Professional,不要选择升级Windows 98,也不要选择复制文件到硬盘。(我们只需要NTLDR,NTDETECT.COM,BOOTFONT.BIN,BOOTSECT.DOS和启动分区的引导代码。)
重新启动后,从Windows 2000启动菜单中选择Microsoft Windows,然后将先前复制到Windows 98目录下的BOOT.INI复制到根目录下(覆盖)。去除根目录下BOOT.INI的隐含,只读,系统属性,在[operating system]段(视情况)加入C:/="Microsoft Windows",然后恢复其属性,再重新启动。
到此为止,您已经成功的在FAT32上启动了Windows NT 4.0 Workstation。根目录下的文件:$LDR$,CDLDR,INF*.SWP,目录:$*.~*,都可以安全地删除了。
至于磁盘扫描的问题,在Windows NT下可用chkfat32来实现只读模式的检查,而要修复磁盘错误,还是要用Windows 98的Scandisk,磁盘整理也用Windows 98的"磁盘整理工具"。
以上均在Windows NT 4.0 Workstation中实现,从体系结构上说,Windows NT 4.0 Server也应该可以实现。