Windows XP蓝屏故障诊断

  主题1: 什么是蓝屏错误?
当Windows遇到某些状况时,它会挂起并显示蓝屏,且以白色文本显示生成的诊断信息。术语“蓝屏”或“蓝屏死机”源于这些错误。

存在如下状况时,将会出现蓝屏错误: api

  • Windows检测到一个没法在不丢失数据的状况下恢复的错误
  • Windows检测到关键的操做系统数据已损坏
  • Windows检测到硬件出现不可恢复的故障
  • 这些年来,显示的确切文本已发生变化:Windows NT 4.0中显示密密麻麻的信息,而Windows现代版本中采用的信息相对较少。(图1)
系统检测到一个问题,Windows已被关闭,以防止
对计算机形成损坏。

UNMOUNTABLE_BOOT_VOLUME 缓存

若是是第一次看见此错误屏幕,
请从新启动计算机。若是此屏幕再次出现,则请执行
如下步骤: 安全

检查以确保拥有足够的磁盘空间。若是
Stop信息中已肯定驱动程序,则请禁用此驱动程序,或咨询
制造商以肯定此驱动程序是否已更新。尝试更换视频
适配器。 服务器

咨询硬件供应商以肯定全部BIOS是否已更新。禁用
BIOS内存选项,如高速缓存或屏蔽。
若是须要使用安全模式删除或禁用组件,则请从新启动
计算机,并按F8以选择“Advanced Startup Options(高级启动选项)”,而后
选择“Safe Mode(安全模式)”。 工具

技术信息: 测试

*** STOP: 0x000000ED(0x80F128D0, 0xC000009C, 0x00000000, 0x00000000) 网站

图1:蓝屏错误示例

主题2: 诊断出现常见蓝屏错误消息的问题

Stop 0x000000ED(UNMOUNTABLE_BOOT_VOLUME)

致使这两个错误的缘由相同,而且相同的故障诊断步骤对二者都适用。这些Stop代码一般会在启动过程当中出现。当您遇到其中一个Stop代码时,将会出现如下状况: spa

1 系统已完成开机自检(POST)。 操作系统

2 系统已加载NTLDR,并将启动过程的控制权移交给NTOSKRNL(内核)。 命令行

3 NTOSKRNL被混淆。它没法找到剩下的部分,也没法在认为被存储的位置读取文件系统。

诊断此错误时,您的任务就是肯定致使Windows内核混淆的缘由,并解决此混淆问题。

检查事项

  • 系统BIOS中的SATA控制器配置若是SATA控制器已从ATA模式切换到AHCI模式(或从AHCI模式切换到ATA模式),因为不一样的模式须要不一样的驱动程序,所以Windows将没法与SATA控制器进行通讯。尝试切换BIOS中的SATA控制器模式。
  • RAID设置若是您一直在尝试进行RAID控制器设置,则可能会收到此错误。尝试将RAID设置恢复为自动检测(一般十分准确)。
  • 电缆拔插不当或错误尝试从新拔插链接驱动器及其控制器的数据线两端。
  • 硬盘出现故障在硬盘中运行内置诊断程序。请记住:代码7指示的是可更正的数据损坏,而非磁盘故障。
  • 文件系统损坏Windows安装光盘启动恢复控制台,并运行chkdsk/f/r
  • 未正确配置的BOOT.INI(Windows XP)。若是不当心清除或修补了boot.ini文件,则您可能会在启动过程当中收到Stop代码0x7B。从Windows安装光盘启动恢复控制台,并运行BOOTCFG/REBUILD

STOP 0x00000024(NTFS_FILE_SYSTEM)

此Stop代码表示NTFS文件系统驱动程序遇到没法处理的问题,此问题几乎都是由如下三个因素引发:

  • 磁盘上的数据损坏
  • 内存中的数据损坏
  • 系统内存用竭(此状况一般只会在过载的服务器上出现)

检查事项

1 从新拔插内存和全部驱动程序数据线,以免出现因硬件安装不当或错误而形成的数据损坏问题。

