注:转自网络,拿出来和大家分享。
症状描述:
当您在运行 Microsoft Windows 2000/XP/Server 2003 、 Microsoft Windows Vista/Server 2008 、 Microsoft Windows 7 操作系统时, Windows 可能会突然停止正常运行,并显示一副含有下述字样的蓝色背景错误信息画面:
A problem has been detected and Windows has been shut down to prevent damage to your computer.
……
此蓝色背景错误信息画面一般简称为
“
蓝屏(
Blue Screen
)
”
或
“
停止屏(
Stop Error Screen
)
”
,它可能会长时间停留在显示屏;也可能会在短时间显示之后自动重新启动计算机,如图xp的蓝屏:
原因分析:
如果
Windows
因系统设置故障、软件故障、硬件故障、驱动程序故障、网络故障等各种类型的故障产生了严重的错误,引起
Windows
无法继续维持正常运行,
Windows
出于避免用户数据丢失及损坏计算机的考虑,将自动停止运行并显示
“
蓝屏
”
错误信息。
在默认的系统设置中,
Windows 2000
遇到
“
蓝屏
”
故障后
“
蓝屏
”
错误信息将长时间停留在显示屏,直到您关闭或重新启动计算机;
Windows XP
及后续版本的
Windows
遇到
“
蓝屏
”
故障后
“
蓝屏
”
错误信息将在短时间显示之后自动重新启动计算机。
“
蓝屏
”
故障发生后是否自动重新启动计算机取决于
“
启动与故障恢复
”
设置。您可以在
“
控制面板
”
中打开
“
系统
”
属性,切换至
“
高级
”
选项卡(如果是
Windows Vista
及以上版本的
Windows
请在
“
系统
”
属性左上方的工具栏中选择
“
高级系统设置
”
,确认用户帐户控制(
UAC
)安全提示,然后再切换至
“
高级
”
选项卡),在
“
高级
”
选项卡中打开
“
启动与故障恢复
”
。您可以在
“
启动与故障恢复
”
的选项中找到
“
自动重新启动
”
复选框,如果此复选框没有选中,
Windows
遇到
“
蓝屏
”
故障后
“
蓝屏
”
错误信息就将长时间停留在显示屏(
Windows 2000
的默认设置);如果此复选框被选中,
“
蓝屏
”
错误信息就将在短时间显示之后自动重新启动计算机(
Windows XP
及后续版本的
Windows
的默认设置)。
故障排除:
由于各种系统设置故障、软件故障、硬件故障、驱动程序故障、网络故障等均有可能引起
Windows“
蓝屏
”
故障,所以您需要通过
“
蓝屏
”
错误信息提供的故障代码(
Technical Information
)、或通过
Debugging Tools for Windows
(http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx)
分析
Windows
在
“
蓝屏
”
故障时自动保存的内存转储文件(
Crash Dump File
)判断引起
“
蓝屏
”
的大致原因,确定故障方向后,再针对具体的故障部分进行细致的排查解决。
Microsoft
不对由第三方软件、盗版软件、硬件、驱动程序、恶意程序等引起的
“
蓝屏
”
故障提供技术支持。
方法
1
:通过
“
蓝屏
”
错误信息提供的故障代码(
Technical Information
)排查
“
蓝屏
”
故障信息会在屏幕的底部显示此蓝屏的故障代码(
Technical Information
),代码的格式一般为
0x000000XX
,例如
0x0000000A
、
0x000000D1
等。每种不同的代码均代表不同类型的故障。您可以以故障代码为关键词在
Microsoft
知识库(
KB
)
(http://support.microsoft.com/)
、
microsoft.com
或其它搜索引擎(例如
Bing.com
)中搜索
“
蓝屏
”
故障的相关
信息。例如,您可以在
Microsoft
知识库(
KB
)中以
0x0000007B
为关键词搜索到关于
0x0000007B
故障的知识库文章
KB324103
(http://support.microsoft.com/kb/324103/zh-cn/ )
。
方法
2
:通过
Debugging Tools
分析
“
蓝屏
”
内存转储文件(
Crash Dump File
)排查
为了便于排查
“
蓝屏
”
故障的原因,
Windows
提供了在
“
蓝屏
”
故障发生时自动将内存数据保存为内存转储文件(
Crash Dump File
)的功能,以便您通过分析内存转储文件排查
“
蓝屏
”
故障原因。
您可以在
“
控制面板
”
中打开
“
系统
”
属性,切换至
“
高级
”
选项卡(如果是
Windows Vista
及以上版本的
Windows
请在左上方的工具栏中选择
“
高级系统设置
”
,确认用户帐户控制(
UAC
)安全提示,然后再切换至
“
高级
”
选项卡),在
“
高级
”
选项卡中打开
“
启动与故障恢复
”
。您可以在
“
启动与故障恢复
”
选项中找到
“
写入调试信息
”
的下拉菜单,在下拉菜单中将
“
无
”
修改为
“
小内存转储(
64KB
)
”
、
“
核心内存转储
”
或
“
完全内存转储
”
,即可在发生
“
蓝屏
”
故障时自动保存内存转储文件。
分析内存转储文件可以使用 Debugging Tools for Windows (http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx) ,您可以在 Microsoft 网站如下地址免费下载:
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx (http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx)
通过
Debugging Tools
分析
“
蓝屏
”
故障案例示例:
曾经有一台
Windows XP
计算机经常发生错误代码为
0x0000007F
的
“
蓝屏
”
故障,原因未知。为了调查故障原因,我们在
Windows XP
中设置了保存
“
小内存转储文件(
64KB
)
”
。当计算机再次发生了
0x0000007F
蓝屏故障后,我们在重新启动
Windows
后,使用
Debugging Tools
打开了这台计算机保存于
Windows\Minidump
文件夹中的
.DMP
内存转储文件,
Debugging Tools
经过自动分析后弹出了分析报告,报告此错误
“Probably caused by TM_CFW.SYS
(可能由
TM_CFW.SYS
引起)
”
。原来,
TM_CFW.SYS
位于
%SystemRoot%\system32\drivers
文件夹,它是趋势的防火墙程序,用于将趋势防火墙以系统服务的形式随
Windows
启动一同加载。经过我们回忆,这台计算机正是在修改趋势防火墙程序的设置后经常出现
0x0000007F “
蓝屏
”
故障。因此,趋势防火墙很可能出现了设置不当的问题。为了证实这一猜想,我们在
Windows XP
中通过
“
控制面板
”
中的
“
添加删除程序
”
卸载了趋势防火墙,然后按照默认设置重新安装了,果然问题得以解决。
附录:
28
个常见的
“
蓝屏
”
故障代码的排查信息
|
错误名称 |
0x0000000A : IRQL_NOT_LESS_OR_EQUAL |
|
故障分析 |
0x0000000A 错误表示在内核模式中存在以过高的进程内部请求级别( IRQL )访问其没有权限访问的内存地址。这个错误一般是因为硬件设备的驱动程序存在 BUG ,某些软件或硬件与 Windows 不兼容引起的。如果遇到 0x0000000A 错误,建议尝试以 “ 最后一次正确的配置 ” 方式启动 Windows ,并检查一下最近有没有安装或升级过任何系统更新、硬件设备的驱动程序、 BIOS 、 Firmware 及应用软件等。如果有的话,请将最近更新过的应用软件及硬件设备逐一卸载、恢复到之前可以稳定运行的版本,看看问题能否解决。 |
|
错误名称 |
0x0000001A : MEMORY_MANAGEMENT |
|
故障分析 |
0x0000001A 错误表示内存管理遇到了问题。这个错误一般是因为硬件设备的故障引起的。如果遇到 0x0000001A 错误,建议检查一下最近有没有安装过新的硬件设备或驱动程序。如果有的话,请将最近安装过的硬件设备或驱动程序逐一卸载,看看问题能否解决。另外,如果是在安装 Windows 时遇到 0x0000001A 错误,请检查一下计算机的内存容量及规格是否符合 Windows 的要求。 |
|
参考资料 |
关于
0x0000001A
错误,可以参考
Microsoft
知识库文章
KB282504
:
|
|
错误名称 |
0x0000001E : KMODE_EXCEPTION_NOT_HANDLED |
|
故障分析 |
0x0000001E 错误表示 Windows 检测到一个非法的或未知的进程指令。这个错误一般是因为内存发生故障引起的,或者与 0x0000000A 错误相似,表示在内核模式中存在以过高的进程内部请求级别( IRQL )访问其没有权限访问的内存地址。如果遇到 0x0000001E 错误,建议首先检查一下软件及硬件兼容性,看看最近有没有安装过新的应用软件、硬件设备或驱动程序。如果有的话,请将最近安装过的软件及硬件逐一卸载,看看问题能否解决;其次,请检查一下蓝屏故障提示中是否提到问题是由 WIN32K.SYS 文件引起的,如果是的话,那么很可能是远程控制类软件引起的故障。 |
|
参考资料 |
关于
0x0000001E
错误,可以参考
Microsoft
知识库文章
KB275678
:
|
|
错误名称 |
0x00000023 : FAT_FILE_SYSTEM |
|
故障分析 |
0x00000023 错误表示采用了 FAT 、 FAT32 文件系统的磁盘驱动器遇到了问题。这个错误一般是因为磁盘驱动器本身存在故障引起的,例如磁盘错误、文件错误、磁盘碎片过多、磁盘读写过于频繁、存在体积过大的文件、中断要求封包( IRP )受到了损坏等。如果遇到 0x00000023 错误,建议首先执行磁盘扫描程序对所有的磁盘驱动器进行全面检测,看看磁盘驱动器是否存在磁盘错误或文件错误;其次请暂时关闭所有可能在后台对磁盘驱动器中的数据进行操作的软件,例如杀毒软件、数据备份软件等;再其次请执行 SFC /SCANNOW 命令,检查一下 Windows 系统文件 %SystemRoot%\system32\Drivers\FASTFAT.SYS 是否受到了损坏或丢失;最后请在 Windows 中重新安装一下主板驱动程序提供的 SATA 或 IDE 控制器驱动程序。 |
|
参考资料 |
关于 0x00000023 错误,可以参考 Microsoft 知识库文章 KB290182 : http://support.microsoft.com/kb/290182/zh-cn (http://support.microsoft.com/kb/290182/zh-cn) |
|
错误名称 |
0x00000024 : NTFS_FILE_SYSTEM |
|
故障分析 |
0x00000024 错误表示采用了 NTFS 文件系统的磁盘驱动器遇到了问题。这个错误一般是因为磁盘驱动器本身存在故障引起的,其触发原因与 0x00000023 错误基本相同。如果遇到 0x00000024 错误,可以参考 0x00000023 错误的解决方案。在检查系统文件时,请检查 %SystemRoot%\system32\Drivers\NTFS.SYS 是否受到了损坏或丢失。 |
|
错误名称 |
0x0000002E : DATA_BUS_ERROR |
|
故障分析 |
0x0000002E 错误表示系统内存存储器的奇偶校验遇到了问题。这个错误一般是因为内存发生故障(包括系统内存、显存、各种缓存),硬件设备驱动程序试图访问错误的内存地址,计算机遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击等原因引起的。如果遇到 0x0000002E 错 误,建议首先执行磁盘扫描程序对所有的磁盘驱动器进行全面检测,看看磁盘驱动器是否存在磁盘错误或文件错误;其次请执行安全防护类软件对计算机进行全面检 查,看看计算机是否遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击;再其次请使用内存检测软件对内存进行稳定性及兼容性测试,推荐使用 Windows Memory Diagnostic 、 MemTest 等检测软件;最后请打开机箱检查一下硬件设备的连接是否牢固。 |
|
参考资料 |
关于
0x0000002E
错误,可以参考
Microsoft
知识库文章
KB218132
:
|
|
错误名称 |
0x0000003F : NO_MORE_SYSTEM_PTES |
|
故障分析 |
0x0000003F 错误表示内存管理遇到了问题。这个错误一般是因为内存执行了错误的 I/O (输入 / 输出)操作,存在 BUG 的硬件设备驱动程序错误地使用了内存资源,某个应用软件被错误地分配了大量的内核内存等原因引起的。如果遇到 0x0000003F 错误,建议检查一下最近有没有安装过新的应用软件或硬件设备驱动程序。如果有的话,请将最近安装过的应用软件(特别是磁盘优化软件及杀毒软件)或驱动程序逐一卸载,看看问题能否解决。 |
|
错误名称 |
0x00000044 : MULTIPLE_IRP_COMPLETE_REQUESTS |
|
故障分析 |
0x00000044 错误表示硬件设备的驱动程序遇到了问题。这个错误一般是因为硬件设备驱动程序存在 BUG 或安装不正确引起的。如果遇到 0x00000044 错误,建议检查一下最近有没有安装过新的硬件设备或驱动程序。如果有的话,请将最近安装过的硬件设备或驱动程序逐一卸载,看看问题能否解决。 |
|
错误名称 |
0x0000004E : PFN_LIST_CORRUPT |
|
故障分析 |
0x0000004E 错误表示 I/O 输入 / 输出驱动程序结构遇到了问题。这个错误一般是因为硬件设备或驱动程序存在 BUG 或安装不正确引起的。如果遇到 0x0000004E 错误,建议首先执行硬件兼容性检测软件对所有的硬件设备进行全面检测,看看是否存在硬件兼容性问题、以及硬件设备是否支持 Windows ;其次请暂时禁用所有的文件系统筛选驱动程序,例如杀毒软件、数据备份软件等;另外如果是随机或是试图启动应用软件时遇到 0x0000004E 错误,请取出额外的内存,并对计算机中的随机存取内存( RAM )进行测试。 |
|
参考资料 |
关于
0x0000004E
错误,可以参考
Microsoft
知识库文章
KB291806
:
|
|
错误名称 |
0x00000050 : PAGE_FAULT_IN_NONPAGED_AREA |
|
故障分析 |
0x00000050 错误表示内存管理遇到了问题。这个错误的可能原因较多,一般是因为内存发生故障(包括系统内存、显存、各种缓存),某个应用软件存在兼容性问题(特别是远程控制类软件及安全防护类软件), NTFS 卷有所损坏,硬件设备存在故障等原因引起的。如果遇到 0x00000050 错误,建议尝试以安全模式启动 Windows ,看看安全模式中有没有问题。 0x00000050 错误比较常见的原因是应用软件兼容性问题,如果以安全模式启动 Windows 后不会遇到 0x00000050 错误,那么内存发生故障、 NTFS 卷损坏、硬件设备存在故障等其它的可能原因基本可以被排除。这时可以检查一下最近有没有安装过新的应用软件(特别是远程控制类软件及安全防护类软件)。如果有的话,请将最近安装过的新应用软件逐一卸载,看看问题能否解决;反之,如果以安全模式启动 Windows 也会遇到 0x00000050 错误,那么有可能是内存发生故障、 NTFS 卷损坏、硬件设备存在故障等原因引起了 0x00000050 错误,通常需要综合其它故障信息判断故障原因。 |
|
错误名称 |
0x00000051 : REGISTRY_ERROR |
|
故障分析 |
0x00000051 错误表示 Windows 注册表或者系统配置管理器遇到了问题。这个错误一般是因为 Windows 注册表或系统配置管理器发生了错误的修改,或者 Windows 因为硬盘存在磁盘错误无法访问注册表文件引起的。如果遇到 0x00000051 错误,建议首先执行磁盘扫描程序对 Windows 的系统分区进行全面检测,看看 Windows 系统分区是否存在磁盘错误或文件错误,引起 Windows 无法访问注册表文件;其次请检查一下最近有没有对 Windows 注册表进行了错误的修改,如果以前曾经备份过注册表,请尝试恢复 Windows 注册表,如果没有备份过注册表,请重新安装 Windows 。 |
|
参考资料 |
关于
0x00000051
错误,可以参考
Microsoft
知识库文章
KB282501
:
|
|
错误名称 |
0x00000077 : KERNEL_STACK_INPAGE_ERROR |
|
故障分析 |
0x00000077 错误表示 Windows 无法在虚拟内存或物理内存中找到需要使用的内核数据。这个错误一般是因为硬盘存在磁盘错误或文件错误,所需的相应数据受到了损坏或丢失,计算机遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击等原因引起的。如果遇到 0x00000077 错误,建议首先执行磁盘扫描程序对所有的磁盘驱动器进行全面检测,看看磁盘驱动器是否存在磁盘错误或文件错误;其次请执行安全防护类软件对计算机进行全面检查,看看计算机是否遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击。 |
|
参考资料 |
关于
0x00000077
错误,可以参考
Microsoft
知识库文章
KB315266
:
|
|
错误名称 |
0x0000007A : KERNEL_DATA_INPAGE_ERROR |
|
故障分析 |
0x0000007A 错误表示虚拟内存中的某些内核数据无法被读入内存。这个错误一般是因为内存发生故障,虚拟内存页面文件存在坏簇,计算机遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击等原因引起的。如果遇到 0x0000007A 错误,建议首先执行磁盘扫描程序对所有的磁盘驱动器进行全面检测,看看磁盘驱动器是否存在磁盘错误或文件错误;其次请执行安全防护类软件对计算机进行全面检查,看看计算机是否遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击。 |
|
错误名称 |
0x0000007B : INACCESSIBLE_BOOT_DEVICE |
|
故障分析 |
0x0000007B
错误表示
Windows
在启动的过程中无法访问系统分区或启动卷。这个错误一般是因为
Windows
的系统分区存在磁盘错误或文件错误,主板的
SATA
或
IDE
控制器驱动程序受到了损坏或安装不正确,计算机遭到了病毒、木马、间谍软件、广告软件、流氓软件等恶意程序的攻击等原因引起的。
|
|
参考资料 |
关于
0x0000007B
错误,可以参考
Microsoft
知识库文章
KB822052
:
|
|
错误名称 |
0x0000007E : SYSTEM_THREAD_EXCEPTION_NOT_HANDLED |
|
故障分析 |
0x0000007E 错误表示系统进程遇到了问题,但 Windows 错误处理器无法准确捕获错误类型。这个错误的可能原因较多,一般遇到此错误时比较麻烦。如果遇到 0x0000007E 错 误,建议检查一下完整的蓝屏故障提示,看看有没有提到引起错误的具体是哪个文件,如果在蓝屏故障提示中看到某应用软件或某硬件设备驱动程序的文件名,问题 一般与相应的应用软件或硬件设备有关;如果在蓝屏故障提示中没有显示引起错误的文件名,通常需要综合其它故障信息判断故障原因,建议检查一下 Windows 事件查看器,看看有没有相应的记录。 |
|
错误名称 |
0x0000007F : UNEXPECTED_KERNEL_MODE_TRAP |
|
故障分析 |
0x0000007F 错误表示硬件设备遇到问题。这个错误一般是因为内存发生故障或 CPU 、内存、显卡等硬件设备超频过度引起的。如果遇到 |