首先当系统提示“非法操作”后不要马上选择关闭,而是应该先看一看它的详细资料,记下是哪些文件执行了“非法操作”,然后再关闭对话框,重启电脑,嫌麻烦不重启就直接打开刚才出错的程序,这样很容易导致多个相关文件接连被破坏,最严重时会使整个系统瘫痪。如果在重启后,运行该程序不再出现“非法操作”,那就说明这只是偶然发生的内存冲突,非常正常,大可不必放在心上。出现“非法操作”有以下多种原因。
一、软件问题
1、有的软件制作者只是一味追求自己的软件能够运行出色,在编写程序时忽略了与系统和其他软件的兼容性,以致于软件在运行中抢夺系统或其他软件所占用的内存致使系统出错。解决办法是卸载这些软件,不使用与系统不兼容的软件。
2、软件在安装时擅自将一些重要的系统文件进行替换,而它所替换的系统文件很可能较系统中原来的版本低或是存在问题,这样也很容易出现其他程序调用该系统文件时出现错误。办法就是用系统文件检查器中提供的恢复系统文件功能进行恢复,(系统信息-->工具-->文件签名验证应用程序。如果是.dll文件出现了问题,打开“附件/系统工具”中的“系统信息”,点击“工具”菜单中“系统文件检查器”命令,选择“从安装软盘提取一个文件”,输入要提取的文件名称,点击“开始”,在弹出的对话框“还原自”一项中指定要提取的文件所在的文件夹,通常在d:/win98目录下,也可以通过安装光盘从.cab文件中提取(当然要先“查找”该.dll文件在那个.cab文件夹中);在“保存到”一项中选定要恢复的文件所在的文件夹,点“确定” 提取该文件,重新启动系统即可。
3、Windows本身也有很多不足,尤其表现在它不能合理地分配和回收内存资源上,这就造成了有的软件运行时得不到相应地址内存而“非法操作”。解决办法是升级系统,打补丁。
二、硬件问题
1、“非法操作”与内存有很大关系,所以内存条的质量应列为首要怀疑对象。在其他硬件因素中最常见的就是超频,曾见过数台电脑在超频后系统不断报告Explorer.exe执行“非法操作”,而当把CPU的频率降回去后它们又都恢复了正常,当然超频不光对CPU要求较高,其他硬件(比如:显卡、硬盘等)也需要具有可超性才能保证超频成功,一旦其中一个不行就会致使超频失败,其中比较突出的表现就是系统不断报告“非法操作”。解决办法∶ 如果CPU 超频,把CPU的频率降回去。检查内存条,换个插槽或用橡皮擦一下金手指。
2、硬件本身的质量问题也不容忽视,比如有的显示卡质量低劣,当你在系统属性中将图形卡的硬件加速开到最大时,就会莫名其妙地出现 “非法操作”。硬件的驱动程序也会影响系统的稳定,曾遇到过由于硬件驱动程序造成系统报告“非法操作”,比如有一台电脑只要一开机系统就报告“非法”,在仔细阅读了系统给出的详细资料后发现是声卡的驱动程序造成的,换上最新版的驱动后问题排除。解决办法是如果提示错误不能进系统,可到安全模式中选择"最后一次正确的配置",或删除显卡驱动,试一试能否进系统。其它硬件也可通过这个方法一试。更新驱动程序,推荐使用驱动精灵2004或以上版本,它能正确识别你的硬件及设备并可以自动下载最新驱动程序,你不知道硬件型号也可以帮你搞好。
三、人为因素也会导致“非法”
1、有的朋友为了方便喜欢同时运行一大堆软件或是任由与系统同时启动的软件在系统托盘处占上一大排,孰不知这种“不良”的习惯和作法将会严重影响系统的稳定性。虽然Windows是多任务操作平台,但它们在多方面都还不完善,而且内存和系统资源是有限的,同时让多个程序驻留于内存不仅占用了本来已经不多的内存和系统资源,有时还会导致程序同时调用相同地址的内存而发生冲突,这样的后果是:轻则出现“非法操作”,重则系统锁死,如果再遇上有些程序本身存在BUG,那就更不可收拾了;简单的办法就是在开始菜单中的运行栏键入msconfig,并在启动选项卡中将没必要与系统同时启动的程序前的复选去掉。
2、有的朋友为了加快上网浏览速度同时打开多个甚至十几个浏览窗口,但是要知道不管是IE还是NC都是吃内存和CPU资源的大户 (朋友们可以在浏览的同时打开系统监视器就会发现CPU是多么繁忙),而大多数朋友电脑中的内存不多,这根本就不够那么多窗口消耗的,所以一旦内存和 CPU资源消耗殆尽,那么“非法操作”和死机也就跟着出现了;
3、一些电脑新手删除软件时不按照正常的方法进行卸载,而是直接将软件所在目录整个删除,导致软件安装时放到系统目录的文件和注册表中的信息都没有能够删掉,使硬盘中的垃圾文件越来越多,注册表错误百出,当然这也就很容易使系统出现错误了。或者在删除软件的时候这个软件正在运行,使系统删除文件出错;解决办法是重新安装该软件后再用添加/删除程序删除该软件。
4、另外,Windows 98本身并未达到最佳化表现,因此非常有必要对其进行一下优化,由于“非法操作”常常是由于内存分配不当而产生的,所以我们首先要对Windows 98的内存管理进行一下改进,一般来说,Windows会自动设定使用最大量的内存来当作cache的空间,不过它是一个非常贪婪的系统,有时甚至会消耗所有的内存来作为cache,等其他程序向windows索求内存空间以供使用时,它才会释放一部分内存给其他程序来运行,所以这种方式并不十分完美,我们最好强制给它指定cache空间来使用,这样作可以不致因cache空间过大而影响了其他软件的运行,具体设置为:编辑系统文件system.ini,并找到[VCACHE]段,在其中加上以下内容:
MinFileCache=xxx (xxx代表想限制的最小cache的范围,单位:KB)
MaxFileCache=yyy (yyy代表想限制的最大cache的范围,单位:KB)
ChunkSize=512(这个数值是固定的,也可以不加这个语句)
这里的MinFileCache、MaxFileCache应该设定为相同数值,该数值的计算方法为内存的25%,比如你的内存数为8MB,那么它们就应该设为2048、16MB为4096、32MB为8192。我们这里以64MB内存为例,其设置为:
[vcache]
MinFileCache=16384
MaxFileCache=16384
ChunkSize=512
修改结束后重启电脑,你会发现系统的运行状况会有极大改善。(注意:系统调整还有很多方面。)