2 运行内存和硬盘全面诊断程序。没法在此进行完全的快速测试。您须要运行全面系统诊断程序。

3 若是这些诊断程序均已经过,则请从“Recovery Console(恢复控制台)”(chkdsk/f/r)运行全面系统检查,以检测并(可能)修复全部损坏的数据。

4 若是以上措施均没法解决此问题,则请从新安装Windows。

5 若是从新安装Windows也没法解决此问题,请更换硬盘。

STOP 0x0000007E(SYSTEM_THREAD_EXEPTION_NOT_HANDLED)

STOP 0x0000008E(KERNEL_MODE_EXCEPTION_NOT_HANDLED)

这两个错误表示内核中运行的程序遇到了没法恢复的意外状况。它们具备相同的故障诊断和解决步骤。您可能须要使用Windows调试程序找出致使此错误的缘由。

检查事项

  • 若是蓝屏信息中提到了某驱动程序或库文件,则请找出此文件隶属的驱动程序或应用程序,而后更新或禁用它。
  • 将系统BIOS更新为可用的最新版本。
  • 卸载全部最近安装的程序,并回滚全部最近安装的驱动程序。
  • 对计算机内存运行诊断程序。

STOP 0x00000050(PAGE_FAULT_IN_NON_PAGED_AREA)

此Stop代码表示系统几乎老是出于如下缘由尝试访问不存在的内存:

  • 驱动程序尝试访问一页不存在的内存
  • 系统服务(如 病毒扫描仪)出现意外状况
  • 故障或未正确安装内存
  • 硬盘上的数据损坏

使用Windows调试程序查明致使这些错误的确切缘由。

检查事项

1 若是蓝屏错误中提到了某驱动程序或库文件,则请找出此文件隶属的驱动程序或应用程序,而后将其更新为最新版本或卸载此驱动程序或程序。

2 若是在启动过程当中出现错误,则请尝试启动至最后一次正确配置。

3 若是安装程序或驱动程序后出现错误,则请卸载此程序或驱动程序。

4 从新拔插内存和硬盘数据线后,请尝试运行硬盘和内存全面诊断程序。

STOP 0x000000D1(DRIVER_IRQL_NOT_LESS_THAN_OR_EQUAL_TO)

此Stop代码表示驱动程序尝试访问它不该访问的特定内存区域,即驱动程序自己存在缺陷。故障诊断的目的是找到此驱动程序,并禁用或更换它。使用Windows调试程序诊断此错误。

若是没有此调试程序,则您只能卸载/更新/回滚蓝屏信息中提到的包含驱动程序文件的驱动程序。

STOP 0xC0000218(STATUS_CANNOT_LOAD_REGISTRY_FILE)

此Stop代码表示注册表已损坏。

检查事项

1 尝试启动至最后一次正确配置。

2 若是启动失败,则您必须尝试手动恢复注册表文件。手动恢复注册表的过程至关复杂,Microsoft知识库文章中已有说明:

STOP 0x000000EA(THREAD_STUCK_IN_DEVICE_DRIVER)

此蓝屏错误表示设备驱动程序(一般是显卡驱动程序)停滞以等待下一项操做(一般是硬件操做)。多数人可能已看到与此蓝屏信息相关联的nv4_disp.sys

检查事项

1 请确保视频驱动程序已更新为戴尔的最新版本。

2 系统BIOS已彻底更新。

3 若是视频驱动程序和系统BIOS均已彻底更新,则请咨询制造商以肯定是否已将驱动程序更新为最新版本。

4 最后一种解决办法是尝试更换显卡。

从新安装Windows不可能阻止此错误再次出现。

“How to recover from a corrupted registry that prevents Windows XP from starting(如何恢复损坏的注册表以防止Windows XP启动)”

Stop 0x0000007B(INACCESSIBLE_BOOT_DEVICE)

主题3: 使用Windows调试程序
戴尔推荐视频 - 戴尔建立了一个在线教程,教授如何使用Windows调试程序工具诊断特定蓝屏错误。

