处理WIN7下无法运行16位DOS程序故障的方法

上传人:m**** 文档编号:559794264 上传时间:2023-08-09 格式:DOC 页数:3 大小:56KB
返回 下载 相关 举报
处理WIN7下无法运行16位DOS程序故障的方法_第1页
第1页 / 共3页
处理WIN7下无法运行16位DOS程序故障的方法_第2页
第2页 / 共3页
处理WIN7下无法运行16位DOS程序故障的方法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《处理WIN7下无法运行16位DOS程序故障的方法》由会员分享,可在线阅读,更多相关《处理WIN7下无法运行16位DOS程序故障的方法(3页珍藏版)》请在金锄头文库上搜索。

1、处理WIN7下无法运行16位DOS程序故障的方法在Windows2000/XP/VISTA/7下运行16位MSDOS程序时,可能会遇到“Config.ntThesystemfileisnotsuitableforrunningMS-DOSandMicrosoftWindowsapplications”(Config.nt系统文件不适用于运行MS-DOS与MicrosoftWindows应用程序)错误信息,然后只能点击关闭结束程序,下面介绍几种解决问题的方法以供参考。本人在实际使用过程中遇到了这样的情况,初步怀疑是WIN7为了安全起见,禁止16位纯DOS程序运行,检查config.nt文件,未发

2、现异常。在网上搜索此类故障,得到的解答普遍如下,如Microsoft官方描述:方法1将CD插入CD驱动器或DVD驱动器。单击“开始”,然后单击“运行”。在“打开”框中,键入cmd,然后单击“确定”。在命令提示符处键入以下命令,并在键入每条命令后按Enter:expand:i386config.nt_c:windowssystem32config.ntexpand:i386autoexec.nt_c:windowssystem32autoexec.ntexpand:i386command.co_c:exit启动或安装程序。如果问题已经解决,请不要继续执行余下的步骤。如果问题没有解决,请转至下一步

3、。注意:在以下过程中,不会编辑或创建C文件。因此,您可能必须从WindowsXPCD-ROM中展开它。启动记事本。在记事本中,键入下列条目:dos=high,umbdevice=%SYSTEMROOT%system32himem.sysfiles=40在“文件”菜单上,单击“另存为”。在“文件名”框中,键入Config.nt,然后单击“保存”。关闭Config.nt文件。在“文件”菜单上,单击“新建”。在新的空白文档中,键入下列条目:echoofflh%SYSTEMROOT%system32mscdexnt.exelh%SYSTEMROOT%system32redirlh%SYSTEMROOT

4、%system32dosxSETBLASTER=A220I5D1P330T3在“文件”菜单上,单击“另存为”。在“文件名”框中,键入Autoexec.nt,然后单击“保存”。关闭Autoexec.nt文件。启动Windows资源管理器。找到Config.nt文件,右键单击“Config.nt”文件,然后单击“复制”。右键单击%SYSTEMROOT%System32文件夹,然后单击“粘贴”。找到Autoexec.nt文件,右键单击“Autoexec.nt”文件,然后单击“复制”。右键单击%SYSTEMROOT%System32文件夹,然后单击“粘贴”。找到C文件,右键单击展开的“C”文件,然后单

5、击“复制”。右键单击%SYSTEMROOT%System32文件夹,然后单击“粘贴”。重新启动计算机。如果问题仍然存在,则将Autoexec.nt和Config.nt文件从Windows中的“Repair”文件夹复制到“System”文件夹中。为此,请按照下列步骤操作:依次单击“开始”和“运行”,键入c:windowsrepair,然后单击“确定”。右键单击“Autoexec.nt”,然后单击“复制”。依次单击“开始”和“运行”,键入c:windowssystem32,然后单击“确定”。在该文件夹中右键单击任意位置,然后单击“粘贴”。右键单击刚复制的“Autoexec.nt”文件,然后单击“属

6、性”。单击以选择“只读”,然后单击“确定”。重复步骤1到6以复制Config.nt文件。注意:必须启用只读权限,否则重新启动Windows后这些文件将删除。方法2依次单击“开始”和“运行”,键入C:windowsrepair,然后单击“确定”。右键单击Autoexec.nt文件,然后单击“复制”。依次单击“开始”和“运行”,键入windir%system32,然后单击“确定”。在System32文件夹中,按“Ctrl”+“V”,以便将Autoexec.nt文件粘贴到该文件夹中。我检查了系统,发现三个关键的文件都在,文件内容正常,文件权限也无问题,更重要的是,无意中发现用user账户登录后竟然可

7、以正常运行DOS程序!那为什么administrator账户不能运行呢?按道理超级管理员应该拥有最高权限才对!后来我又在微软官网上找到这样的解答:如果满足以下所有条件,就可能发生此问题:您试图运行一个16位程序。您安装了MicrosoftWindows的MS04-032安全更新。您禁用了NTFS文件系统的8.3文件名创建格式。在Windows2000上运行16位程序时,该程序在MicrosoftWindowsNT的虚拟DOS机器(NTVDM)中运行。NTVDM是一个多线程进程,它模拟16位Windows环境,在该环境中,基于Windows的16位程序可作为独立的线程运行。NTVDM使用TMP系

8、统变量来查找运行程序的位置。通常,TMP系统变量设置为C:WINNTTemp。此文件夹在新建文件时使用8.3文件命名格式,而不使用长文件名。安装MicrosoftWindowsMS04-032安全更新后,NTVDM使用TMP用户变量而不是TMP系统变量。如果您的计算机上禁用了8.3文件名创建格式,则TMP用户变量将使用长文件名。要解决此问题,请按照下列步骤操作:单击“开始”指向“设置”然后单击“控制面板”双击“系统”单击“高级”选项卡,然后单击“环境变量”在“User_Name的用户变量”列表中,单击“TMP”然后单击“编辑”在“变量值”框中,键入c:winnttemp,然后单击“确定”三次。

9、也可以在“变量值”框中键入不使用长文件名的任何文件夹路径。关闭“控制面板”如果禁用了8.3文件名创建格式,则注册表项NtfsDisable8dot3NameCreation的值为1。该注册表项位于以下注册表子项中:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem由于许多16位程序无法使用长文件名,我们建议您不要在运行16位程序的计算机上禁用8.3文件名创建格式。然后我检查了注册表,发现在该WIN7系统中NtfsDisable8dot3NameCreation的值为2,暂不明白这样的值代表什么含义,按位理解的话,最低位为0,应该

10、是没有禁用,同时user账户能正常工作也说明了这一点。于是我再检查两个账户的环境变量,发现两个账户的TMP环境变量的值均为“USERPROFILE%AppDataLocalTemp”在命令提示符中运行SET指令做进一步观察结果为:Sys:tenDriue=C:Gys:teinRoot=C:windowsTEMP=C:MJsersfldministratorMlppDataMiOcaLTenpTMP=C:MJsersdministratorppDataca1Tenp上图是超级管理员账户的TEMP环境变量,user账户只是账户名不同。忽然我发现超级管理员administrator这个字符串超过了8字节,这样系统会使用长文件名,这会不会就是导致管理员无法运行MSDOS程序的原因呢?于是将管理员的环境变量改为“c:temp”再运行DOS程序,故障排除!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号