科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道常见内存故障的排除

常见内存故障的排除

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

内存故障多种多样,应根据具体情况具体解决,这里就较常见的情况作一简要分析:386及以下的计算机一般都没有提供内部高速缓冲存储器,所以这项值应设置为Disabled,如果设置成了Enabled,则很容易发生死机现象。

2008年3月19日

关键字: AUTOEXEC Dos

  • 评论
  • 分享微博
  • 分享邮件

  内存故障多种多样,应根据具体情况具体解决,这里就较常见的情况作一简要分析:

  CMOS的设置与内存不一致

  要注意一台机器的内存条奇偶校验应一致,两者不能混用,比如,内存若是8片一条的,应将“Memory Parity Error Check:”设置为Disabled,而若是9片一条的,应将“Memory Parity Error Check:”设置为Enabled。

  另外,有时虽能进入CMOS设置状态,但退出时出现死机,这时有可能是购买了以低速内存冒充高速内存的缘故,此时可把CMOS的“Cas Read Wait State:0 W/S”(读等待)和“Cas Write Wait State:0 W/S”(写等待)设大一点,如把0改为1,以适应那些低速充当高速的内存条。

  执行了MEMMAKER.EXE引起死机

  在CONFIG.SYS和AUTOEXEC.BAT中,有的程序不宜装入UMB,而在执行MEMMAKER.EXE时加上了DEVICEHIGH或LOADHIGH,有时便会导致死机。解决时可以在系统启动时按F8,逐一执行CONFIG.SYS和AUTOEXEC.BAT的命令,直到出现死机的那一行,此处便是问题所在,重新启动后,按F5进入DOS状态,在有问题的命令行前加上REM语句或删除此命令行均可。

  由HIMEM.SYS设置不当引起的故障

  HIMEM.SYS有一个开关/MACHINE:XXXX,它用于指定用户使用的A20处理器类型。一般地,HIMEM.SYS能检测系统正在使用的是哪一种类型的A20处理器,如果报告A20处理器有问题(显示“Unable to Contronal A20 Line”信息)或在高端内存区使用MS-DOS有问题,用户就必须设置此值。XXXX开关的缺省设置是at或1,用户可参照有关文档对此值进行必要设置。

  另外,应注意HIMEM.SYS中是否使用了/A20CONTROL:OFF设置,如果设置为OFF,机器运行速度将明显便慢,这时应将其设置为ON,其实,默认设置即为ON。由Windows退到DOS后关机,数据出现未存盘而莫名丢失。在DOS 6.2以前版本的SMARTDRV.EXE要在控制传给COMMAND.COM之后才处理磁盘缓存的数据,所以,要等待5秒钟的时间让SMARTDRV.EXE有时间完成操作。对于DOS 6.2以后的版本,SMARTDRV.EXE会先清理缓存,然后在将控制传给COMMAND.COM,所以,在这种情况下,当出现C:\>时,磁盘缓存以被清理干净了,此时关机没有什么妨碍。如果使用的是Windows自己所带的SMARTDRV.EXE,同时基于的DOS版本不甚高,如DOS 6.0、5.0,这时5妙的约定同样有用。有时能正常启动,有时不能正常启动。出现这种问题,说明系统硬件的控制逻辑没有问题,热稳定性也正常,如果再排除电源接触不良、接口接触不良等原因,那么很有可能是内存接触不良所引起。这时可把内存条拔下后重新插入,一般便可解决问题。同时,有些主板要求所有内存条必须全部插好才能引导,而有些主板只要求至少有一块内存条插好便可正常引导,但此时所检测的内存数与实际内存数不符,此时也应拔下内存条把其重新插好。顺便说一句,一些兼容机的非正规的主机板对内存条的固定较差,紧靠槽边的塑料卡口固定,由于塑料片比较薄脆,再插拔时很容易折坏,而一旦损坏后就很难固定,因此必须小心操作。

  “Packed file corrupt”故障

  DOS 5.0以上版本使用了HIMEM.SYS和EMM386.EXE内存管理程序后,可将DOS系统本身装入HMA,将TSR和设备驱动程序装入UMB,给应用程序留出了更多的常规内存空间,使得应用程序可以装入前面的64KB内存。这本来是很有用的,但有些程序装入第一个64KB运行时却会出现“Packed file corrupt”错误而不能运行,有时甚至出现死机。出现此种错误的原因,是由于这些被运行的程序通过EXEPACK压缩过的程序,MS-DOS在执行用EXEPACK压缩过的程序时先开包,把原来的程序和DOS替换过的程序进行比较。由于EXEPACK程序计算时并没有考虑到会在低64KB内运行,数据段地址计算时没有比较是否小于0,这样,EXEPACK就取不到正确的地址,只好显示“Packed file corrupt”。由于EXEPACK应用及其广泛,Microsoft只好在DOS中弥补这个漏洞,用LOADFIX命令来加载用EXEPACK压缩过的程序以进行特殊处理。所以,当运行一个程序时出现“Packed file corrupt”时,就用LOADFIX命令将其加载到首个64KB内存,如:C:\>LOADFIX TEST.EXE。

  配置了高速缓存,但机器速度仍然很慢

  此时有可能是CMOS中关于高速缓存的设置不当所引起。目前386以上的计算机,都提供了64KB或64KB以上的高速缓存,486以上的计算机都提供了内部缓存,此时应把CMOS中“Internal Cache Memory:”设置为Enabled,这将使机器运行速度大为提升,如果设置为Disabled,将会大大降低机器的运行速度。386及以下的计算机一般都没有提供内部高速缓冲存储器,所以这项值应设置为Disabled,如果设置成了Enabled,则很容易发生死机现象。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章