单击此处可查看Windows调试程序教程!注:只有英语版

Windows调试程序是Microsoft软件开发商和支持人员使用的一种主要工具,用于分析和处理致使内存转储的错误,您也能够尝试。

Windows调试程序是一种附带了不少有用应用程序的强大工具。但在本文中,咱们只重点介绍其经过分析因蓝屏错误生成的内存转储文件以肯定错误缘由的功能。

使用此工具前,请记住如下内容:

  • Windows调试程序不是真正的Windows工具。您必须从Microsoft网站上下载并安装此应用程序(15MB)。安装此工具要求用户具备管理员访问权限。
  • 此调试程序要求在使用前进行小部分的自定义。
  • 调试程序对内存转储进行彻底分析时,最快要用30秒,最慢要2分钟。

要使用此工具,请执行如下步骤:

1 从Microsoft网站上下载并安装Windows调试程序。

注:

若是您使用Google搜索“Windows调试程序”,返回的第一个连接将为Windows调试程序主页。

2 完成安装后,请单击

“start(开始)”
,单击 “All Programs(全部程序)” ,并单击 Debugging Tools for Windows,而后单击 WinDbg打开调试程序。

3 配置调试程序使用的符号路径,以便将内存转储文件的地址转为有意义的位置名称:展开“File(文件)”菜单,选择“Symbol File Path(符号文件路径)”,在对话框中键入"SRV*c:\debug_symbols*http://msdl.microsoft.com/download/symbols",而后单击“OK(肯定)”

4 打开一个微型转储文件:展开“File(文件)”菜单,选择“Open Crash Dump(打开崩溃转储)”,并选择所需的转储文件,而后单击“Open(打开)”

注:

系统一般将微型转储文件存储在如下其中一个路径中:C:\WINNT\Minidump\C:\Windows\Minidump\。文件将被命名为miniMMDDYY-NN.dmp,其中MM表明月,DD表明日,YY则表明建立转储文件的年份。若是多个转储文件于同一天生成,NN是建立转储文件的序号(给定日生成的第一个崩溃转储的编号是01,第二个的编号是02,依此类推)。

5 调试程序将打开转储文件,并对致使系统崩溃的缘由做出简短说明。(图2

注:

首次使用调试程序在系统中打开并转储文件时,在其返回任何信息以前,将花费几分钟下载背景中的符号信息。


图2:Windows调试程序

调试程序命令行的建议命令
蓝屏的Stop代码(1000007F与0x7F相同)
Windows认为致使崩溃的缘由(在atapi.sys一例中,您有时会看到memory_corruption等内容)

6 当它返回初步分析时,调试程序将告诉您如何进行深刻分析。在窗口底部的命令行(kd>)字段中键入"!analyze -v",并按Enter键,以使WinDbg对此文件进行详细分析。

注:

分析结果会很长,您可能须要在调试程序窗口中经过垂直滚动找到全部相关信息。


图3分析结果

Stop代码的详细说明(在本例中,您能够看到内核在尝试处理错误时遇到了EXCEPTION_DOUBLE_FAULT(8)或错误)


图4 :进一步分析结果

错误检查代码(注意:此例中的数字8表示双重故障)
系统由于此确切错误而崩溃的次数(一般是1)
Windows在其中对崩溃进行分类的存储桶
系统崩溃时的堆栈记录,其中顶部列出了最近调用的程序(您能够看到系统在处理IDE控制器请求时发生崩溃的实例)


图5其它分析

系统崩溃时所在的模块名称。在实际系统中,模块名称是一个连接,经过单击它您能够收到一些关于此模块的有用信息,如建立者、建立历史等。
系统崩溃时所在的模块名称。在实际系统中,模块名称是一个连接,经过单击它您能够收到一些关于此模块的有用信息,如建立者、建立历史等。
系统崩溃时所在的模块名称。在实际系统中,模块名称是一个连接,经过单击它您能够收到一些关于此模块的有用信息,如建立者、建立历史等。
相关文章
相关标签/搜索