大家的机器估计经常出故障吧,整天去找人帮忙总是不太方便,求人不如求已,看完了这篇文章估计你就有了很大的提高了......
电脑出现错误信息的故障排除(十二)
41、进入操作系统,经常出现Rundll32 错误(Mmsystem.dll )
1、适用范围:Windows 95;Windows 98;Windows Me
2、症状:在一激活进入操作系统的时候经常出现:「Rundll32 这个程序执行无效,即将关闭...」。而按下「详细资料」钮显示的内容是:
· Rundll32 caused a general protection fault in module Mmsystem.dll....(注一)
3、原因和排除方法:若在 System.ini 这个文件中,的 [boot ] 这个区段中,少了:drivers=mmsystem.dll 可能产生这个现象,所以修改 System.ini 应该可以解决这个问题。
但要注意的是:这并不是说 drivers=mmsystem.dll 就是万灵丹,认为只要加了这行就什么事都没了。
为什么 System.ini 中会少了这项叙述?
依照经验,一种情形就是在使用控制面板「加入新的硬件」这个功能时,不正确的强迫中断安装程,像是需要驱动程序而你又不提供正确的驱动程序,或是强迫安装中断,就有这一种的可能性。
如何编辑 System.ini?
System.ini 是纯文本文件,所以使用 Windows 的记事本或任何的纯文字编辑软件(例如 UltraEdit),打开位于 C:\Windows 下的 System.ini 文件。
找到 [ boot ] 这个区段。
补上一行 drivers = mmsystem.dll
存盘之后,「重新开机」让新的设定生效。
如果你是使用 Windows 98 、Windows Me ,有一个较方便的方法,你可以直接到「开始」>>「运行」,输入 msconfig(注二),然后在 System.ini 这一页,打开 boot 资料夹,按新增,去新增一行叙述:drivers=mmsystem.dll
输入完成后,记得储存你的设定,重新开机。
注一:
此处的案例,所指发生的情况是:RUNDLL32 (或 RUNDLL))caused a General Protection Fault in module MMSYSTEM.DLL,如果你错误信息对话框中的文件与此处的内容并不相符,例如并不是 mmsystem.dll 产生错误,同时也不是 General protection Fault,本例中的解决方法可能就不符合你的状况。
造成 Rundll32 (或 Rundll)错误的原因非常多,这个案例只是众多 Rundll 错误中的一种原因而已。
注二:
Msconfig.exe 在 Windows 98 以后的版本才提供(Windows 98、Windows 98 Second Edition、Windows Millennium Edition),Windows 95 没有这个工具程序,Windows 95 可以利用 Sysedit.exe (系统配置编辑器)编辑 System.ini。
42、拨号联机时,出现:Rundll32 caused an invalid page fault in module MSVCRT.DLL
1、适用范围:Windows Me;Windows 98;Windows 95
2、症状:执行拨号网络中的拨号联机时,出现:
Rundll32 caused an invalid page fault in module MSVCRT.DLL at 017f:78026778
3、原因:可能是 MSVCRT.DLL 文件版本不对引起的,某软件可能把这个共享的系统文件置换成了错误的版本。
4、排除方法:从原始光盘中抽出正确的 MSVCRT.DLL 覆盖回去,测试是否能解决这个问题。
关于如何抽出并覆盖 MSVCRT.DLL?
重新开机,按 F8进入命令模式(注一),利用 DOS 指令来完成删除、重新命名、取代这些工作。
这边我以「取代」文件来做讲解,因为「取代」的步骤较复杂,关于「删除」或「重新命名」使用中文件,请参考附注(注二)。
从原始光盘片中抽出文件:
执行 SFC(注三)(按开始>>运行,输入 SFC ,按确定),选择「从安装磁盘抽出一个文件」,字段中输入 MSVCRT.DLL,按「开始」。
「由此还原」,指向到你的光驱,输入你 Windows 98 原版 CD 的 cab 文件所在路径(例如 F:\win98\),也可以按「浏览」去设定。
「将文件储存到」:抽出的这个文件要摆放的位置,因为 Windows 不让我们直接覆盖过去,所以没办法摆在 Windows\System 下,我们先把它放到一个暂时的位置,例如 C 磁盘驱动器的 TEST 目录,就是 C:\TEST。(其它目录请类推)
MSVCRT.DLL 抽出之后,就会放在 C:\TEST 下。
重新激活到命令模式(Command Prompt)
重新激活计算机,按 F8 键不放,就会出现开机选单,选择 Command Prompt Only。
利用 DOS 指令覆盖:
在 C:\> 提示下输入:(指令结束按 Enter)
copy c:\test\msvcrt.dll c:\windows\system
这句话的意思是:把 C 下 Test 文件夹中的 Msvcrt.dll 文件复制到 C 的 Windows 下 System 里,copy 是复制文件的指令,前面是来源,后面是目的地。
出现是否要覆盖的信息,输入 Y 按 Enter。
del c:\test\msvcrt.dll
删除 msvcrt.dll,因为文件已经复制过去了,这一份就没有用了,所以把它删除。del 是删除文件的指令,后面加上你要删除的文件(可以包含路径)
注一:
当然也可以用「开机片」开机,进入 Command Prompt 模式,但是 Windows Me 的使用者请用「开机片」开机,Me 也只能用开机片才能进入 Command 模式,Me 开机片开机后,请选择「Start computer with CD-ROM support」或「Start computer without CD-ROM support」都可以。
注二:
删除文件按的指令是 DEL,如要删除在C 盘Windows 文件夹下的 System 文件夹里的 msvcrt.dll ,就是:
del c:\windows\system\msvcrt.dll
重新命名的指令是 REN,语法是: REN 原名称 新名称
如要把 msvcrtl.dll 改名为 msvcrt.old 就是:
ren msvcrt.dll msvcrt.old
补充:切换目录(文件夹)的指令是 CD,如要直接到 Windows 文件夹下的 System 文件夹里,就是 cd\windows\system ,要到 C 的 test 目录去,就是 cd\test ,依此类推。(提示:MS-DOS 指令并没有分辨大小写的能力,所以你不用在乎指令大小写的问题)
注三:
Windows Me 没有 SFC 这个工具程序,SFC 的抽文件功能以由 msconfig 取代,执行 msconfig 来抽文件。
注四:
所有操作系统的文件,都是压缩摆放在不同的 CAB 文件里,因此,例如,你想要在光盘片上直接看到某个 DLL 文件是不可能的,因为全都压缩在 CAB 里,所以在 Msconfig (Windows Me )、SFC(Windows 98)的还原来源都要指向 cab 文件所在目录。
43、Rundll32造成SETUPX.DLL发生错误
1、适用范围:Windows Me
2、症状:到「控制面板」>>「新增/删除程序」>>「Windows 安装程序」,结果就出现:
Rundll32 造成 SETUPX.DLL 发生错误,Rundll32 现在会关闭。
关闭这个对话框之后,再到「Windows 安装程序」,组件栏中一片空白。
3、原因和排除方法:在这个案例中,是登录文件中的文件被破坏造成的,由于被毁坏的项目很多,不容易一一手动输入重建,我把这些登录值汇整成为档案,下载此 REG 文件并执行就可以修复。
下载:VarLDID.reg
下载储存到硬盘之后,直接在此文件上 Double Click,文件就会汇入到系统登录中,完成之后,重新开机让新的正确的值生效。(一定要重新开机)
44、执行 winipcfg.exe 却出现:
WINIPCFG caused an invalid page fault in module WINIPCFG.EXE at xxx
1、适用范围:Windows 95;Windows 98;Windows Me
2、症状:执行 winipcfg.exe 却出现:
WINIPCFG caused an invalid page fault in module WINIPCFG.EXE at 017f:0040d02e.
3、原因:可能是计算机中了病毒,用杀毒软件扫描检查一下病毒,看是否已经中毒,会破坏Windows 的 wsock32.dll 这一类的病毒(例如 MTX 病毒)都会让操作系统产生这个信息。
45、收取邮件,出现MTX_cause an invalid page fault in module MTX_EXE at ...
1、适用范围:Windows 95;Windows 98;Windows Me;Outlook Express 全系列
2、症状:当在你每次收信的时候,经常出现下面的错误讯息:
MTX_cause an invalid page fault in module MTX_EXE at 0167:0040159d
或是使用 IE 浏览网站的时候,也常经常出现这样的讯息:
IEXPLORE caused a stack fault in module WSOCK32.DLL at 017f:76049c2f
3、原因:可以肯定的说,你的计算机已经被 MTX 病毒感染,这个病毒是透过 email 附件传染的,(注一)如果你因为一时的好奇而去执行了这个夹在邮件中的附件文件,那么就会受到感染。(不去执行,直接删除这邮件就不会受感染)
这个病毒的移除方法有点复杂,并不是很简单,它除了改掉了原版的 wsock32.dll、run32.dll 之外,也修改了 registry,所以只靠复制正常的 wsock32.dll 盖过有问题的 wsock32 并不能解决问题。
如何正确删除这种病毒:
Symantec 关于 MTX 的网址:
http://www.symantec.com/avcenter/venc/data/w95.mtx.html
趋势科技关于 MTX 的网址:
http://www.trend.com.tw/endusers/security/blacklist.htm
注一:
这邮件特征是没有主旨,并且夹带一个文件(有可能是 .exe、.pif、.scr 等等),由于 MTX 同一系的病毒也很多(变种),所以并没有办法知道固定的附件文件名是哪些,不过这类邮件的附件特色一定是 .PIF、.SCR、或 .EXE 的文件,而且没有主旨(主旨栏是空白)。
46、激活 Word 出现:
WINWORD caused an invalid page fault in module WINWORD.EXE......
1、适用范围:Office 97
2、症状:当你一执行 Word,就会出现:
WINWORD caused an invalid page fault in module WINWORD.EXE......
的信息,没有办法执行 Word。
3、原因和排除方法:如果你的硬盘剩余空间不够,或是计算机已经没有可用的内存了,就会发生这种情形,使得 Word 没有足够的硬盘空间(或内存)来打开文件造成的。
所以,检查一下你 Word 所在的磁盘驱动器还剩多少空间,还有如果你同时有好几个程序在执行,就关闭一些,以释放一些内存空间,(同时执行的程序越多,你硬盘上的的虚拟内存 Win386.swp 就会自动膨大,所剩硬盘空间就越来越小),或是删除一些不要的文件来腾出一些硬盘空间给 Word 。
47、Wuauclt 因 不详 原因关闭
1、适用范围:Windows 98(第二版);Windows Me
2、症状:电脑经常出现:「Wuauclt 因 <不详> 原因关闭」的信息,按确定后,这个错误信息还会一直出现,但是计算机还是可以使用,似乎看不出有很明显的影响。
3、原因:这是一个很「特殊」的状况,在后面会做解释,目前的解决方法是:
先删除 Windows Me 的「Internet 联机资源共享」,再重新安装「Internet 联机资源共享」(假如你需要这功能的话,若不需要 Internet 联机资源共享,则删除后就不用安装)
如何删除「Internet 联机资源共享」?
到「控制面板」>>「添加删除程序」>>「Windows 安装程序」,选择「通讯」,按详细资料,取消「Internet 联机资源共享」前面的勾勾,按确定,重新开机。
如何安装「Internet 联机资源共享」?安装「Internet 联机资源共享」的步骤与上面相同,只是勾起「Internet 联机资源共享」这项目而已。(注一)
若状况依旧,停用「自动更新」再测试,如何停用?到「控制面板」>>「自动更新」,选择「关闭自动安装修正文件功能...」,按确定。
为什么会出现这个错误?
我推测可能是 Windows Me 的「自动更新」与「Internet联机资源共享」之间的冲突引起的,而且,是在很特别的环境,以下条件要同时成立才容易发生:
A、原本操作系统是 Windows 98 第二版,并且安装有「Internet联机资源共享」。
B、直接升级到 Windows Me。
我认为在升级的过程中出了问题,当然,我指的不是使用者的问题,而是安装程序的问题,由于 Windows Me 跟 Windows 98 第二版同时都有 internet 联机资源共享这个功能。所以在升级的时候,Windows Me 可能就没有把自己的 internet 联机资源共享安装上去。
推测 Windwos Me 的新功能之一的「自动更新」跟旧的internet 资源共享有兼容性的问题,所以就产生了这个现象。
WUAUCLT 就是Windows Me 自动更新功能需要的文件。
注一:
如果你这部计算机是独立的计算机,在你的网络中没有其它计算机是透过这部计算机共享 Internet 联机的话,就不需要安装「Internet 联机资源共享」。
我之所以会这么提醒,是因为我看过不少「新手」都是:不管用不用得到,全勾就是代表最好。这种观念是不好的,你只需要安装你用得到的原件。
网友评论