如何处理系统崩溃后的Windows 7(3)
一切都很完美;你已升级到了Windows 7。系统打上了全部的补丁,所有驱动程序都更新了,安全很到位,说不定你甚至还有新硬件……但是仍然无法避免的是系统崩溃,在本文中会为大家详细介绍如何处理崩溃后的Windows 7。
用lmv来分析
下一步是确认可疑对象的存在,并找到有关它的任何详细信息。往命令行中输入lvm,可显示已加载的模块;v指调试器以详细模式输出,显示模块的所有已知详细信息。
如果运行命令lmv后,你看到WinDbg的界面左下角出现*BUSY*(*忙碌*)信息,也不用担心。这是由于它在收集系统发生故障时,加载模块的详细信息;收集过程可能需要几分钟。收集完毕后,你会在原来显示BUSY的地方看到kd>。
这里有大量信息。找到所要关注的驱动程序得花点时间,所以可通过选择Edit | Find(编辑|查找)来简化这个过程,然后输入可疑的驱动程序,这里是myfault。你看到的信息多少取决于驱动程序供应商。一些供应商把很少的信息放在文件中,而微软等另一些供应商往往把全面的信息放在文件中。酷言网 www.colyan.com
用lmvm来分析
想直接找到某个特定模块,一个好方法就是使用lmvm命令。在这种情况下,输入lmvm myfault,调试器将只返回针对该模块的数据。
你找到供应商的名称后,进入其网站,检查更新、知识库文章及其他支持信息。要是没有这些内容,或未能解决问题,请联系供应商。对方可能会要你把调试信息发过去(很容易把调试器的输出结果拷贝到电子邮件或Word文档里面),或者可能会要你把内存转储发过去(先进行打包,既为了压缩内存转储,又为了保护数据完整性)。
另外的三分之一酷言网 www.colyan.com
幸运的是,你一打开转储文件就知道原因的机率大概有三分之二。但有时转储文件提供的信息具有误导性,或者不够全面。这时候,又该怎么办呢?
有时原因出在硬件上
如果你老是遇到崩溃,又没有明确或一致的原因,可能出在内存问题上。下载免费测试工具Memtest86。这个简单的诊断工具运行速度快、效果好。许多人轻视内存问题的可能性,因为内存问题仅占系统崩溃的一小部分。然而,内存问题常常是害得你一直猜测的原因。
Windows是罪魁祸首吗?
很抱歉,这不可能!虽然可能有人会觉得很意外,但事实上,操作系统很少出错。如果ntoskrnl.exe(Windows核心)或win32.sys(主要负责Windows上GUI层的驱动程序)被列为是罪魁祸首——它们常常被这样列为,也不要过于草率地下定论。下面这种可能性大得多:某个异常的第三方设备驱动程序调用了Windows组件,以执行一项操作,然后传送了坏的指令,比如告诉它写入到根本不存在的内存。所以,尽管操作系统肯定会犯错,但你在怪罪微软之前先排除掉其他的所有可能性。酷言网 www.colyan.com
冤枉驱动程序
你经常会看到反病毒驱动程序被列为是崩溃的原因。比如说,使用!analyze -v后,调试器在“IMAGE_NAME”(映像名称)这一行报告反病毒软件的驱动程序。原因可能确实出在反病毒驱动程序上,不过要牢记:这类驱动程序被冤枉的可能性更大。原因如下:反病毒代码要工作,它必须监视所有的文件打开和关闭。为了做到这一点,代码处在操作系统的低层,而且在不断工作。实际上,该代码太忙碌了;崩溃发生时,它常常出现在活跃的函数调用堆栈上,哪怕明明不是它导致崩溃,也这样。因为该堆栈上的任何第三方驱动程序立即成为可疑对象,所以反病毒驱动程序常常被列为崩溃的原因。不管是不是真的导致了问题,反病毒代码都经常出现在堆栈上。
缺少供应商信息?酷言网 www.colyan.com
一些驱动程序供应商并没有花时间把足够的信息附在模块后面。所以,如果lmv起不到帮助,试着查看映像路径上的子目录(如果有映像路径的话)。常常其中一个子目录就是供应商名称或者名称缩写。另一个办法就是用谷歌搜索引擎搜一下。输入驱动程序名称及/或文件夹名称。除了别人发布的关于该驱动程序的信息外,你可能还会找到相应的这家供应商。
你已经花了时间来准备对付下一次蓝屏死机,记住:在大多数情况下,你打开转储文件后,立马就能知道原因,整个过程用不了一分钟。如此轻而易举地查明三分之二的严重故障的原因,真是让人满意——对你的用户们来说更是如此。


浙公网安备 33010602011771号