中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 从FAT32启动Windows NT 4.0 上一主题 | 下一主题
rtix
中级用户





积分 209
发帖 39
注册 2003-7-27
状态 离线
『楼 主』:  从FAT32启动Windows NT 4.0

从FAT32启动Windows NT 4.0

作者:蔡文平 来源:CPCW


日期: 2005-4-29

  可安装文件系统(Installable Files System)可以作为一个设备服务(Device)安装到Windows NT 4.0上,同样的也可以在Windows 98上实现。FAT32 for Windows NT 4.0便是一个Windows NT 4.0的设备服务。微软的Windows NT 4.0不具备访问FAT32分区的能力,但可以通过安装FAT32 for Windows NT 4.0来实现对FAT32分区的访问。
  FAT32 for Windows NT 4.0在说明文档中已提出:虽然在安装FAT32 for Windows NT4.0后可以访问FAT32分区,但是不可以将Windows NT 4.0的启动分区变为FAT32分区。
  难点随之而来,要使Windows NT 4.0从FAT32上启动,必须要在启动的开始就支持 FAT32的访问。Windows NT 4.0(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 4.0后,会添加一个设备服务:fat32,文件名为 32.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 4.0的方法。)
  安装Windows NT 4.0 Workstation在分区1(新的分区1),注意不要让安装目录 与Windows 98的目录同名(例如:Windows 98安装目录为WINDOWS,Windows NT 4.0便不能用WINDOWS作为安装目录名)。安装完毕后,安装FAT32 for Windows NT 4.0,再使用磁盘管理器激活分区2。
  在Windows 98中将分区1的Windows NT 4.0目录(包含WINNT,Program Files两个 目录,不包括分区1根目录下的文件)复制至分区2的目录下(D:\WINNT--- >C:\WINNT),不要忘了复制所有文件和目录结构。最后把分区1根目录下的 BOOT.INI复制到分区2的Windows 98目录下。
  到分区2 Windows NT 4.0的目录下的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。根目录下的文件:$LDR$,CDLDR,INF*.SWP,目录:$*.~*,都可以安全地删除了。
  至于磁盘扫描的问题,在Windows NT 4.0下可用chkfat32来实现只读模式的检查, 而要修复磁盘错误,还是要用Windows 98的Scandisk,磁盘整理也用Windows 98 的"磁盘整理工具"。
  以上均在Windows NT 4.0 Workstation中实现,从体系结构上说,Windows NT 4.0 Server也应该可以实现。

2006-4-24 16:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 2 楼』:  

这个方法中有很多没必要的步骤,要在fat32上启动nt 4根本不需要装win98,一个dos 7.1就能解决问题,也不需要pq来改变分区大小。具体来说:
1、在fat16上装nt4;
2、nt4上装fat32 for nt4;
3、dos下用2000的ntldr,ntdetect.com和bootfont.bin替换nt4的;
4、把fastfat.sys和fat32.sys对换文件名;
5、用win98/winme所带的cvt.exe把fat16转成fat32。

2006-4-24 19:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 3 楼』:  

fat32上安装nt4本就不太实用,当时提出只是作者为了秀一下自己的能力。
还看到过比这更高一个境界的文章,可以在OS/2的HPFS分区上启动nt4和win2000。

2006-4-24 19:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: