在兼容机的操作过程中“非法操作”是很常见的故障现象。经过长时间的摸索和资料的搜集、整理,明白了它的成因及找到了不少对该故障的解决方法。不敢独享,特奉献给广大读者,让大家摆脱“非法操作”的困扰。
8 N& K, z, D- y0 M+ ], K% K6 y+ W( |6 t0 u- T- D
在Windows 9x系列中,是用保护模式来管理内存的。所谓保护模式,就是由Windows 9x给每个程序分配系统资源和访问权限。这样一来,将会减少一些不必要的内存占用。但是,当某个应用程序试图侵占其他应用程序的系统资源,或是越权使用的时候,就会出现“非法操作”。“非法操作”造成的原因很复杂,不仅可以由软件问题引起,也可由硬件引起,还有病毒也来作怪。下面,我将分软件及硬件两方面的原因给予介绍。为了使本文具有实用性及可操作性,每个原因都给出了典型例子和它的解决办法。9 Y) Z: N) T, y5 V1 u2 M
8 m, u4 q* U9 D) [& U
软件方面1 X P# _1 ]+ W! v5 R
1.由软件自身的不完善(BUG)引起, e0 a6 l* m, \" q' F" z" f6 m. b
典型例子:Photoshop图形软件在运行时产生的“非法操作”。% B2 K; Z2 m9 {3 o
; i3 |5 U1 _" w- z" b, V
解决:将软件升级为高版本或升级补丁程序。如安装Windows 98的sp1就非常必要了。运行期间,应减少其他程序对内存的占用,可关闭病毒防火墙、减少剪贴板中的不必要内容。也可根据自己的情况,升级一下显卡、声卡、或是显示器的驱动程序或将它们更换成新件。! r5 l9 Z+ [3 c' H7 b! ?1 _7 \& {
& g* n/ M: H3 A: _- \7 m2.由病毒感染、病毒的残留“僵尸”、冰河木马引起
7 Y% ^+ {( D I" `' t典型例子:.DLL文件失效。
/ S% ^9 H, ~. |$ p. K- Q, o# M7 F1 \' V8 ?. `3 d: K
解决:(1)在有些病毒的发作过程中,往往会伴随着一些文件的改动。一旦某些重要文件(如.sys .dll .vdx...)被改动过以后,机器会很难正常工作。方法如下:先用干净的引导盘启动微机,后用最新的杀毒软件清除病毒,再用“系统文件检查器”或者“Ext.exe”进行文件的恢复。
1 A! {) _" }* i9 ]# { s7 m" E& Q4 m/ Z
(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删除。
6 b$ m7 S, K6 R+ K( l" z! E/ h- y+ l. O$ g
3.由系统文件的损坏或丢失引起1 g6 y9 d0 g1 @/ E+ l
典型例子:Rundll32程序执行无效,即将关闭。" W& U- a5 f) A! W! ]& E. G n3 I
% v* j: u# D% M8 P1 z' M: p- 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”。补上后,保存,然后重新开机。' z: \9 z7 Y* [ x# J' m- y3 a
- C7 m( W. `8 f如果你不能确定该故障是由什么原因造成的,可以用“系统文件检查器”,在设置之中,选择“检查删除的文件” 、“检查修改过的文件”,还可以添加新的文件类型来进行检查、恢复。' w+ f, f2 l" R* _) A
. @5 b, h h$ h$ W5 C+ a4.由软件之间的不兼容引起
! m; W8 ?0 @+ `# f+ ?; N7 k典型例子:Windows 98下的KVW3000所引起的“非法操作”。
2 h2 }1 ^0 n R" ?/ ]" f m
" M0 z/ k; `+ M解决:在前面,我曾讲过Windows 9x“内存管理”的概念,病毒软件运行过程中将不遵循这种方式,最终造成“非法操作”的出现。具体方法:对扫毒软件的升级,或者不用病毒防护。还可以不加载 Windows 9x的内存管理程序Emm386.exe。
5 D3 ~! D- w1 O( B& ]2 A
6 m7 w* O( f: B% z+ |$ J5.由缓存设置不合理引起; Z6 Z ]9 {9 V9 W
典型例子:极少出现的,没有规律可循。
6 j) M5 i8 M5 T; | Y5 f$ ]: ~# C
解决:遵循缓存的设置规则:* |& K" y6 [' V( E! y
" S/ o: T( K t& _8 K?(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”,我们需要分开来修改这两个数值,我这里省略了计算方法,大家可以参考以下数据值,并根据自己的需要来修改吧,修改完后需要重新启动。" ~% J& h4 V& E i: l- Q0 }
x) Z; q8 X7 g" {
6.由系统资源匮乏引起/ }& }- U' l' q6 `* {3 P) a
典型例子:打印或保存时引起的“非法操作”。6 X2 `% i1 |$ H" G
" Z: _! u; N/ j2 |解决:升级内存,加大缓存。移除一些不必要的软件,如:桌面主题、屏幕保护、计划任务、声音和输入法指示器、声卡的DOS驱动程序、防火墙、查毒软件、背景、Office 2000的竖式工具栏等等。最好是在启动微机后,先运行比较大的软件。还应加上一个良好的内存管理专家软件。/ |; S, |' Z0 ~
& r5 O2 \ W3 B6 Y
硬件方面7 D, S9 D: H9 r
1.由系统及其系统部件过热引起
' l: m& n2 _ \4 s" W* p典型例子:SDRAM的过热故障。6 A W" X) Q5 z
* s" ]% y* G( B
解决:选择好一点的散热片和散热风扇,风扇转速要高,散热片的散热面积要大,散热片材质要利于散热,与被散热部件的接触面积要大。内存的散热:现在市场上已经出现了内存的散热片,是一种长方形带圆孔的东西,但是散热体的体积过大,会影响到第二条SDRAM的插位,再就是应当注意机箱通风和不要超频。* z3 l' F$ d+ E9 h. B* h e8 Y
( Y; ~0 C; S; S2.由硬件质量不好引起
7 |' f% c2 O6 u+ H% U/ J典型例子:SDRAM的质量不稳定产生的“非法操作”。
. T/ r* @2 B) l9 a b
0 Z* q8 P3 t# G4 {- M' H! x+ c解决:首先将BIOS中的内存参数设置得保守一些,如:SDRAM CAS LATENCY的值,设为CL=3。再就是不要超频,实在不行,只有更换内存了。
( `6 J) E+ [3 W, t/ N7 {3 e5 w8 }& J) e! I# [! v6 m2 N! Z
3.由硬件I/O冲突?兼容性差引起
: |5 e7 `; T3 L* W1 A典型例子:网卡的冲突。
3 v8 J2 g% P. l" [3 z% J, p! t; J9 \6 Y& J, v
解决:从设备管理中,删除带“?”或带“!”的设备,让系统重新识别一下硬件后,再安装驱动程序。I/O冲突的解决:查看“设备管理器/属性”中的“ 中断请求”,若有冲突,将它进行调整即可。再就是升级一下BIOS程序,也可以解决一些问题。" Q! a" k+ n1 J% b5 S( y
/ q8 t6 p! ?5 o$ L0 @
4.由硬件超频引起的“非法操作”
/ T; V3 l- E- T0 k. y2 j+ H5 l典型例子:CPU和SDRAM超频故障。
" D9 f& k% h, S, ^. R
3 S* P3 Q0 k B, Q2 c解决:首先要保证自己的硬件有良好的可超性能,再就是要将散热的危害性降到最小程度,CPU表面温度控制在50℃以内,SDRAM最好在25℃左右。# f: b0 c* v+ m& p5 z4 b
) P) D! ^$ E$ s& t7 ~) f% B5.由硬件损坏引起
4 Q5 A! M9 i7 e* D$ t典型例子:包括一些接口的损坏,或者是小的电子元件被击穿。
5 e7 d0 t* F4 b8 p, A! {* e- p4 Y0 R8 y# y) c- X9 I
解决:要有专门的仪器和方法来测试,一般很少出现。这里就不多讲了。
: `6 u, L# j0 a0 W1 O! _7 x8 a: w; Y/ c) { U% c+ v9 A% f
结论:上面讲到的,只不过是产生非法操作及解决的一些知识,它只是许多微机故障中的一个方面。下面,谈一谈为减少非法操作所应当知道的一些维护知识:- f) i) j/ E5 T
) L4 {% a8 q, k/ R5 S. m# ?
?(1)对机房环境的维护:防尘避免高温、高湿度。
7 ^; X" J/ p. S9 z7 o( n }, {; v/ Y+ r+ i+ H9 W' U5 _
?(2)看清故障,不要盲目处理,避免引发其他故障。
# I4 X& U5 j! j1 {
2 w, u& W) {7 F?(3)做好接地,避免静电的危害。
, x, n$ n8 L. b4 n" M' [
\5 p. |% H9 Y, w4 [$ a?(4)积极地吸取别人的好的建议,以增加对微机的掌握程度。; h$ B, J z0 O6 D' h" [% O* J
. z$ T1 p: z, w3 l6 J?(5)定期地进行除尘、除湿的维护。
- @" n* m+ D8 E
: D# F! e. y, W?(6)注意软件版本的不断升级,以减少BUG的危害,增强功能。
, A3 ~, g& b' R, g" l @& I7 `' Q# c6 J) ^! ~0 W
?(7)意木马冰河的防范、杀毒软件的更新。0 [; H! q$ C' _) Y6 ^
2 ^9 B' ^% |$ N# l
?(8)保持机箱的稳定性、避免不必要的振动、硬物的冲击。$ B! x5 [% d. m
2 q* V) E, f8 \& Y
?(9)保持硬盘的数据整洁,定期运行管理软件,如:磁盘扫描、系统文件检查器、磁盘碎片整理、备份程序……* A( ?; ]" Q- k
|