ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Windows出错信息解析及解决方案(转)

Windows出错信息解析及解决方案(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-06-03 10:18:05 0 删除 编辑
Windows 9x/Me/NT/2000把系统的许多设置都组织起来,放到了注册表中,这样虽然易于管理一些(不用像在DOS和Windows 3.x时面对无穷的.ini文件)。可是同时也带来了这样的问题:如果哪个安装程序的反安装做得不好,很容易在注册表中留下一些^^。你留一些、我留一些,随着时间的流逝,安装/删除程序的增加,注册表的体积也在突飞猛进,系统当然也慢慢变慢;更有甚者,有些软件如果破坏了注册表,轻则使你不能使用部分软件,重则系统不能启动,惨……
  当你的系统启动很慢或者你安装/删除了很多软件时,你应该用注册表清理工具来清理一下注册表^^了,千万不要等到Windows告诉你“注册表错误” 之类的信息之后,你才手忙脚乱地到处打电话,请教朋友……

  Regcleaner
  发布公司:Jouni Vuorio
  最新版本:4.1a
  下载网址:&nbs
ftp://ftp.download.com.cn/pub/new_system/RegCleaner.exe
  这是一个注册表清理工具:RegCleaner。它是免费的,不过功能稍嫌单薄,只能清理注册表中多余的注册表项,不能修复错误。
  案例:你用的是Win9x,某一天你发现了再也不能进入Windows,总是显示一些注册表错误之类的信息然后就死机或者重新启动,怎么办呢?
  解决方案:首先想到的第一招应该是——使用Windows注册表备份修复,方法嘛?很简单:
  启动到DOS下,执行Scanreg /restore,在弹出的“Microsoft Registry Checker”窗口中,你可以看到五个文件,文件名分别为rb000.cab、rb002.cab……rb004.cab,找一个时间离现在最近的,选择“Restore”,系统应该可以正常启动了。如果还是不行,可以重新运行Scanreg,选择一个时间稍微再早一点的,再试……
  注意:现在市面上有很多注册表方面的书,通过修改注册表来提升系统性能和个性化设置更是大家都很熟悉的事情,可是要记得一点——备份,强烈建议你在每次修改注册表的时候都将你的注册表备份一次!


  动态链接库出错
  我们大家都知道,DLL是Windows中很重要的一种文件,不过微软开始采用这种动态链接库的时候却没有想到动态链接库也会有同名的时候,这些同名的文件可能是因为版本不同而内容不一样、也可能是完全不相干的两个(只不过名字相同),当同名的这些文件被覆盖之后,引起的后果就是灾难性——或者应用程序无法运行、或者程序老是出错,严重的系统根本无法启动。
  说到这里我们不能不提到VxD错误,VxD是虚拟设备,如果这些文件被替换的话,会导致和上边同样的灾难性后果。
  案例一:我每次启动计算机的时候,总是会出现如下的出错提示,但是按下回车键进入系统过后一切都可以使用,并且系统没有什么异常,这是什么原因?
  解决方案:看你的情形,应该不是因为缺少VxD文件所致,这种情况一般是因为不良的安装程序引起的,当你用它的反安装程序时,相应的文件虽然被删除了,但是却在注册表中留下了些残骸。
  运行注册表编辑器Regedit.exe打开注册表,按下“Ctrl+F”查找相应的文件名,找到以后将该注册表项删除,重新启动,问题应该解决了^_^。
  注意:其实上述情况的发生,还有更可能的一种原因——那就是你采用很强暴的方式删除应用程序(直接将应用程序安装目录删除)时也可能产生这种问题,强烈建议你采用应用程序自带的“反安装程序”来完成应用程序的反安装。

  案例二:在一次狂删软件中我卸载了某个软件,提示说还有c:windowssystemWSock32.dll没删掉。重新启动后与上网有关的所有程序(IE、OE、Netants等)都无法运行,提示说:“系统出错,无法启动文件WSock32.dll。请检查文件,确定出问题的原因。”不知WSock32.dll是windows的什么重要文件,我该怎么解决?
  解决方案:这种问题是典型的Dll文件被覆盖所产生的,从IE、OE等出错,说明是系统文件遭到破坏引起的,同时你也知道了遭破坏的文件WSock32.dll,不妨从Windows安装盘释放一个WSock32.dll到提示目录即可(c:windowssystem下),但是为了保险起见,最好先将原来的WSock32.dll备份。
  注意:要覆盖文件,请一定注意Dll文件或者VxD文件的版本号要和你的Windows匹配,如果你不知道怎么才是匹配,请将你的Windows安装盘放入光驱,然后运行sfc.exe让Windows自动检测被破坏的系统文件吧!
  在Windows光盘上单击右键,选择“查找”,在弹出的“查找”窗口中,填写“包含文字”栏为需要查找的文件名(这里是WSock32.dll),按下“开始查找”,等光盘灯不亮的时候,可以看到在右边的查找到文件窗口中有一个Precopy2.cab(不同的Windows版本文件名也是不同的)。用Winzip将其中的WSock32.dll解压缩到需要的目录,至此大功告成(如果你没有Winzip,也可以使用Windows自带的Extract来释放文件,具体用法这里就不再赘述)。
  注意:Dll和VxD文件很容易出现被覆盖的现象,所以当安装应用程序的时候提示“xxxx 文件将被覆盖,是保留老版本文件还是替换”,你一定要谨慎行事,最好不要替换,这样可以保证已经安装的软件和系统的正常运行。


  程序失去反应
  身在Windows下,某个应用程序失去反应可能是最常见的事情。如果不是在系统启动的时候某个程序失去了反应,你应该首先等待一下,一般会解决大部分问题(这主要是该应用程序正在忙于处理,来不及向系统发去的信号反应,等一段时间就是等应用程序处理完毕,你也不要太性急了……);还是不行的话,建议你启动一下计算机——Windows过一段时间要重新启动早已经是解决Windows问题屡试不爽的妙诀了……
  不过,要是你在安装某个应用程序、新加设备,而且重新启动之后却发现应用程序失去发应,只怕事情就不是那么简单的了。
  案例:最近,我的电脑遇到了问题,每次一开机,刚刚出现桌面背景,连屏幕下的任务栏还没有就会出现一个对话框,左上角有“mprexe”字样,内容为“该程序执行了非法作,即将关闭,请予供应商联系”有时点关闭后照样能正常启动,有时就停止不动只能重新启动。即使覆盖重装了Win98也不管用。
  解决方案:MPR出错一般是因为用户口令文件出错、服务冲突和正在用户配置文件、硬件冲突、硬件驱动程序出错等等。
  1.用户口令文件出错
  我们可以通过重建用户口令文件来纠正错误。按下“Win+F”打开查找窗口,在“文件名”栏中输入“*.pwl”,按下“开始查找”,在查找到的文件窗口中,将所有文件更名或者删除。重新启动Windows,在出现登录窗口时,重新输入用户名和口令就可以了……
  2.服务/应用程序冲突
  要解决服务和应用程序冲突,你需要以“安全模式”启动计算机。然后将刚才安装的应用程序反安装或者服务禁用,看看是否可以解决问题。
  3.用户配置文件问题
  这可以通过禁止用户配置文件来解决此类错误。
  在“网上邻居”上单击“右键”,选择“属性”,在“访问控制”中选择“共享级访问控制”,确定退出后重新启动。
  4.硬件冲突
  你可以在设备管理器中通过将有问题的硬件禁用来找到硬件冲突。
  打开“控制面板”/“系统”/“设备管理器”,在有黄色惊叹号(或问号)的设备上双击,选择“该设备在当前配置文件中禁用”,重复上述步骤可以找到真正有冲突的硬件,请更换它。
  5.设备驱动程序损坏
  请重新安装该设备的驱动程序。
  注:MPrexe失去反应可能是我们最常遇到的程序失去反应案例,这种案例的情形十分复杂,上述并不能完全包括,如果你的英文够好,请参阅微软的MPrexe问题详尽介绍:
http://support.microsoft.com/support/kb/articles/Q178/0/84.asp


  Windows NT/2000一般错误
  Windows NT/2000是Windows系列的服务器家族重要成员,稳定性比Win9x有了很大的改进,不过他也并不是不会出错,好在是WinNT/2000的出错信息有详细的记录,我们可以通过“事件查看器”来找到出问题的原因进而找出解决方案。
  我们这里说的一般错误,是指的Windows NT/2000还可以运行,不过会弹出出错信息,那种导致直接当机的问题请参看“Windows NT/2000 STOP错误”。
  案例:我启动Win2000的时候,弹出一个错误窗口“At least one service or driver failed during system startup. Use Event Viewer to examine the event log for details”,请问这种问题该如何解决?
  解决方案:很简单,Windows不是提醒你用“Event Viewer(事件查看器)”来了解一下详情吗?
  打开“事件查看器”,在下图的窗口中,我们可以看到一个前面标有“×”的错误信息,双击查看该出错信息的详细出错信息。
  在弹出的出错信息描述中,我们可以看到是这样描述的“The messenger service terminated with service-specific error 2270.”,记下出错信息2270,现在打开一个命令行窗口,输入“net helpmsg 2270”,现在你应该看到出错信息了。
  “The computer name could not be added as a message alias. The name may already exist on the network. ”
  这说明现在这台电脑的Message Alias(消息别名)已经在网络上注册了(你将收不到用net send MessageAlias Message发过来的短信息了),请另外给本台电脑命名就可以了。


  Windows NT/2000 STOP错误
  Stop错误是Windows NT/2000系列特有的一种错误,和Windows NT/2000普通错误不同的是——出现了该种错误以后,如果电脑继续执行下去,可能会破坏数据,因此Windows NT/2000会显示一条STOP:0x0000000A之类的错误,然后蓝屏,停机……
  案例:我用的是Win2000,可是有一天启动的时候却突然出现了如下图的“STOP:0x0000007B”的蓝屏,然后计算机就停止了反应,请问我该怎么解决这种问题?
  解决方案:碰到这种问题,一般可以按照以下方式解决。
  1.首先使用新版杀毒软件检查计算机上是否有病毒。
  2.如果Windows NT/2000仍然可以启动,请检查“事件查看器”中的信息,以确定导致故障的设备或驱动程序。具体解决步骤请参考上边“Windows NT/2000一般错误”。
  3.如果不能启动计算机,试着用“安全模式”或“最后一次正确的配置”启动计算机,然后删除或禁用新安装的附加程序或驱动程序。如果用“安全模式”启动不了计算机,可以考虑使用修复控制台,修复控制台可以在Console模式下禁用一些服务、重新命名设备驱动程序、检修引导扇区或主引导记录(详细步骤请参考相应资料,这个需要比较专业的知识,这里不便详述)。
  4.拆下新安装的硬件设备(RAM、适配卡、硬盘、调制解调器等等),看看是否可以正常启动(如果你新安装了硬盘导致盘符错位,可是会引起上述问题的)。
  5.确保已经更新了硬件设备的驱动程序,以及系统有最新的BIOS。
  6.运行由计算机制造商提供的系统诊断工具,尤其是内存检查。
  7.检查Microsoft兼容硬件列表(HCL),确保所有的硬件和驱动程序都与Windows 2000兼容。Hcl.txt在Windows 2000 CD-ROM的Support文件夹中,你也可以到微软的网站查看
http://www. microsoft.com/hcl/default.asp
  8.在BIOS中禁用内存缓存。
  9.重新启动计算机,在启动菜单处,按F8进入“高级启动选项”,选择“最后一次正确的配置”。(注:使用“最后一次正确的配置”的方式启动计算机后,计算机的所有设置被重置为最后一次正确启动时的配置。)
  10.如果能够访问Web,请进入
http://www.microsoft.com/ ,单击“Support”/“Search Microsoft.com”,在“Search for:”处,输入“stop”和相应的号码(如出现STOP消息“stop:0x0000007B”,可在此输入“stop:0x0000007B”),按Enter键,(上接70页)
  就可以找出所出现的STOP问题的解决方法。
  注:其实上边的Windows NT/2000一般问题的解决也可以在微软的站点上查找到详尽的帮助信息,出问题的时候你直接的想法应该是去看看微软的技术支持站点——看看他是怎么说的(上边的STOP:0x0000007B错误经查,原来是服务器上新添加了硬盘,但是没有注意到磁盘的主从顺序导致的)。


  Windows的出错信息是难以穷尽的,我上边所列的Windows错误可能也只是管中窥豹,不过我们的用意也不在于要将所有的出错信息列举出来,只是想通过这样的介绍给你一种解决问题的思路,使你在Windows出错的时候不至于手忙脚乱……

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-123882/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621614