在兼容机的操作过程中“非法操作”是很常见的故障现象。经过长时间的摸索和资料的搜集、整理,明白了它的成因及找到了不少对该故障的解决方法。不敢独享,特奉献给广大读者,让大家摆脱“非法操作”的困扰。 ' h1 y4 Z+ f. V2 T3 y" R
! d3 O! m3 B/ m- K; \" ^
在Windows 9x系列中,是用保护模式来管理内存的。所谓保护模式,就是由Windows 9x给每个程序分配系统资源和访问权限。这样一来,将会减少一些不必要的内存占用。但是,当某个应用程序试图侵占其他应用程序的系统资源,或是越权使用的时候,就会出现“非法操作”。“非法操作”造成的原因很复杂,不仅可以由软件问题引起,也可由硬件引起,还有病毒也来作怪。下面,我将分软件及硬件两方面的原因给予介绍。为了使本文具有实用性及可操作性,每个原因都给出了典型例子和它的解决办法。# B1 U* x/ X" C4 ]- [& Y- m
% I2 e$ c s& G8 q软件方面
# C: g* k% _( u6 n R ~: ?1.由软件自身的不完善(BUG)引起
+ v! m' D7 }: q/ M' Q8 E8 j6 K1 Z典型例子:Photoshop图形软件在运行时产生的“非法操作”。
3 W6 X. B5 @( g: v/ Y( a* O5 X* E3 `! N! M V- g% k3 |2 b0 D8 f
解决:将软件升级为高版本或升级补丁程序。如安装Windows 98的sp1就非常必要了。运行期间,应减少其他程序对内存的占用,可关闭病毒防火墙、减少剪贴板中的不必要内容。也可根据自己的情况,升级一下显卡、声卡、或是显示器的驱动程序或将它们更换成新件。
) p( a' J* \$ X7 Z5 u0 ~, D, g* T$ W+ n. C
2.由病毒感染、病毒的残留“僵尸”、冰河木马引起
" Q' L* j; T+ o" p$ M典型例子:.DLL文件失效。% N4 n# T) N o; c6 c
+ k; \7 K# p: d- I E解决:(1)在有些病毒的发作过程中,往往会伴随着一些文件的改动。一旦某些重要文件(如.sys .dll .vdx...)被改动过以后,机器会很难正常工作。方法如下:先用干净的引导盘启动微机,后用最新的杀毒软件清除病毒,再用“系统文件检查器”或者“Ext.exe”进行文件的恢复。' ]$ V' U6 U9 D' `4 s% Q' e
# G* a+ x, I* S8 w# [1 P(2)终止内存中正在运行的冰河木马,然后进入注册表,删除“KEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current-Version\Run”和“RunServices”的键值;将“HKEY_CLASSES_ROOT\xtfileshellopenco-mmand”的键值改成“C:\Windwos\NOTE-PAD.EXE %1”;重启到DOS,再到硬盘C:\Windows\System中,将Kernel32.exe和Sysexplr.exe删除。( S& v1 T& p7 r
0 j8 {3 M# T& k% @( u
3.由系统文件的损坏或丢失引起$ x* |8 j/ D) d% @
典型例子:Rundll32程序执行无效,即将关闭。, ^* l, {- _" }: U* l
( C* J# f7 h7 k& j解决:方法一:当按下“详细资料”按钮时,若显示:“Rundll32 caused a general protection fault in module Mmsystem.dll....”信息,原因很可能就是你的 System.ini 文件里,在[boot]这个区段中,少了:drivers =mmsystem.dll 这一行造成的。你自己补上去就可以解决了。为什么会有这个错误的发生呢?大部分都是由于在使用控制面板“添加新硬件”时,使用不正确而造成的。例如,需要你提供驱动程序而你又不能提供正确的驱动程序造成的。使用记事本,打开位于 C:\Windows 下的System.ini 文件。找到“[boot]”这个区段。补上一行“drivers=mmsystem.dll”。补上后,保存,然后重新开机。
+ o/ h3 V- P1 M( I5 }7 x7 u: l# ^3 ]* _# @9 Q/ |; j0 q8 ?" V! t# _
如果你不能确定该故障是由什么原因造成的,可以用“系统文件检查器”,在设置之中,选择“检查删除的文件” 、“检查修改过的文件”,还可以添加新的文件类型来进行检查、恢复。
7 e5 [* ]0 Z; n& G3 K- e3 C3 C5 Y. F: R! f, z
4.由软件之间的不兼容引起 |5 o( G9 P) d7 h& ], g
典型例子:Windows 98下的KVW3000所引起的“非法操作”。
" c4 y1 T5 o- _9 u/ I/ d4 X* ~( y# F7 v7 I, T7 a- g' ^) G
解决:在前面,我曾讲过Windows 9x“内存管理”的概念,病毒软件运行过程中将不遵循这种方式,最终造成“非法操作”的出现。具体方法:对扫毒软件的升级,或者不用病毒防护。还可以不加载 Windows 9x的内存管理程序Emm386.exe。4 B \- F9 ]7 w
$ S* P* ?/ T7 o% e& @7 O5.由缓存设置不合理引起
! a* x/ {' e+ P# }1 \% ^- N典型例子:极少出现的,没有规律可循。
+ w4 @8 T! s1 }! _# Z" u' A/ ?+ w, `2 W" H+ C
解决:遵循缓存的设置规则:1 i1 V. |7 Z8 }7 n$ B
1 ? X: G. @! ?7 b; L% t; c) C8 d
?(1)Win386.swp是Windows的“虚拟内存交换文件”,简单地说,就是拿一部分硬盘空间当作内存使用,先把一些内存中闲置太久的程序,放到硬盘上,等CPU要用的时候,再从硬盘的win386.swp里读出来。它的大小按物理内存的2倍来设置。(2)在Windows 98下,使用虚拟设备磁盘缓存Vcache。在“系统配置实用程序”中,找到sysytem.ini,再找到“[vcache]”小节,添入: MinFileCache=16384 MaxFileCache=16384 ChunkSize=512。上面的数值是以64MB为例采取的,一般原则是:物理内存×25%×512=VCache。(3)CD-ROMCache优化,注册表中“HKEY_LOCAL_MACHINE\Systm\CurrentControlSet\control\FileSystem\CDFS”,右边能看到“CacheSize”和“Prefetch”。如果你现在是使用Windows 98推荐的4倍速设置的话,它们的值应该是“0000026b”和“000000e4”,我们需要分开来修改这两个数值,我这里省略了计算方法,大家可以参考以下数据值,并根据自己的需要来修改吧,修改完后需要重新启动。
( I2 X7 m; b( y
4 B+ O1 S0 w. l5 |& l6.由系统资源匮乏引起 c0 X) ]1 J* ]$ p; G4 @! y
典型例子:打印或保存时引起的“非法操作”。+ j3 I! J* W) z3 L2 o
! l9 ?* _8 K5 V: E0 n解决:升级内存,加大缓存。移除一些不必要的软件,如:桌面主题、屏幕保护、计划任务、声音和输入法指示器、声卡的DOS驱动程序、防火墙、查毒软件、背景、Office 2000的竖式工具栏等等。最好是在启动微机后,先运行比较大的软件。还应加上一个良好的内存管理专家软件。9 v, ^3 x6 n7 M2 Z' ~" j
8 Q' j( S0 q; l, M6 O: c, x硬件方面! m1 U. @( X C
1.由系统及其系统部件过热引起
8 ~. `3 P- s, m. j, V9 V典型例子:SDRAM的过热故障。
$ z! Z! W5 k/ t% n F- J4 s r) y6 X5 Q7 f. i9 e+ j/ S
解决:选择好一点的散热片和散热风扇,风扇转速要高,散热片的散热面积要大,散热片材质要利于散热,与被散热部件的接触面积要大。内存的散热:现在市场上已经出现了内存的散热片,是一种长方形带圆孔的东西,但是散热体的体积过大,会影响到第二条SDRAM的插位,再就是应当注意机箱通风和不要超频。
& Z. e& a) Y" Z' s# P5 @- s
; k( n1 F6 w8 k; C2.由硬件质量不好引起: Y* K/ E# |6 q
典型例子:SDRAM的质量不稳定产生的“非法操作”。! Y$ k# K8 ?+ Q u: e4 B3 l
* j+ E3 B% q L: ?( }, d5 n* P4 [' X
解决:首先将BIOS中的内存参数设置得保守一些,如:SDRAM CAS LATENCY的值,设为CL=3。再就是不要超频,实在不行,只有更换内存了。
# `( h: z& y6 I B! |
8 r3 E1 K0 Z7 T8 c3 _/ a$ k3.由硬件I/O冲突?兼容性差引起
, t$ i l( X5 D典型例子:网卡的冲突。! `+ u! a: T) w
" o# N2 l- }! u( v. O, h0 [; d解决:从设备管理中,删除带“?”或带“!”的设备,让系统重新识别一下硬件后,再安装驱动程序。I/O冲突的解决:查看“设备管理器/属性”中的“ 中断请求”,若有冲突,将它进行调整即可。再就是升级一下BIOS程序,也可以解决一些问题。
% C' @' O, J) D$ |$ B" a7 }. v8 x( j4 E* O+ i2 ^7 a
4.由硬件超频引起的“非法操作”; V' p$ g0 A3 ~* ~6 D- m) Q
典型例子:CPU和SDRAM超频故障。
, N% R4 f7 F! V$ d7 W! y+ `% j7 h# n& J- T/ J1 B1 d4 U
解决:首先要保证自己的硬件有良好的可超性能,再就是要将散热的危害性降到最小程度,CPU表面温度控制在50℃以内,SDRAM最好在25℃左右。5 w# g, s5 m9 F
5 P* a8 R3 O" {( `* N) ~5.由硬件损坏引起6 X7 x4 _$ `8 Y
典型例子:包括一些接口的损坏,或者是小的电子元件被击穿。
" O3 J2 [0 S: X: B$ D8 A& ]
8 M y1 U D) i解决:要有专门的仪器和方法来测试,一般很少出现。这里就不多讲了。
( Q$ v+ E0 w5 ]! e7 J2 s
- s, p. F# M( i& k结论:上面讲到的,只不过是产生非法操作及解决的一些知识,它只是许多微机故障中的一个方面。下面,谈一谈为减少非法操作所应当知道的一些维护知识:
: `0 E! c2 k( {. l( ]
; n p; X5 D' D4 S?(1)对机房环境的维护:防尘避免高温、高湿度。6 L2 I( g! b5 C2 z. b
; z, G! i4 t0 w# \0 K& D8 s% I
?(2)看清故障,不要盲目处理,避免引发其他故障。
; T4 |6 x* x; M2 M. i) T y. U5 `; b# s* k+ k
?(3)做好接地,避免静电的危害。2 c3 ]3 {1 n3 P9 H* U- W( u3 V
) T+ C$ V2 i5 K4 K# W?(4)积极地吸取别人的好的建议,以增加对微机的掌握程度。
5 n: o1 I1 ?3 A! t
; B8 U' F& H$ A8 k?(5)定期地进行除尘、除湿的维护。+ W& \+ z! I) c! D q9 d# q9 c1 Q
/ l0 @* t8 W0 d A1 p; y
?(6)注意软件版本的不断升级,以减少BUG的危害,增强功能。3 b( F, [1 g! z/ U
! R. n% E4 O8 K& \) ~9 b2 M
?(7)意木马冰河的防范、杀毒软件的更新。1 ^& H: }# b3 v9 @; P) i% Y
5 _* k5 R; E6 J! d8 Q
?(8)保持机箱的稳定性、避免不必要的振动、硬物的冲击。
4 N) b6 X# r2 b2 f+ f. i- E5 f7 L- e# K
?(9)保持硬盘的数据整洁,定期运行管理软件,如:磁盘扫描、系统文件检查器、磁盘碎片整理、备份程序……5 _$ N0 r( i/ C+ m: _: R
|