蓝屏含义原理分析处理方法代码电脑计算机故障系统安全 - 蓝屏知识大全

 

目录
1含义2原理分析3处理方法4代码含义和解决…5原因分析6预防电脑蓝屏的…
 
含义
 引蓝屏解释

1.故障检查信息

  ***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)

KMODE_EXCEPTION_NOT_HANDLED ***其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E, 用于识别已发生错误的类型, 错误第二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这个参数对于普通用户根本无法理解, 只有驱动程序编写者或者微软操作系统的开发人员才懂). 第三部分是错误名. 信息第一行通常用来识别生产错误的驱动程序或者设备. 这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用

2.推荐操作

  蓝屏第二部分是推荐用户进行的操作信息. 有时, 推荐的操作仅仅是一般性的建议(比如: 到销售商网站查找BIOS的更新等); 有时, 也就是显示一条与当前问题相关的提示. 一般来说, 惟一的建议就是重启.

3.调试端口

  调试端口告诉用户内存转储映像是否写到磁盘上了, 使用内存转储映像可以确定发生问题的性质, 还会告诉用户调试信息是否被传到另一台电脑上, 以及使用了什么端口完成这次通讯. 不过, 这里的信息对于普通用户来说, 没有什么意义.有时保卫科可以顺利的查到是哪个生产小组的问题, 会在第一部分明确报告是哪个文件犯的错, 但常常它也只能查个大概范围, 而无法明确指明问题所在. 由于工厂全面被迫停止, 只有重新整顿开工, 有时, 那个生产小组会意识到错误 , 不再重犯. 但有时仍然会试图哄抢零件, 于是厂领导不得不重复停工决定(不能启动并显示蓝屏信息, 或在进行相同操作时再次出现蓝屏).
原理分析
  人有的时候都会闹情绪,更何况是机器呢。Windows有时候也会跟我们闹闹情绪,小则

是“应用程序遇到问题需要关闭”,搞不好还可能给您脸色看看。但是,这脸色可不是红的白的,而是一张“蓝脸”,您见过吗?首先,我们介绍以下三个重要的问题:

1.到底什么是“蓝脸”?

  这里指的就是大家经常称之为“蓝屏”、“系统崩溃”之类的东西,外国人又叫它BSOD(Blue Screen of Death)。从专业的角度讲,这一术语被定义为“是指当Microsoft Windows崩溃或停止执行(由于灾难性的错误或者内部条件阻止系统继续运行下去)时所显示的蓝色屏幕”。而我们平常所说的“系统崩溃(system crash)”或者“内核错误(kernel error)”抑或“停止错误(Stop error)”的专业术语为“程序错误检查(Bug Check)”。

2.为什么一定要给您“蓝脸”?

  一旦遇上系统蓝屏崩溃,大多数的人都会以为Windows不行了所以就瘫痪了,有点罪魁祸首是Windows或者Windows不够强悍、不够稳定的意思。可是,Windows在默默地喊冤您知道吗?要知道,每当有内核模式设备驱动程序或者子系统引发了一个非法异常,Windows就会面临这个艰难的抉择,虽然Windows最终还是选择了崩溃,但是这并不代表它就不能够忽略该异常,让设备驱动程序或者子系统继续往下执行。Windows之所以要选择“亡我”,是因为它不知道该错误是否能被隔离出来从而不伤害系统的其它程序与数据,或者该组件将来是否能够恢复正常,而且,Windows深知,这个异常更有可能来

源于更深层的问题,比如由于内存的常规破坏(General Corruption),或者由于硬件设备不能正常工作。允许系统继续运行可能导致更多的异常,而且,存储在磁盘或其他外设中的数据可能也会遭受破坏。Windows意识到,这样做的风险太大了,为了您的程序、数据安全与完整,为了将您的损失在第一时间减小至最低,Windows于是忍痛做出了自我牺牲……

3.怎样给出“蓝脸”?

  当系统检测到引发崩溃的致命错误时,Windows自己执行崩溃函数“KeBugCheckEx”。该函数接受一个停止代码(STOP Code,也称为错误检查码“Bug Check Code”),以及四个根据停止代码来解释的参数(下文中会有图例)。在调用KeBugCheckEx之后,首先该系统所有处理器上的所有中断将被屏蔽,然后系统将显示器切换到低分辨率的VGA图形模式(因为这是所有Windows平台显卡均支持的通用模式),绘制一个蓝色背景,然后显示此停止代码,并且后面紧跟一些对用户诊断错误有帮助的关键信息。最后,KeBugCheckEx调用所有已注册的设备驱动程序错误检查回调函数(这种回调函数通过调用KeRegisterBugCheckCallback函数来注册),从而让这些驱动程序停止运行它们所支配的设备(有系统数据结构已经被破坏得太严重以至于蓝屏都显示不出来的可能性)。
处理方法
  Windows 2K/XP蓝屏信息非常多,无法在一篇文章中全面讲解,但他们产生的原因往往

集中在不兼容的硬件和驱动程序、有问题的软件、病毒等,因此,首先为大家提供了一些常规的解决方案。在遇到蓝屏错误时,应先对照这些方案进行排除,下列内容对正在使用Windows、Vista或Windows 7的用户也有帮助。

1.重启电脑

  有时只是某个程序或驱动程序一时犯错,重启后它们会改过自新。(注意:此时参见第八章节查询停机码。)

2.新硬件

  首先,应该检查新硬件是否插牢, 这个被许多人忽视的问题往往会引发许多莫名其妙的故障。如果确认没有问题,将其拔下, 然后换个插槽试试,并安装最新的驱动程序。 同时,还应对照微软网站的硬件兼容类别检查一下硬件是否与操作系统兼容。如果,你的硬件没有在表中,那么就得到硬件厂商网站进行查询,或者拨打他们的咨询电话。

3.新驱动和新服务

  如果刚安装完某个硬件的新驱动,或安装了某个软件,而它又在系统服务中添加了相应项目(比如:杀毒软件、新的播放器、CPU降温软件、防火墙软件等),在重启或使用中出现了蓝屏故障,请到安全模式来卸载或禁用它们。

4.检查病毒

  比如冲击波和振荡波等病毒有时会导致Windows蓝屏死机,因此查杀病毒必不可少。同时一些木马间谍软件也会引发蓝屏,所以,最好再用相关工具进行扫描检查。

5.检查BIOS和硬件兼容性

  对于新装的电脑经常出现蓝屏问题,应该检查并升级BIOS到最新版本。同时关闭其中的内存相关项, 比如:缓存和映射。另外,还应该对照微软的硬件兼容列表检查自己的硬件。还有就是,如果主板BIOS无法支持大容量硬盘也会导致蓝屏,需要对其进行升级。

6.运行“sfc /scannow”

  运行“sfc /scannow”来检查系统文件是否被替换,然后用系统安装盘来恢复.

  小提示:

  BIOS的缓存和映射项

  Video BIOS Shadowing (视频BIOS映射)

  Shadowing address ranges(映射地址列)

  System BIOS Cacheable(系统BIOS缓冲)

  Video BIOS Cacheable(视频BIOS缓冲)

  Video RAM Cacheable(视频内存缓冲)

7.检查系统日志

  在开始-->运行中输入:EventVwr.msc,回车出现“事件查看器”,注意检查其中的“系统日志”和“应用程序日志”中表明“错误”的项。

8.查询停机码

  把蓝屏中密密麻麻的E文记下来,接着到其他电脑中上网,进入微软帮助与支持网站

在左上角的“搜索(知识库)”中输入停机码。如果,搜索结果没有适合信息,可以选择“英文知识库”再搜索一遍。一般情况下,会在这里找到有用的解决案例。另外,在baidu、Google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索,往往也会有收获。

9.最后一次正确配置

  一般情况下, 蓝屏都是在硬件驱动或新加硬件并安装驱动后,出现冲突或不兼容的情况, 这时Windows 2K/XP提供的“最后一次正确配置”就是解决蓝屏的快捷方式。

  重启系统,在出现启动菜单时,按下F8键,就会出现windows高级启动选项菜单,键盘光标,选定:“最后一次正确配置”,然后,回车键(Enter),回车键(Enter),按下去。

10.安装最新的系统补丁和Service Pack

  有些蓝屏是Windows本身存在缺陷造成的,应此可通过安装最新的系统补丁和Service Pack来解决。

  如果系统可以运行的情况下,错打了冲突的补丁,可以用,金山急救箱,来“扩展扫描”,立即扫描,扫描完毕后,会提示:哪个补丁,不需要修复。然后,照提示点:立即处理。完毕后,如果提示需要“重启电脑”,立即重启电脑,就可以了。
代码含义和解决方案
1.代码一览表

  1 0×00000001 不正确的函数。

  2 0×00000002 系统找不到指定的档案。

  3 0×00000003 系统找不到指定的路径。

  4 0×00000004 系统无法开启档案。

  5 0×00000005 拒绝存取。

  6 0×00000006 无效的代码。

  7 0×00000007 储存体控制区块已毁。

  8 0×00000008 储存体空间不足,无法处理这个指令。

  9 0×00000009 储存体控制区块地址无效。

  10 0×0000000A 环境不正确。

  11 0×0000000B 尝试加载一个格式错误的程序。

  12 0×0000000C 存取码错误。

  13 0×0000000D 资料错误。

  14 0×0000000E 储存体空间不够,无法完成这项作业。

  15 0×0000000F 系统找不到指定的磁盘驱动器。

  16 0×00000010 无法移除目录。

  17 0×00000011 系统无法将档案移到其它的磁盘驱动器。

  18 0×00000012 没有任何档案。

  19 0×00000013 储存媒体为写保护状态。

  20 0×00000014 系统找不到指定的装置。

  21 0×00000015 装置尚未就绪。

  22 0×00000016 装置无法识别指令。

  23 0×00000017 资料错误 (cyclic redundancy check)

  24 0×00000018 程序发出一个长度错误的指令。

  25 0×00000019 磁盘驱动器在磁盘找不到 持定的扇区或磁道。

  26 0×0000001A 指定的磁盘或磁盘无法存取。

  27 0×0000001B 磁盘驱动器找不到要求的扇区。

  28 0×0000001C 打印机没有纸。

  29 0×0000001D 系统无法将资料写入指定的磁盘驱动器。

  30 0×0000001E 系统无法读取指定的装置。

  31 0×0000001F 连接到系统的某个装置没有作用。

  32 0×00000020 该进程无法访问文件,因为它正由另一个进程使用。

  33 0×00000021 档案的一部份被锁定,现在无法存取。

  34 0×00000022 磁盘驱动器的磁盘不正确。请将%2 (Volume Serial Number: %3) 插入磁盘机%1。

  36 0×00000024 开启的分享档案数量太多。

  38 0×00000026 到达档案结尾。

  39 0×00000027 磁盘已满。

  50 0×00000032 不支持这种网络要求。

  51 0×00000033 远程计算机无法使用。

  52 0×00000034 网络名称重复。

  53 0×00000035 网络路径找不到。

  54 0×00000036 网络忙碌中。

  55 0×00000037 指定的网络资源或设备不可再用。

  56 0×00000038 网络BIOS命令限制已经达到

  57 0×00000039 网络配接卡发生问题。

  58 0×0000003A 指定的服务器无法执行要求的作业。

  59 0×0000003B 网络发生意外错误。

  60 0×0000003C 远程配接卡不兼容。

  61 0×0000003D 打印机队列已满。

  62 0×0000003E 服务器的空间无法储存等候打印的档案。

  63 0×0000003F 等候打印的档案已经删除。

  64 0×00000040 指定的网络名称无法使用。

  65 0×00000041 拒绝存取网络。

  66 0×00000042 网络资源类型错误。

  67 0×00000043 网络名称找不到。

  68 0×00000044 超过区域计算机网络配接卡的名称限制。

  69 0×00000045 超过网络 BIOS 作业阶段的限制。

  70 0×00000046 远程服务器已经暂停或者正在起始中。

  71 0×00000047 由于联机数目已达上限,此时无法再联机到这台远程计算机。

  72 0×00000048 指定的打印机或磁盘装置已经暂停作用。

  80 0×00000050 档案已经存在。

  82 0×00000052 无法建立目录或档案。

  83 0×00000053 INT 24 失败

  84 0×00000054 处理这项要求的储存体无法使用。

  85 0×00000055 近端装置名称已经在使用中。

  86 0×00000056 指定的网络密码错误。

  87 0×00000057 参数错误。

  88 0×00000058 网络发生资料写入错误。

  89 0×00000059 此时系统无法执行其它行程。

2.相应解决方案

  使用windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的来源而频繁重新安装系统,劳神费时。下列收集了一些windows死机密码,供大家参考。

  1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL

  ◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中有级别进程请求(IRQL)访问其没有权限访问的内存地址.

  ◇解决方案:请用前面介绍的解决方案中的2、3、5、8、9方案尝试排除.

  2、0x00000012:TRAP_CAUSE_UNKNOWN

  ◆错误分析:如果遇到这个错误信息, 那么很不幸, 应为KeBudCheck分析的结果是错误原因

  未知.

  ◇解决方案:既然微软都帮不上忙, 就得靠自己了, 请仔细回想这个错误是什么时候出现的; 第一次发生时你对系统做了哪些操作; 发生时正在进行什么操作. 从这些信息中找出可能的原因, 从而选择相应解决方案尝试排除.

  3、0x0000001A:MEMORY_MANAGEMENT

  ◆错误分析:这个内存管理错误往往是由硬件引起的, 比如: 新安装的硬件、内存本身有问题等.

  ◇解决方案:如果是在安装Windows时出现, 有可能是由于你的电脑达不到安装Windows的最小内存和磁盘要求.

  4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED

  ◆错误分析:Windows内核检查到一个非法或者未知的进程指令,这个停机码一般是由问题的内存或是与前面0x0000000A相似的原因造成的.

  ◇解决方案:

  (1)硬件兼容有问题:请对照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在该列表中.

  (2)有问题的设备驱动、系统服务或内存冲突和中断冲突: 如果在蓝屏信息中出现了驱动程序的名字, 请试着在安装模式或者故障恢复控制台中禁用或删除驱动程序, 并禁用所有刚安装的驱动和软件. 如果错误出现在系统启动过程中, 请进入安全模式, 将蓝屏信息中所标明的文件重命名或者删除.

  (3)如果错误信息中明确指出Win32K.sys: 很有可能是第三方远程控制软件造成的, 需要从故障恢复控制台中将对该软件的服务关闭.

  (4)在安装Windows后第一次重启时出现:最大嫌疑可能时系统分区的磁盘空间不足或BIOS兼容有问题.

  (5)如果是在关闭某个软件时出现的:很有可能时软件本生存在设计缺陷, 请升级或卸载它.

  5、0x00000023:FAT_FILE_SYSTEM

  0x00000024:NTFS_FILE_SYSTEM

  ◆错误分析:0x00000023通常发生在读写FAT16或者FAT32文件系统的系统分区时, 而0x00000024则是由于NTFS.sys文件出现错误(这个驱动文件的作用是容许系统读写使用 .(NTFS文件系统的磁盘). 这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(IRP)损坏而导致的. 其他原因还包括:硬盘磁盘碎片过多; 文件读写操作过于频繁, 并且数据量非常大或者是由于一些磁盘镜像软件或杀毒软件引起的. ◇解决方案:

  第一步:首先打开命令行提示符, 运行"Chkdsk /r"(注:不是CHKDISK, 感觉象这个, 但是它们所指的内容是不一样的)命令检查并修复硬盘错误, 如果报告存在坏道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复.

  第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具.

  第三步:右击C:\winnt\system32\drivers\fastfat.sys文件并选择"属性", 查看其版本是否与当前系统所使用的Windows版本相符合.(注:如果是XP, 应该是C:\windows\system32\drivers\fastfat.sys)

  第四步:安装最新的主板驱动程序, 特别IDE驱动. 如果你的光驱、可移动存储器也提供有驱动程序, 最好将它们升级至最新版.

  6、0x00000027:RDR_FILE_SYSTEM

  ◆错误分析:这个错误产生的原因很难判断, 不过Windows内存管理出了问题很可能会导致这个停机码的出现.

  ◇解决方案:如果是内存管理的缘故, 通常增加内存会解决问题.

  7、0x0000002EATA_BUS_ERROR

  ◆错误分析:系统内存存储器奇偶校验产生错误, 通常是因为有缺陷的内存(包括物理内存、二级缓存或者显卡显存)时设备驱动程序访问不存在的内存地址等原因引起的. 另外, 硬盘被病毒或者其他问题所损伤, 以出现这个停机码.

  ◇解决方案:

  (1)检查病毒

  (2)使用"chkdsk /r"命令检查所有磁盘分区.

  (3)用Memtest86等内存测试软件检查内存.

  (4)检查硬件是否正确安装, 比如:是否牢固、金手指是否有污渍.

  8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS

  ◆错误分析:从字面上理解, 应该时驱动程序或某些软件出现堆栈问题. 其实这个故障的真正原因应该时驱动程序本生存在问题, 或是内存有质量问题.

  ◇解决方案:请使用前面介绍的常规解决方案中与驱动程序和内存相关的方案进行排除.

  9、0x0000003F:NO_MORE_SYSTEM_PTES

  ◆错误分析:一个与系统内存管理相关的错误, 比如:由于执行了大量的输入/输出操作, 造成内存管理出现问题: 有缺陷的驱动程序不正确地使用内存资源; 某个应用程序(比如:备份软件)被分配了大量的内核内存等.

  ◇解决方案:卸载所有最新安装的软件(特别是哪些增强磁盘性能的应用程序和杀毒软件)和驱动程序.

  10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS

  ◆错误分析:通常是由硬件驱动程序引起的.

  ◇解决方案:卸载最近安装的驱动程序. 这个故障很少出现, 目前已经知道的是, 在使用 这家公司的某些软件时会出现, 其中的罪魁就是Falstaff.sys文件.(作者难道不怕吃官司嘛, 把公司网址公布)

  11、0x00000050: PAGE_FAULT_IN_NONPAGED+AREA

  ◆错误分析:有问题的内存(包括物理内存、二级缓存、显存)、不兼容的软件(主要是远程控制和杀毒软件)、损坏的NTFS卷以及有问题的硬件(比如: PCI插卡本身已损坏)等都会引发这个错误.

  ◇解决方案:请使用前面介绍的常规解决方案中与内存、软件、硬件、硬盘等相关的方案进行排除.

  如果电脑中安装有maxdos(或是用maxdos的启动盘)也可以在命令模式下直接删除C盘的页面文件。

  12、0x00000051:REGISTRY_ERROR

  ◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误.

  ◇解决方案:使用"chkdsk /r"检查并修复磁盘错误.

  13、0x00000058:FTDISK_INTERNAL_ERROR

  ◆错误分析:说明在容错集的主驱动发生错误. ?

  ◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试"最后一次正确配置"进行解决.

  14、0x0000005E:CRITICAL_SERVICE_FAILED

  ◆错误分析:某个非常重要的系统服务启动识别造成的.

  ◇解决方案:如果是在安装了某个新硬件后出新的, 可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用"最后一次正确配置"来启动Windows, 如果这样还是失败, 建议进行修复安装或是重装.

  15、0x0000006F:SESSION3_INITIALIZATION-FAILED

  ◆错误分析:这个错误通常出现在Windows启动时, 一般是由有问题的驱动程序或损坏的系统文件引起的.

  ◇解决方案:建议使用Windows安装光盘对系统进行修复安装.

  16、0x00000076ROCESS_HAS_LOCKED_PAGES

  ◆错误分析:通常是因为某个驱动程序在完成了一次输入/输出操作后, 没有正确释放所占有的内存

  ◇解决方案:

  第一步:点击开始-->运行:regedt32, 找到[HKLM\SYSTEM\Currentcontrol set\control\session manager\memory management], 在右侧新建双字节值"TrackLockedPages", 值为1. 这样Windows便会在错误再次出现时跟踪到是哪个驱动程序的问题.第二步:如果再次出现蓝屏, 那么错误信息会变成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四个"0xY"会显示为问题驱动程序的名字, 接着对其进行更新或删除.第三步:进入注册表, 删除添加的"TrackLockedPages".

  17、0x00000077:KERNEL_STACK_INPAGE_ERROR

  ◆错误分析:说明需要使用的内核数据没有在虚拟内存或物理内存中找到. 这个错误常常是磁盘有问题, 相应数据损坏或受到病毒侵蚀.

  ◇解决方案:使用杀毒软件扫描系统; 使用"chkdsk /r"命令检查并修复磁盘错误, 如不行则使用磁盘厂商提供的工具检查修复.

  18、0x0000007A:KERNEL_DATA_INPAGE_ERROR

  ◆错误分析:这个错误往往是虚拟内存中的内核数据无法读入内存造成的. 原因可能是虚拟内存页面文件中存在坏簇病毒、磁盘控制器出错、内存有问题.

  ◇解决方案:首先用升级为最新病毒库杀毒软件查杀病毒, 如果信息中还有0xC000009C或0xC000016A代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入"故障恢复控制台", 用"chkdsk /r"命令进行手动修复.

  19、0x0000007B:INACESSIBLE_BOOT_DEVICE

  ◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的IDE控制器使用了不同芯片组造成的. 有时也可能是病毒或硬盘损伤所引起的.

  ◇解决方案:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题. 对于病毒则可使用DOS版的杀毒软件进行查杀(有kv2005DOS版下载). 如果是硬盘本身存在问题, 请将其安装到其他电脑中, 然后使用"chkdsk /r"来检查并修复磁盘错误. 如果是BIOS设置问题,只要将BIOS设置IDE模式即可.

  20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

  ◆错误分析:系统进程产生错误, 但Windows错误处理器无法捕获. 其产生原因很多, 包括:硬件兼容性、有问题的驱动程序或系统服务、 或者是某些软件.

  ◇解决方案:请使用"事件查看器"来获取更多的信息, 从中发现错误根源.(发现好像不是解决哦, 看来这里大家要自力更生了!)

  21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP

  ◆错误分析:一般是由于有问题的硬件(比如:内存)或某些软件引起的. 有时超频也会产生这个错误.

  ◇解决方案:用检测软件(比如:Memtest86)检查内存, 如果进行了超频, 请取消超频. 将PCI硬件插卡从主板插槽拔下来, 或更换插槽. 另外, 有些主板(比如:nForce2主板)在进行超频后, 南桥芯片过热也会导致蓝屏, 此时为该芯片单独增加散热片往往可以有效解决问题.

  22、0x00000080:NMI_HARDWARE_FAILURE

  ◆错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘)

  ◇解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本; 检查内存金手指是否有污染和损坏; 扫描病毒; 运行"chkdsk /r"检查并修复磁盘错误; 检查所有硬件插卡已经插牢. 如果以上尝试都无效果, 就得找专业的电脑维修公司请求帮助了.

  23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED

  ◆错误分析:内核级应用程序产生了错误, 但Windows错误处理器没有捕获. 通常是硬件兼容性错误.

  ◇解决方案:升级驱动程序或升级BIOS.

  24、0x0000009C:MACHINE_CHECK_EXCEPTION

  ◆错误分析:通常是硬件引起的. 一般是因为超频或是硬件存在问题(内存、CPU、总线、电

  源).

  ◇解决方案:如果进行了超频, 请降下CPU原来频率, 检查硬件.

  25、0x0000009DRIVER_POWER_STATE_FAILURE

  ◆错误分析:往往与电源有关系, 常常发生在与电源相关的操作, 比如:关机、待机或休睡.

  ◇解决方案:重装系统, 如果不能解决, 请更换电源.

  26、0x000000A5:ACPI_BIOS_ERROR

  ◆错误分析:通常是因为主板BIOS不能全面支持ACPI规范.

  ◇解决方案:如果没有相应BIOS升级, 那么可在安装Windows 2K/XP时, 当出现"press F6 if you need to install a third-party SCSI or RAID driver"提示时, 按下F7键, 这样Windows便会自动禁止安装ACPI HAL, 而安装 Standard PC HAL.

  27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE

  ◆错误分析:这个停止信息表示Windows因为不能启动显卡驱动, 从而无法进入图形界面. 通常是显卡的问题, 或者是存在与显卡的硬件冲突(比如:与并行或串行端口冲突).

  ◇解决方案:进入安全模式查看问题是否解决, 如果可以, 请升级最新的显卡驱动程序, 如果还不行, 则很可能是显卡与并行端口存在冲突, 需要在安全模式按下WIN+break组合键打开"系统属性", 在硬件-->设备管理器中找到并双击连接打印的LPT1端口的选项, 在"资源"选项卡中取消"使用自动配置"的勾选, 然后将"输入/输出范围"的"03BC"改为"0378".

  28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY

  ◆错误分析:某个驱动程序试图向只读内存写入数据造成的. 通常是在安装了新的驱动程序, 系统服务或升级了设备的固件程序后.

  ◇解决方案:如果在错误信息中包含有驱动程序或者服务文件名称, 请根据这个信息将新安装的驱动程序或软件卸载或禁用.

  29、0x000000C2:BAD_POOL_CALLER

  ◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作. 通常是驱动程序或存在BUG的软件造成的.

  ◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.

  30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

  ◆错误分析:通常是由有问题的驱动程序或系统服务造成的.

  ◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.

  31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL

  ◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、 损坏的虚拟内存文件、 某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误.

  ◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现"acpi.sys"等类似文件名, 可以非常肯定是驱动程序问题)和软件; 测试内存是否存在问题; 进入"故障恢复控制台", 转到虚拟内存页面文件Pagefile.sys所在分区, 执行"del pagefile.sys"命令, 将页面文件删除; 然后在页面文件所在分区执行"chkdsk /r"命令;进入Windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载), 那么应该是网卡驱动的问题, 需要升级其驱动程序.

  32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER

  ◆错误分析:通常是由显卡或显卡驱动程序引发的.

  ◇解决方案:先升级最新的显卡驱动, 如果不行, 则需要更换显卡测试故障是否依然发生.

  33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME

  ◆错误分析:一般是由于磁盘存在错误导致的, 有时也建议检查硬盘连线是否接触不良, 或是没有使用合乎该硬盘传输规格的连接线, 例如ATA-100仍使用ATA-33的连接线, 对低速硬盘无所谓, 但高速硬盘(支持ATA-66以上)的要求较严格, 规格不对的连线有时也会引起这类没办法开机的故障. 如果在修复后, 还是经常出现这个错误, 很可能是硬盘损坏的前兆.

  ◇解决方案:一般情况下, 重启会解决问题, 不管怎么样都建议执行"chkdsk /r"命令来检查修复硬盘

  34、0x000000F2:HARDWAREINTERRUPT_STORM

  ◆错误分析:内核层检查到系统出现中断错误, 比如:某个设备在完成操作后没有释放所占用的中断. 通常这是由缺陷的驱动程序造成的.

  ◇解决方案:升级或卸载最新安装的硬件驱动程序.

  35、0x00000135:UNABLE_TO_LOCATE_DLL

  ◆错误分析:通常表示某个文件丢失或已经损坏, 或者是注册表出现错误.

  ◇解决方案:如果是文件丢失或损坏, 在蓝屏信息中通常会显示相应的文件名, 你可以通过网络或是其他电脑找到相应的文件, 并将其复制到系统文件夹下的SYSTEM32子文件夹中. 如果没有显示文件名, 那就很有可能是注册表损坏, 请利用系统还原或是以前的注册表备份进行恢复.

  36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED

  ◆错误分析:用户模式子系统, 例如Winlogon或客服服务运行时子系统(CSRSS)已损坏, 所以无法再保证安全性, 导致系统无法启动. 有时, 当系统管理员错误地修改了用户帐号权限, 导致其无法访问系统文件和文件夹.

  ◇解决方案:使用"最后一次正确的配置", 如果无效, 可使用安装光盘进行修复安装.

  37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH

  ◆错误分析:通常是由于驱动程序或系统DLL文件损坏造成的. 一般情况下, 在蓝屏中会出现

  文件名称

  .sys文件;

  3. 将其重命名,如:XXXintelppm.sys;

  4. 重启。

  -----------------------------------------------
原因分析
  (以下内容转自 左岸Eric 的部落格)

  以下情况会引发系统蓝屏崩溃:

   1、运行在内核模式下的设备驱动程序或者操作系统函数引发了一个未被处理的异常,比如内存访问违例(由于企图写一个只读页面或者企图读一个当前未被映射的内存地址(即无效地址)而引起)。

   2、调用一个内核支持例程导致了重新调度,比如当中断请求级别(IRQL)为DPC/Dispatch级别或更高级别时等待一个标记为需要等待的调度对象。

   3、在DPC/Dispatch级别或更高的IRQL级别时由于数据存在于页面文件或内存映射文件中而发生了页面错误(Page Fault)。(这将要求内存管理器必须等待一个I/O操作发生。但正如上面一项所说,在DPC/Dispatch级别或更高IRQL级别上不能够进行等待,因为那将要求一次重新调度)。

   4、当检测到一个内部状态表明数据已遭受破坏或者在保证数据不被破坏的情况下系统无法继续执行时,设备驱动程序或操作系统函数明确地要求系统崩溃(通过调用系统函数KeBugCheckEx)。

   5、发生硬件错误,比如处理器的计算机检查异常功能(Machine Check)报告有异常或者发生不可屏蔽中断(NMI)。

  在了解以上三点知识之后,相信您对Windows的大无畏牺牲精神会有所赞赏,也会原谅它的“蓝脸”了。其实,在绝大多数情况下均是第三方设备驱动程序导致了Windows的崩溃。对于Windows XP用户提交给微软在线崩溃分析(Microsoft OCA, Microsoft Online Crash Analysis)站点的内存转储文件,微软对引起崩溃的原因进行了统计分类,如下图所示:(数据于2004年4月份生成)。

  既然Windows向我们露出了无奈的“蓝脸”,我们就应该打破沙锅问到底,尽早将引发系统崩溃的罪魁祸首缉拿归案,让我们的系统早日康复。下面,我们来看看Windows想通过这张“蓝脸”告诉我们些什么。

  如上图所示,这是一张显示了所有参数的蓝屏图像。当然,我们所遇到的蓝屏图像与之可能存在差异,比如少了一些信息等,但是大致是相同的,我们就以它为例进行全面地阐述。

  首先,我们看看图中用数字1标注的区域,这里列出了传递给KeBugCheckEx函数的停止代码和四个参数。此图中的停止代码为0x000000D1,四个参数为后面括号内的用逗号分隔的四段16进制数字;接下来,我们来看看图中用数字2标注的区域,这里显示的是该停止代码0x000000D1对应的英文解释;最后,我们看看图中用数字3标注的区域,这个区域当且仅当停止代码的四个参数中的一个参数包含了操作系统或设备驱动程序代码的地址时才会显示,显示的内容为、该地址所处模块的基地址以及日期戳。如此例中,该设备驱动程序的文件名为“myfault.sys”。

  这些信息对我们排错有何作用呢?如果上图中的区域3出现了,那是最好的结果了,因为您直接就看到了罪魁祸首——“myfault.sys”文件。但是,区域3往往是不出现的,那么我们就要在Microsoft的在线帮助和支持中查找该停止代码等信息或者使用我们的利器——WinDbg进行手动分析了。笔者推荐后者,因为同一个停止代码可能由各种各样的驱动程序错误造成,得到了停止代码并不等于得到了问题文件名称,另外,微软的在线帮助和支持中不是所有的错误都能够搜索到,而WinDbg正好克服了这两个弱点,直接能够抓出罪魁祸首文件,让您痛快将其斩首。

  WinDbg是免费软件,其微软官方下载地址参考扩展阅读,具体项目为Install Debugging Tools for Windows 32/64-bit Version。

  使用WinDbg分析崩溃时的内存转储文件的前提是您要让系统在崩溃时自动生成一个内存转储文件,做法如下:

  1、单击开始,然后单击运行。

  2、键入 control sysdm.cpl

  复制代码

  ,然后单击确定。您将会打开系统属性,请切换到高级选项卡。结果如下图所示:

  3、在高级选项卡上,在启动和故障恢复部分中单击设置。这将打开启动和故障恢复对话框,如下图所示:

  4、在写入调试信息列表中,选择“小内存转储(64 KB)”或“核心内存转储”,这样系统在崩溃时将会自动生成对应的内存转储文件。如果您不想让蓝屏只闪烁一下,而是想看清楚它直到您手动重新启动计算机,请清除系统失败部分中自动重新启动(R)项目前的复选框。然后单击确定。

  5、在启动和故障恢复对话框中,单击确定。

  6、单击确定关闭系统属性对话框。

  7、在系统设置更改对话框中,如果要立即重新启动计算机,则单击是;如果要稍后重新启动计算机,则单击否。

  注:

  Vista用户请类似操作。 对于原版操作系统,以上设置是默认的(除了禁止自动重新启动)。 对于第4点中的写入调试信息列表内容,现给出以下参照释义:

  (以上三种转储文件的大小依次增大,关于三者的比较不在本文讨论范围之内,笔者仅推荐设置为“小内存转储”或者“核心内存转储”,一般性错误“小内存转储”就足够了,如不能完好分析请选择“核心内存转储”。为了数据的丰富性,您也可以直接选择“核心内存转储”,但笔者强烈不推荐完全内存转储。)

  值得注意的是,为了确保崩溃时自动生成内存转储文件,您可能还须启用虚拟内存页面文件。特别地,当您选择记录核心内存转储时,您必须启用虚拟内存页面文件,而且由于核心内存转储文件的大小取决于该机器上操作系统和所有活动驱动程序已经分配的内核模式内存的数量,因此没有很好的办法来预测内核内存转储的大小。下表仅给出该情况下的参考虚拟内存大小设置值:

  另外,除了页面文件占用的磁盘空间,内存转储文件(*.DMP)的生成位置所在的磁盘还要有足够的空闲空间来提取这个转储文件,否则一样会“生成不了”(实际上是丢失了)。

  设置好这些之后,一旦您的系统发生蓝屏崩溃,系统就会在以上设置中选中的相应内存转储文件类型下对应的目录处生成转储文件。您所要做的就是立刻拿出利器——启动WinDbg进行分析。

  笔者在此将结合一个实例进行详细说明,过程中包含了WinDbg调试蓝屏用到的一些命令,这些命令将不再额外整理,请于阅读过程中注意识记。

  首先,您要配置WinDbg将要使用的调试符号文件(Symbol File)的位置。什么是调试符号文件呢?符号文件随DLL文件或者EXE文件建立时产生,提供包含在可执行文件和动态链接库 (DLL) 中的函数的占位空间。此外,符号文件还可以表示达到失败点的函数调用路线图。当我们使用各种Microsoft工具调试应用程序时,必须拥有符号信息,这样才能正确分析出问题根源。那我们该如何设置调试符号文件的位置呢?我们既可以从微软官网下载完整的符号文件包(同位于WinDbg下载页面),也可以使用微软的符号文件服务器(Microsoft Symbol Server)。笔者推荐后者,因为一次分析所要用到的符号文件局限于有限的几个而已,使用后者可以让程序自动下载,既节省时间,又可以确保符号文件是最新的并且是正确的。在WinDbg中点击“File”菜单,选择“Symbol File Path …”,在打开的对话框中输入

  复制代码

  后点击“OK”按钮即可。当然,还有一步就是再次点击“File”菜单,选择“Save Workspace”来保存当前的设置。

  设置了符号文件之后,您就可以进行内存转储文件的分析了。同样点击“File”菜单,这次要选择“Open Crash Dump …”,然后通过文件打开对话框打开生成的待分析的内存转储文件。本例中设置的是核心内存转储类型,于是应该定位至“%SystemRoot%”(即系统盘Windows文件夹下),打开MEMORY.DMP文件。但是笔者已经事先将其转移至“E:\Memory Dump\MEMORY.DMP”,因此在后续的图片中,您看到的是这个地址。此时WinDbg会滚动显示一些信息并且会稍有挂起的感觉,直到从微软符号文件服务器下载完分析这个崩溃文件所需要的所有符号文件。

  在上图中,我们看到就是这个打开的调试器命令窗口(Debugger Command Window)(已经将符号文件加载完毕,待命),我们先看看位于底部的区域6,这个小的长方条就是WinDbg的命令输入处(Command Entry),它又分为两个区域,左边显示“0: kd>”的是提示区,右边空白区是命令输入区。当刚打开这个窗口而符号文件尚未下载/加载完毕时,提示区域会什么都不显示,而命令输入区域将显示“Debuggee not connected”。直到符号加载完毕,窗口中显示出最后一行“Followup: MachineOwner”才会变为空闲状态。在空闲状态时,它将显示为与上图中类似的模样。为什么说类似呢?因为这个空闲待命提示根据调试类型、计算机处理器硬件配置不同,比如此例中,进行的是内核调试,于是显示“kd>”(kernel debug),系统为多(核)处理器,因此在“kd>”之前还显示一个“0:”,表明当前位于编号为0的处理器。在执行了某个命令之后,如果命令需要处理的任务较多(如“!analyze -v”),提示区域将显示为忙碌状态的“*BUSY*”,一旦显示为这个状态,您不论输入什么命令都不会立即执行,而是等待变为空闲状态时延缓执行。

  如上图所示,图中区域1处将显示打开的这个内存转储文件的物理路经;区域2处显示的则是当前加载的符号文件的位置,本例中表明是从微软服务器下载;区域3共有三行,显示的为系统信息,第一行表明了系统为Windows XP,内核版本为2600(SP3),多处理器(2颗),32位,第二行表明了系统类型为NT系统,客户端系统,第三行表明系统的详细版本标识;区域4共两行,第一行表明该内存转储文件生成的时间,也就是系统崩溃的具体时间,本例中(这是去年12月得到的一个崩溃转储文件,现用作本例进行说明)为星期六(Sat),12月(Dec)27日,22:56:31.062,2008年,格林尼治标准时间东八区(GMT+8),第二行显示的是崩溃时自系统启动以来,系统共运行了0天4小时5分15.797秒。区域5是很关键的错误信息,它的第一行仅在加载符号文件遇到错误时显示,此例中,它告诉我们“对于BaseTDI.SYS文件,模块已经加载完毕但却不能够为其加载符号文件”,如果之前配置了正确的符号文件路径,这就告诉我们BaseTDI.SYS不是微软公司的文件,而是第三方驱动程序文件,这很可能是引起错误的原因,值得关注但须进一步分析。区域5的第二行是WinDbg自动分析的结果,它告诉我们,引起崩溃的原因(Probably caused by:)很可能是HookUrl.sys文件。一般情况下,这就是引起错误的罪魁祸首了,但是也有不少的例外,最典型的就是显示一个微软自己的文件在此处,您可要注意了,为了避免枉杀无辜,最好进一步分析来看看都有哪些模块牵扯在崩溃的最后一刻,这样就能够保证审判无误了!进一步分析的命令可以从“!analyze -v”开始。

  我们既可以在命令输入区域手动键入命令

  !analyze -v

  复制代码

  ,也可以在上图中的区域7所示位置单击蓝色的这个命令。之后,提示区域将显示为“*BUSY*”,WinDbg将分析一段时间直到将结果显示完毕并再次转为空闲状态。下面我们根据一张例图阐释执行“!analyze -v”后显示的各种结果:

  WinDbg经过自动的分析,可能会显示上图中区域1处所示第一行的错误检查说明(Bug Check Interpretation),而第二行则给出了详细的解释,从图中信息看得出,此例错误由于“驱动程序在队列工作项目完成之前卸载”造成的。这个“DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS”就应该是显示在蓝屏上方的错误说明字样,后面的Arguments1~4就是蓝屏时停止代码后面的四个参数。图中区域2所示的BUGCHECK_STR是WinDbg中分了类别的错误检查(Bug Check)的一项,此例中为0xCE,也是停止代码的分类简写,我们在命令输入区执行

  .bugcheck

  复制代码

  命令,可以得到停止代码及其参数,这和上图的区域1、蓝屏上的信息是一致的。本例中可以得到如下结果:

  0: kd> .bugcheck

  Bugcheck code 000000CE

  Arguments bacb0a4e 00000008 bacb0a4e 00000000

  我们在Bugcheck code值前补上“0x”就可以得到蓝屏上的信息“***STOP: 0x000000CE (bacb0a4e, 00000008, bacb0a4e, 00000000)”。当然,关于这个错误如果您想了解更多,一个是可以在微软在线帮助和支持网站上搜索字符串“0x000000CE”,再就是可以利用上图中区域2的BUGCHECK_STR值“0xCE”执行

  .hh bug check 0xCE

  复制代码

  命令,在打开的窗口左栏右下角点击“Display”按钮。如果要在WinDbg中显示一个停止代码或者错误检查类的详细说明(以此错误为例),键入命令

  !analyze -show 0x000000CE

  复制代码

  或者

  !analyze -show 000000CE

  复制代码

  ,也可以是

  !analyze -show 0xCE

  复制代码

  。区域3中显示的就是二审判决的重要信息——线程堆栈信息。特别注意红色框内的部分,第一行是“WARNING: Frame IP not in any known module. Following frames may be wrong.”意思就是“警告:堆栈帧IP(InstructionPtr,仅x86处理器,用于决定帧的堆栈回朔的指令指针)不存在于任何已知的模块中,下面的帧可能出现错误”。这个意思的解释已超出本文讨论范围,笔者仅告诉大家,这行文字下面的一行右侧的模块是系统蓝屏崩溃时刻使用的最后一个模块(除了Windows内核最后调用KeBugCheckEx牺牲自己,就是警告文字上方的三行),往往就是它引起了崩溃!我们来细看。大家如果了解了堆栈的数据结构或是Windows内存分配机制就应该知道,Windows为 线程分配额外内存时是从高地指向低地址进行的,就是说,蓝色区域3中的堆栈信息我们得倒过来由下往上看,这样才是系统崩溃之前的一刻内核态函数的调用和传递情况,比如此例,系统内核执行体(nt!,即Ntoskrnl.exe)通过函数IopfCallDriver调用了BaseTDI,然后BaseTDI又调用了HookUrl.sys(Unloaded_字样表示未加载),再然后就蓝屏了。那么在这最后一刻就涉及到了两个非Windows内核的模块——BaseTDI以及HookUrl.sys。之所以要进行这个“二审判决”,就是要避免一种情况——万一HookUrl.sys与BaseTDI是来自两个公司或者两个软件的模块,而最后加载的HookUrl.sys是没有问题的,出错是因为BaseTDI给HookUrl.sys传递了格式错误或者已被破坏的、或者非法的参数信息,HookUrl.sys接受此无效数据而引发了崩溃。如果我们不看线程栈,就根据之前的“Probably Cause by:HookUrl.sys”进行判决,我们很有可能枉杀无辜而让凶手逍遥法外。只有通过线程栈我们才能发现另一个驱动程序BaseTDI也被牵连进来。(在应用程序崩溃不致系统崩溃的调试分析中,由于处于用户态,WinDbg自动分析结果中的“Probably Cause by:”几乎都是错误的。在这种情况下,使用!thread命令是不能显示出任何信息的,因为这个命令仅对内核态的崩溃调试有效,然而kb命令也显示不出有用的信息,只有用“~*kb”来显示详细的全部线程栈才可能发现问题根源,有的时候还需配合其他命令,本文不作讨论)

  当然,如果您熟练以后,觉得没有必要使用“!analyze -v”命令的话,可以直接使用

  !thread

  复制代码

  或者

  kb

  复制代码

  命令显示出核心的线程栈信息来二审判决。现在好了,犯罪嫌疑人目标锁定在BaseTDI和HookUrl.sys身上。现在,我们来看看它们究竟是什么、是哪个公司、哪个程序的模块。(从之前不能够自动从微软服务器为他们加载符号文件就可以知道,它们一定都是第三方驱动程序)

  使用命令

  lm kv m Basetdi*

  复制代码

  (使用lm(列出模块)命令和内核k选项、详细v选项以及参数m,配合包含通配符*的字符串BaseTDI,来列出当时已加载于内核模式的包含字符BaseTDI的所有驱动文件详细信息。使用通配符来取代完整的文件名后缀可以避免信息的局限性,借此也许可以发现多个相关的模块以提供更多诊断线索),我们得到下图结果:

  从图中蓝色框选部分,我们可以看出,当时内核态下只有一个叫BaseTDI.SYS的文件,这个文件的路径位于System32\Drivers下,属于名称为“瑞星个人防火墙”(ProductName: Rising PFW, PFW=Personal Firewall)的程序组件,软件公司注册商标为“瑞星”(LegalTrademarks: RISING)。文件的这些英文描述信息如果您不知道,可以百度一下。当然,没有被笔者高亮显示的信息(如文件时间戳、版本、校验和等等)也是非常有用的,比如百度一下文件版本,也许您会发现该软件已经提供了更新的解决此问题的文件。同样,我们使用

  lm kv m hookurl*

  复制代码

  来显示当时内核态下包含HookUrl的文件及其详细信息。结果如下:

  图示是一个不令人满意的结果,因为如高亮部分所示,这个模块未被加载,因此没有信息被记录。不过我们有百度,不用急,百度一下你就知道。在搜索完HookUrl.sys之后,发现这个也是瑞星个人防火墙的文件。其实这个案例就是著名的“瑞星个人防火墙跨版本升级到2009版时引发蓝屏”事件。您可以通过关键字“瑞星防火墙2009升级造成蓝屏”进行百度搜索。到目前为止,瑞星官方都没有任何针对此事件的正式答复,虽然不是每个用户都出现此问题,但是非常多的用户都报告了此问题,瑞星也不承认这个是软件缺陷,只有官方卡卡论坛上有一个不知道是不是工作人员的人发帖要求大家遇到蓝屏就上传内存转储文件。说到这里,我对瑞星又要失望了,但是通过这个可见蓝屏内存转储文件的分析是多么的有用!

  在这里,我还要给出两个要得到更多信息时可能会使用到的命令,一个是

  !process 0 0

  复制代码

  ,它可以列出当时运行着的所有进程的技术信息;另一个则是

  !vm

  复制代码

  ,它能够显示出当时的虚拟内存使用情况,这对于分析系统是否耗尽了虚拟内存、换页内存池或非换页内存池,并结合进程列表找到可能的内存泄漏错误非常有用,不过已超出了本文的讨论范围。

  最后,我们来看看以下的两种特殊情况该如何使用WinDbg进行调试分析:

  第一种情况是系统挂起,也就是“死机”、“系统没有响应”,在这种情况下,系统是根本无法自动生成内存转储文件的,而且您也不可能操作本地软件来查明是什么挂起了系统,这个时候我们需要手动让系统崩溃,以生成内存转储文件。具体做法为,在系统挂起之前,打开注册表编辑器并定位至

  HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\i8042prt\Parameters

  复制代码

  ,在该项下面建立一个名为

  CrashOnCtrlScroll

  复制代码

  的DWORD类型键值(注意大小写),并将其设置为1,然后重新启动应用此更改。一旦系统挂起,就可以通过按住右边Ctrl键的同时击ScrollLock键两次来生成一个停止代码为0x000000E2(MANUALLY_INITIATED_CRASH)的手动崩溃。得到内存转储文件以后按照上面的方法分析。注意,此方法对插入USB口的USB键盘无效。(笔记本计算机键盘很多都是通过PS/2接口连接的,因此有效)

  第二种情况是进不了系统就自动崩溃,无法提取出内存转储文件。这种情形以及当有特定的需要时,我们都可以采取双机调试的方法。我们将发生崩溃的机器称为“目标机”,将用来连接到“目标机”进行调试的机器称为“调试主机”,调试主机必须安装有WinDbg。

  首先,我们需要在两台机器间建立连接,在新版的WinDbg中,这里一共有三种方式连接到目标机。第一种方式为通过COM端口连接,使用零调制解调器线缆(Null-Modem),也就是COM对接线——两个头都是孔的RS232线;第二种是利用IEEE 1394线缆连接,但是这种连接要求两台机器运行相同版本的至少为Windows XP的系统;第三种方式是使用特制的USB 2.0调试线缆连接,这不是普通的USB连接线,是一种内置硬件芯片来支持调试的线缆,而且这种方式要求目标机运行的系统至少为Windows Vista。使用这三种连接方式进行双机调试都需要在目标机上作出相应的设置调整,具体参见WinDbg帮助文件,这里仅讨论第一种连接方式的设置,因为这是XP及以上系统默认支持的最简单的方式。此时我们假设已经使用COM线缆连接好了两台机器。

  其次,在调试主机上启动WinDbg,配制好符号文件之后,我们展开“File”菜单,选择“Kernal Debug…”,这将会打开如下的“Kernal Debugging”对话框:

  默认打开的就是COM连接方式的配置页面。这里的“Baud Rate(传输速率)”以及“Port(端口)”需要根据下一个步骤的操作方式来配置。

  最后一步,我们可以启动目标机,在引导Windows之前按下F8,在启动菜单中选择“调试模式”,这样,传输速率被系统默认设为19200,端口也默认被设为COM2,因此上一步骤中应该照此设置后点击“OK”。关于XP修改Boot.ini、Vista修改Bootcfg的方式启用指定端口、传输速率的调试,请参见WinDbg帮助文件,在此不再赘述。目标机一起动Windows,位于调试主机的WinDbg就能够有信息的显示,然后按照本文介绍的方法进行调试。另外,对于上面提到的系统挂起的情况,也可以采用这种双机调试,并且有新的命令

  .crash

  复制代码

  强迫目标机在它的本地硬盘驱动器中生成一个崩溃转储,当系统重新引导以后就可以提取此转储,当然,也可以使用

  .dump /m COM.dmp

  复制代码

  命令,在调试主机WinDbg所在目录下生成一个名叫“COM.dmp”的小内存转储文件(命令中的文件名可以改成其它的)。
预防电脑蓝屏的九个小技巧
  1 定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。

  2 尽量避免非正常关机,减少重要文件的丢失。如.VxD .DLL文件等。

  3 对普通用户而言,只要能正常运行,没有必要去升级显卡、主板的BIOS和驱动程序,避免升级造成的危害。

  4 定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。检查步骤参见前面相关介绍。

  5 减少无用软件的安装,尽量不用手工卸载或删除程序,以减少非法替换文件和文件指向错误的出现。

  6 如果不是内存特别大和其管理程序非常优秀,尽量避免大程序的同时运行,如果你发现在听MP3时有沙沙拉拉的声音,基本可以判定该故障是由内存不足而造成的。

  7 定期用杀毒软件进行全盘扫描,清除病毒。

  8 不上一些不熟悉的网站,对于一些网站上的带有诱惑性的图片和一些中奖的消息,不要点击。

  9 定期升级操作系统,软件和驱动。
警惕温柔杀手导致电脑蓝屏
  “温柔杀手”病毒首先在系统中释放病毒执行程序C:\WINDOWS\system32\kb.dll,然后再感染若干个系统关键文件,比如"explorer.exe","winlogon.exe"。并且,因为温柔杀手病毒还会下载更多盗号木马,导致系统被大量病毒木马破坏,使得针对“温柔杀手”病毒的修复变得较为复杂。若被某些杀毒软件不当处置,则会出现电脑开机蓝屏。

电脑中毒其他现象

  电脑速度反应很卡,打开任务管理器发现里面有不少可疑进程。

  浏览器主页被锁定为某个网址导航站,而且还无法手动删除

  桌面上创建若干个流氓垃圾图标,并且经常会弹出一些中奖、彩票之类的钓鱼欺诈网站

  网游玩家还会发现多个主流游戏帐号(针对的游戏有《天龙八部》、《剑网3》、《QQ地下城与勇士》、《穿越火线》《魔兽世界》等)等被盗。
处理方法
  Windows 2K/XP蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时, 应先对照这些方案进行排除.
  1.重启
  有时只是某个程序或驱动程序一时犯错, 重启后他们会改过自新.(注意:此时参见7.查询停机码)
  2.新硬件
  首先, 应该检查新硬件是否插牢, 这个被许多人忽视的问题往往会引发许多莫名其妙的故障. 如果确认没有问题, 将其拔下, 然后换个插槽试试, 并安装最新的驱动程序. 同时还应对照微软网站的硬件兼容类别检查一下硬件是否与操作系统兼容. 如果你的硬件没有在表中, 那么就得到硬件厂商网站进行查询, 或者拨打他们的咨询电话.
  3.新驱动和新服务
  如果刚安装完某个硬件的新驱动, 或安装了某个软件, 而它又在系统服务中添加了相应项目(比如:杀毒软件、CPU降温软件、防火墙软件等), 在重启或使用中出现了蓝屏故障, 请到安全模式来卸载或禁用它们.
  4.检查BIOS和硬件兼容性
  对于新装的电脑经常出现蓝屏问题, 应该检查并升级BIOS到最新版本, 同时关闭其中的内存相关项, 比如:缓存和映射. 另外 还应该对照微软的硬件兼容列表检查自己的硬件. 还有就是, 如果主板BIOS无法支持大容量硬盘也会导致蓝屏, 需要对其进行升级.
  6、运行“sfc /scannow”来检查系统文件是否被替换,然后用系统安装盘来恢复.
  7.最后一次正确配置
  一般情况下, 蓝屏都是在硬件驱动或新加硬件并安装驱动后, 这时Windows 2K/XP提供的"最后一次正确配置"就是解决蓝屏的快捷方式. 重启系统, 在出现启动菜单时按下F8键就会出现高级启动选项菜单, 接着选择"最后一次正确配置".
       8.安装新的驱动程序

      有些蓝屏是驱动程序过老造成的
代码含义和解决方案  使用windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的来源而频繁重新安装系统,劳神费时。下列收集了一些windows死机密码,供大家参考。
  1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL
  ◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中有级别进程请求(IRQL)访问其没有权限访问的内存地址.
  ◇解决方案:请用前面介绍的解决方案中的2、3、5、8、9方案尝试排除.
  2、0x00000012:TRAP_CAUSE_UNKNOWN
  ◆错误分析:如果遇到这个错误信息, 那么很不幸, 应为KeBudCheck分析的结果是错误原因
  未知.
  ◇解决方案:既然微软都帮不上忙, 就得靠自己了, 请仔细回想这个错误是什么时候出现的; 第一次发生时你对系统做了哪些操作; 发生时正在进行什么操作. 从这些信息中找出可能的原因, 从而选择相应解决方案尝试排除.
  3、0x0000001A:MEMORY_MANAGEMENT
  ◆错误分析:这个内存管理错误往往是由硬件引起的, 比如: 新安装的硬件、内存本身有问题等.
  ◇解决方案:如果是在安装Windows时出现, 有可能是由于你的电脑达不到安装Windows的最小内存和磁盘要求.
  4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED
  ◆错误分析:Windows内核检查到一个非法或者未知的进程指令,这个停机码一般是由问题的内存或是与前面0x0000000A相似的原因造成的.
  ◇解决方案:
  (1)硬件兼容有问题:请对照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在该列表中.
  (2)有问题的设备驱动、系统服务或内存冲突和中断冲突: 如果在蓝屏信息中出现了驱动程序的名字, 请试着在安装模式或者故障恢复控制台中禁用或删除驱动程序, 并禁用所有刚安装的驱动和软件. 如果错误出现在系统启动过程中, 请进入安全模式, 将蓝屏信息中所标明的文件重命名或者删除.
  (3)如果错误信息中明确指出Win32K.sys: 很有可能是第三方远程控制软件造成的, 需要从故障恢复控制台中将对该软件的服务关闭.
  (4)在安装Windows后第一次重启时出现:最大嫌疑可能时系统分区的磁盘空间不足或BIOS兼容有问题.
  (5)如果是在关闭某个软件时出现的:很有可能时软件本生存在设计缺陷, 请升级或卸载它.
  5、0x00000023:FAT_FILE_SYSTEM
  0x00000024:NTFS_FILE_SYSTEM
  ◆错误分析:0x00000023通常发生在读写FAT16或者FAT32文件系统的系统分区时, 而0x00000024则是由于NTFS.sys文件出现错误(这个驱动文件的作用是容许系统读写使用 .(NTFS文件系统的磁盘). 这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(IRP)损坏而导致的. 其他原因还包括:硬盘磁盘碎片过多; 文件读写操作过于频繁, 并且数据量非常大或者是由于一些磁盘镜像软件或杀毒软件引起的.
  ◇解决方案:
  第一步:首先打开命令行提示符, 运行"Chkdsk /r"(注:不是CHKDISK, 感觉象这个, 但是它们所指的内容是不一样的)命令检查并修复硬盘错误, 如果报告存在坏道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复.
  第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具.
  第三步:右击C:\winnt\system32\drivers\fastfat.sys文件并选择"属性", 查看其版本是否与当前系统所使用的Windows版本相符合.(注:如果是XP, 应该是C:\windows\system32\drivers\fastfat.sys)
  第四步:安装最新的主板驱动程序, 特别IDE驱动. 如果你的光驱、可移动存储器也提供有驱动程序, 最好将它们升级至最新版.
  6、0x00000027:RDR_FILE_SYSTEM
  ◆错误分析:这个错误产生的原因很难判断, 不过Windows内存管理出了问题很可能会导致这个停机码的出现.
  ◇解决方案:如果是内存管理的缘故, 通常增加内存会解决问题.
  7、0x0000002EATA_BUS_ERROR
  ◆错误分析:系统内存存储器奇偶校验产生错误, 通常是因为有缺陷的内存(包括物理内存、二级缓存或者显卡显存)时设备驱动程序访问不存在的内存地址等原因引起的. 另外, 硬盘被病毒或者其他问题所损伤, 以出现这个停机码.
  ◇解决方案:
  (1)检查病毒
  (2)使用"chkdsk /r"命令检查所有磁盘分区.
  (3)用Memtest86等内存测试软件检查内存.
  (4)检查硬件是否正确安装, 比如:是否牢固、金手指是否有污渍.
  8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS
  ◆错误分析:从字面上理解, 应该时驱动程序或某些软件出现堆栈问题. 其实这个故障的真正原因应该时驱动程序本生存在问题, 或是内存有质量问题.
  ◇解决方案:请使用前面介绍的常规解决方案中与驱动程序和内存相关的方案进行排除.
  9、0x0000003F:NO_MORE_SYSTEM_PTES
  ◆错误分析:一个与系统内存管理相关的错误, 比如:由于执行了大量的输入/输出操作, 造成内存管理出现问题: 有缺陷的驱动程序不正确地使用内存资源; 某个应用程序(比如:备份软件)被分配了大量的内核内存等.
  ◇解决方案:卸载所有最新安装的软件(特别是哪些增强磁盘性能的应用程序和杀毒软件)和驱动程序.
  10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS
  ◆错误分析:通常是由硬件驱动程序引起的.
  ◇解决方案:卸载最近安装的驱动程序. 这个故障很少出现, 目前已经知道的是, 在使用 www.in-system.com/这家公司的某些软件时会出现, 其中的罪魁就是Falstaff.sys文件.(作者难道不怕吃官司嘛, 把公司网址公布)
  11、0x00000050: PAGE_FAULT_IN_NONPAGED+AREA
  ◆错误分析:有问题的内存(包括物理内存、二级缓存、显存)、不兼容的软件(主要是远程控制和杀毒软件)、损坏的NTFS卷以及有问题的硬件(比如: PCI插卡本身已损坏)等都会引发这个错误.
  ◇解决方案:请使用前面介绍的常规解决方案中与内存、软件、硬件、硬盘等相关的方案进行排除.
  12、0x00000051:REGISTRY_ERROR
  ◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误.
  ◇解决方案:使用"chkdsk /r"检查并修复磁盘错误.
  13、0x00000058:FTDISK_INTERNAL_ERROR
  ◆错误分析:说明在容错集的主驱动发生错误. ?
  ◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试"最后一次正确配置"进行解决.
  14、0x0000005E:CRITICAL_SERVICE_FAILED
  ◆错误分析:某个非常重要的系统服务启动识别造成的.
  ◇解决方案:如果是在安装了某个新硬件后出新的, 可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用"最后一次正确配置"来启动Windows, 如果这样还是失败, 建议进行修复安装或是重装.
  15、0x0000006F:SESSION3_INITIALIZATION-FAILED
  ◆错误分析:这个错误通常出现在Windows启动时, 一般是由有问题的驱动程序或损坏的系统文件引起的.
  ◇解决方案:建议使用Windows安装光盘对系统进行修复安装.
  16、0x00000076ROCESS_HAS_LOCKED_PAGES
  ◆错误分析:通常是因为某个驱动程序在完成了一次输入/输出操作后, 没有正确释放所占有的内存
  ◇解决方案:
  第一步:点击开始-->运行:regedt32, 找到[HKLM\SYSTEM\Currentcontrol set\control\session manager\memory management], 在右侧新建双字节值"TrackLockedPages", 值为1. 这样Windows便会在错误再次出现时跟踪到是哪个驱动程序的问题.第二步:如果再次出现蓝屏, 那么错误信息会变成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四个"0xY"会显示为问题驱动程序的名字, 接着对其进行更新或删除.第三步:进入注册表, 删除添加的"TrackLockedPages".
  17、0x00000077:KERNEL_STACK_INPAGE_ERROR
  ◆错误分析:说明需要使用的内核数据没有在虚拟内存或物理内存中找到. 这个错误常常是磁盘有问题, 相应数据损坏或受到病毒侵蚀.
  ◇解决方案:使用杀毒软件扫描系统; 使用"chkdsk /r"命令检查并修复磁盘错误, 如不行则使用磁盘厂商提供的工具检查修复.
  18、0x0000007A:KERNEL_DATA_INPAGE_ERROR
  ◆错误分析:这个错误往往是虚拟内存中的内核数据无法读入内存造成的. 原因可能是虚拟内存页面文件中存在坏簇病毒、磁盘控制器出错、内存有问题.
  ◇解决方案:首先用升级为最新病毒库杀毒软件查杀病毒, 如果信息中还有0xC000009C或0xC000016A代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入"故障恢复控制台", 用"chkdsk /r"命令进行手动修复.
  19、0x0000007B:INACESSIBLE_BOOT_DEVICE
  ◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的IDE控制器使用了不同芯片组造成的. 有时也可能是病毒或硬盘损伤所引起的.
  ◇解决方案:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题. 对于病毒则可使用DOS版的杀毒软件进行查杀(有kv2005DOS版下载). 如果是硬盘本身存在问题, 请将其安装到其他电脑中, 然后使用"chkdsk /r"来检查并修复磁盘错误.
  20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
  ◆错误分析:系统进程产生错误, 但Windows错误处理器无法捕获. 其产生原因很多, 包括:硬件兼容性、有问题的驱动程序或系统服务、 或者是某些软件.
  ◇解决方案:请使用"事件查看器"来获取更多的信息, 从中发现错误根源.(发现好像不是解决哦, 看来这里大家要自力更生了!)
  21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP
  ◆错误分析:一般是由于有问题的硬件(比如:内存)或某些软件引起的. 有时超频也会产生这个错误.
  ◇解决方案:用检测软件(比如:Memtest86)检查内存, 如果进行了超频, 请取消超频. 将PCI硬件插卡从主板插槽拔下来, 或更换插槽. 另外, 有些主板(比如:nForce2主板)在进行超频后, 南桥芯片过热也会导致蓝屏, 此时为该芯片单独增加散热片往往可以有效解决问题.
  22、0x00000080:NMI_HARDWARE_FAILURE
  ◆错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘)
  ◇解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本; 检查内存金手指是否有污染和损坏; 扫描病毒; 运行"chkdsk /r"检查并修复磁盘错误; 检查所有硬件插卡已经插牢. 如果以上尝试都无效果, 就得找专业的电脑维修公司请求帮助了.
  23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED
  ◆错误分析:内核级应用程序产生了错误, 但Windows错误处理器没有捕获. 通常是硬件兼容性错误.
  ◇解决方案:升级驱动程序或升级BIOS.
  24、0x0000009C:MACHINE_CHECK_EXCEPTION
  ◆错误分析:通常是硬件引起的. 一般是因为超频或是硬件存在问题(内存、CPU、总线、电
  源).
  ◇解决方案:如果进行了超频, 请降下CPU原来频率, 检查硬件.
  25、0x0000009FRIVER_POWER_STATE_FAILURE
  ◆错误分析:往往与电源有关系, 常常发生在与电源相关的操作, 比如:关机、待机或休睡.
  ◇解决方案:重装系统, 如果不能解决, 请更换电源.
  26、0x000000A5:ACPI_BIOS_ERROR
  ◆错误分析:通常是因为主板BIOS不能全面支持ACPI规范.
  ◇解决方案:如果没有相应BIOS升级, 那么可在安装Windows 2K/XP时, 当出现"press F6 if you need to install a third-party SCSI or RAID driver"提示时, 按下F7键, 这样Windows便会自动禁止安装ACPI HAL, 而安装 Standard PC HAL.
  27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE
  ◆错误分析:这个停止信息表示Windows因为不能启动显卡驱动, 从而无法进入图形界面. 通常是显卡的问题, 或者是存在与显卡的硬件冲突(比如:与并行或串行端口冲突).
  ◇解决方案:进入安全模式查看问题是否解决, 如果可以, 请升级最新的显卡驱动程序, 如果还不行, 则很可能是显卡与并行端口存在冲突, 需要在安全模式按下WIN+break组合键打开"系统属性", 在硬件-->设备管理器中找到并双击连接打印的LPT1端口的选项, 在"资源"选项卡中取消"使用自动配置"的勾选, 然后将"输入/输出范围"的"03BC"改为"0378".
  28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY
  ◆错误分析:某个驱动程序试图向只读内存写入数据造成的. 通常是在安装了新的驱动程序, 系统服务或升级了设备的固件程序后.
  ◇解决方案:如果在错误信息中包含有驱动程序或者服务文件名称, 请根据这个信息将新安装的驱动程序或软件卸载或禁用.
  29、0x000000C2:BAD_POOL_CALLER
  ◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作. 通常是驱动程序或存在BUG的软件造成的.
  ◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.
  30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
  ◆错误分析:通常是由有问题的驱动程序或系统服务造成的.
  ◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.
  31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL
  ◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、 损坏的虚拟内存文件、 某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误.
  ◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现"acpi.sys"等类似文件名, 可以非常肯定是驱动程序问题)和软件; 测试内存是否存在问题; 进入"故障恢复控制台", 转到虚拟内存页面文件Pagefile.sys所在分区, 执行"del pagefile.sys"命令, 将页面文件删除; 然后在页面文件所在分区执行"chkdsk /r"命令;进入Windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载), 那么应该是网卡驱动的问题, 需要升级其驱动程序.
  32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER
  ◆错误分析:通常是由显卡或显卡驱动程序引发的.
  ◇解决方案:先升级最新的显卡驱动, 如果不行, 则需要更换显卡测试故障是否依然发生.
  33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME
  ◆错误分析:一般是由于磁盘存在错误导致的, 有时也建议检查硬盘连线是否接触不良, 或是没有使用合乎该硬盘传输规格的连接线, 例如ATA-100仍使用ATA-33的连接线, 对低速硬盘无所谓, 但告诉硬盘(支持ATA-66以上)的要求较严格, 规格不对的连线有时也会引起这类没办法开机的故障. 如果在修复后, 还是经常出现这个错误, 很可能是硬盘损坏的前兆.
  ◇解决方案:一般情况下, 重启会解决问题, 不管怎么样都建议执行"chkdsk /r"命令来检查修复硬盘
  34、0x000000F2:HARDWARE)INTERRUPT_STORM
  ◆错误分析:内核层检查到系统出现中断风暴, 比如:某个设备在完成操作后没有释放所占用的中断. 通常这是由缺陷的驱动程序造成的.
  ◇解决方案:升级或卸载最新安装的硬件驱动程序.
  35、0x00000135:UNABLE_TO_LOCATE_DLL
  ◆错误分析:通常表示某个文件丢失或已经损坏, 或者是注册表出现错误.
  ◇解决方案:如果是文件丢失或损坏, 在蓝屏信息中通常会显示相应的文件名, 你可以通过网络或是其他电脑找到相应的文件, 并将其复制到系统文件夹下的SYSTEM32子文件夹中. 如果没有显示文件名, 那就很有可能是注册表损坏, 请利用系统还原或是以前的注册表备份进行恢复.
  36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED
  ◆错误分析:用户模式子系统, 例如Winlogon或客服服务运行时子系统(CSRSS)已损坏, 所以无法再保证安全性, 导致系统无法启动. 有时, 当系统管理员错误地修改了用户帐号权限, 导致其无法访问系统文件和文件夹.
  ◇解决方案:使用"最后一次正确的配置", 如果无效, 可使用安装光盘进行修复安装.
  37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH
  ◆错误分析:通常是由于驱动程序或系统DLL文件损坏造成的. 一般情况下, 在蓝屏中会出现
  文件名称
  ◇解决方案:
  (1)使用Windows安装光盘进行修复安装;
  (2)如果还能进入安全模式, 可以"开始-->运行": sfc /scannow
  (3)还可以采用提取文件的方法来解决, 进入"故障恢复控制台", 使用copy或expand命令从光盘中复制或解压受损的文件. 不过, 蓝屏一般都是驱动程序文件的问题, 所以expand命令会用的都一些, 比如:蓝屏中提示tdi.sys文件, 因为驱动文件一般在i386\driver压缩包里, 所以使用: expand %CDROM:\i386\driver.cab \f:tdi.sys c:\winnt\system\drivers.(xp为expand %CDROM:\i386\driver.cab \f:tdi.sys c:\windowns\system\drivers)
   xp关机蓝屏分析大全  1.Windows XP系统Bug导致关机蓝屏
  Windows XP有一个关机故障的Bug,如果你的计算机在关机过程中时常出现关机蓝屏,而且该故障是间歇性的,按下“Ctrl+Alt+Delete”键也毫无反应,那么可以肯定你的系统还没有打上相应的补丁。请下载SP1补丁包打上补丁,一般就可以了。
  2.声卡驱动导致关机蓝屏
  如果你使用的是创新声卡,并且在关机过程中出现蓝屏,错误码是“0X0000000A”,那么,请进入设备管理器,将声卡删除,刷新后,手动安装最新的带有数字签名的驱动程序。
  3.罗技鼠标、键盘不完善导致关机蓝屏
  如果你使用的是罗技的网络键盘,并且安装了KeyCommander软件来驱动键盘相应的网络功能,则有可能造成关机变成重启故障。如果你的罗技鼠标的驱动程序是MouseWare8.6,则会造成关机蓝屏故障,你只有卸载该驱动才能解决问题。>>蓝屏代码0x000000D1
  4.Windows XP SP2漏洞蓝屏
  这个漏洞曾在2004年12月份报道过,它同时会影响到Windows Server 2003以及Windows XP Tablet PC Edition 2005。在某些情况下,安装第三方杀毒软件或防火墙时,Windows不能指定制作者或包装商的标题,导致生成读"Stop 0x05 (INVALID_PROCESS_ATTACH_ATTEMPT)" 错误,使到OS进入到蓝屏状态。下载微软补丁可以解决。 北桥散热不良导致蓝屏  死机现象:一台使用中的电脑,近期出现频繁死机的现象。刚开始以为是感染病毒,经查杀后未发现任何病毒。又认为是硬盘碎片过多,导致系统不稳定。但整理硬盘碎片后仍然没有解决问题。无奈之下,格式化系统盘,重新安装了系 统,但问题仍旧没有解决,严重影响了日常工作。
  死机分析:重装系统后故障未排除,看样子是硬件出现了问题。刚开始怀疑内存故障。但更换内存条之后故障仍然没有解决。那问题到底出现在哪儿呢?通过仔细分析,既然内存没有问题,主板出现故障的可能性最大。
  于是利用替换法,更换主板后,打开电脑进行测试,故障消失,看来问题的根源就出现在这块主板上。这是一块杂牌的865PE芯片组主板,主板的用料做工相当一般。仔细检查,发现主板上的电容并没有击穿的现象,整个PCB板上也没有留下烧过的痕迹,那么到底是主板哪个部位出现问题。于是重新将主板清理之后再次装入电脑接入各种设备。开机后半个时又出现了死机的现象,这时用手触摸主板北桥芯片上的散热片,发现非常烫手,看来问题是出现这上面了。
  于是购买了一块带有风扇的散热器,经过一番折腾后,终于更换完毕,并将更换下来的北桥散热片安装在了南桥芯片上。(杂牌的主板南桥芯片完全裸露在外面,没有安装任何的散热片。)开始后经过一番测试,故障完全排除,后通过仔细分析,才明白了这次故障的原因。原来机器是在冬季配的,温度较低并没有产生太大的影响,然后入夏后问题就暴露出来了。
  问题总结:出现这类问题,一般情况下都会先去考虑内存条。然而由于主板Cache有问题或主板设计散热不良引起也容易出现频繁死机的现象。笔者在某品牌845PE主板上就曾发现因主板散热不够好而导致该故障。在死机后触摸CPU周围主板元件,发现其温度非常高且烫手。更换大功率风扇后,死机故障得以解决。对于Cache有问题的故障,可以进入CMOS设置程序,将Cache禁止后即可顺利解决问题,当然,Cache禁止后速度那就肯定会有影响了。 部分电脑安装XP SP3蓝屏的解决方案  XP SP3已经发布多时,但是,如果你打算使用具有AMD CPU的HP/Compaq电脑安装XP SP3的话,当心遭遇蓝屏死机(BSoD,blue screen of death),然而,解决的办法似乎就是不停的重启。
  HP于近日公布了一个解决方法,很简单,只要更改一个文件名即可,简而言之就是4步:
  1. 启动计算机时,按F8键,进入安全模式;
  2. 找到这个位置:C:\Windows\System32\Drivers,定位到intelppm.sys文件;
  3. 将其重命名,如:XXXintelppm.syx;
  4. 重启。
原因分析
 

 

一、软件引起的电脑蓝屏故障
1.重要文件损坏或丢失引起的蓝屏故障(包括病毒所致)。
实例:Win98中的VxD(虚拟设备驱动程序)或是.DLL动态连接库之类的重要文件丢失,情况一般会比较严重,会出现“蓝屏警告”。
解决方法一:记下所丢失或损坏的文件名用Win98启动盘中的“Ext”命令从Win98安装盘中提取和恢复被损坏或丢失的文件,步骤如下:
(1)用Win98启动盘引导计算机,在提示符下敲入“Ext”命令。
(2)在提示“Please enter the path to the Windows CAB files( a):”后输入Win98安装压缩包所在的完整路径,如“F\Pwin98\Win98”,完成后回车。
(3)在提示“Please enter the name(s)of the file(s) you want to extract:”后输入你记下的丢失文件名,如“Bios.Vxd”,回车。
(4)在解压路径提示“Please enter path to extract to(‘Enter’ for current directory):”后输入文件将被解压到的完整路径,如“C \Windows\System”并敲回车。
(5)最后出现确认提示“Is this Ok?(y/n):”,输入“y”后回车。“Ext”程序会自动查找安装盘中的CAB压缩包,并将文件释放到指定的位置。
(6)重新启动即可。
解决方法二:用杀毒软件杀毒。有的病毒可能会破坏注册表项杀毒后注册表应恢复中毒之前的备份。
解决方法三:如果能启动图形界面,可以采取重装主板以及显卡的驱动程序,和进行“系统文件扫描”来恢复被破坏或丢失的文件。“系统文件扫描”的方法为单击“开始/程序/附件/系统工具/系统信息/工具/系统文件检查器”,然后扫描改动过的文件即可。
2.注册表损坏导致文件指向错误所引起的蓝屏。
实例:注册表的擅自改动(包括人为地改动和软件安装时的自动替换)其现象表现为开机或是在调用程序时出现蓝屏,并且屏幕有出错信息显示(包含出错的文件名)。
解决方法一:恢复备份。
(1)单击“开始/关机/重新启动计算机并切换到MS-DOS方式”,然后单击“是”;
(2)进入Windows目录下。例如,如果你的Windows安装在“C\Windows” 目录下,应键入以下内容“CD C\WINDOWS”后回车;
(3)键入“SCANREG\RESTORE”后回车。
(4)按照上述步骤,可以将注册表恢复到最近一次启动计算机时的状态。
解决方法二:删除键值。
如果是在卸载程序后出现蓝屏的话,笔者断定故障是由于程序卸载不完善造成的。解决这类问题非常简单,首先你要记下出错的文件名,然后再到注册表中找到以下分支“HKEY_LOCAL_MACHINE\System
\CurrentControlSet\Services\VxD”。在“查找”中输入刚才的文件名,把查到的键值删除即可。此时,千万不要忘记备份注册表哦!
典型案例:笔者在删除金山毒霸时中途死机,重新启动后刚看到桌面的图标就出现蓝屏,并伴有错误信息出现。错误信息中提到Kavkrnl.vxd文件找不到,笔者首先根据文件名的前两个字符确定该文件不是Win98的系统文件,ka开头的应是金山毒霸的虚拟设备驱动程序。基本判断为文件指向错误,于是决定删除它在注册表中相应键值。在注册表编辑器的查找中输入“Kavkrnl.vxd”,将它在“HKEY_LOCAL_
MACHINE\System\CurrentControlSet\Services\VxD”中的相应主键值删除,重启后故障消除。
3.System.ini 文件错误引起的“蓝屏”。
实例:软件卸载或是安装后未即时更新System.ini 文件所造成的错误。
解决方法:禁用注册表中该项或是重新安装相应的软件或驱动程序。
4.Win98自身的不完善造成的蓝屏。
实例:Win98的sp1和Microsoft的Vxd_fix.exe补丁程序对Win98的稳定性起着至关重要的作用。
解决方法:快去下载吧,如华军网站南京站http//nj.onlinedown.net/Win98SP1.htmWin98sp1及http//nj.onlinedown.net/Windows98VxDpatch.htm Vxd_fix.exe。
5.系统资源耗尽引起的蓝屏故障。
实例:蓝屏故障常常发生在进行一项比较大的工作时,或是在保存复制的时候,且往往发生得比较突然。这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、GDI资源)的占用情况有关。
解决方法:打开你的资源状况监视器,看一下剩余资源,如果你的三种资源都在50%甚至更低,就很容易出现诸如“非法操作”、“蓝屏”或“死机”故障。为此,必须减少资源浪费,减少不必要的程序加载,避免同时运行大程序(图形、声音和视频软件),例如加载计划任务程序,输入法和声音指示器,声卡的DOS驱动程序,系统监视器程序等等。
6.DirectX问题引起的蓝屏故障。
实例:(1)DirectX版本过低或是过高;(2)游戏与它不兼容或是不支持;(3)辅助重要文件丢失;(4)显卡对它不支持。
解决方法:升级或是重装DirectX。如果是显卡不支持高版本的DirectX那就说明你的显卡实在是太老了,尝试更新显卡的BIOS和驱动程序,否则,只好花钱升级显卡了。
二、硬件引起的电脑蓝屏故障
1.内存超频或不稳定造成的蓝屏。
实例:随机性蓝屏。
解决方法:先用正常频率运行,若还有问题。找一根好的内存条进行故障的替换查找,一般可以解决。再就是应当注意当CPU离内存很近时内存的散热问题。
2.硬件的兼容性不好引起的蓝屏。
兼容机好就好在它的性价比较高,坏就坏在它在进行组装的时候,由于用户没有完善的监测手段和相应的知识,无法进行一系列的兼容性测试,从而把隐患留在了以后的使用过程中。
实例:升级内存时,将不同规格的内存条混插引起的故障。
解决方法:注意内存条的生产厂家、内存颗粒和批号的差异,往往就是因为各内存条在主要参数上的不同而产生了蓝屏或死机,甚至更严重的内存故障。也可以换一下内存条所插的插槽位置。如果内存条还是不能正常工作,那就只好更换了。此处,提醒各位:内存在整个微机系统中起着非常重要的作用,它的好坏将直接影响到系统的稳定性,所以在内存的选购时要注意,最好是有内行人陪伴,避免买到Remark过的条子或频率过低的条子。
3.硬件散热引起的“蓝屏”故障。
实例:在微机的散热问题上所出现的故障,往往都有一定规律,一般在微机运行一段时间后才出现,表现为蓝屏死机或随意重启。故障原因主要是过热引起的数据读取和传输错误。
解决方法:采取超频的应降频,超温的应降温。其实不一定所有的故障都那么复杂,有时候从简单的方面考虑,也能很好地解决问题要学会触类旁通。
4.I/O冲突引起的蓝屏现象。
解决方法:这种现象出现得比较少,如果出现了,可以从系统中删除带!号或?号的设备名,重新启动计算机进行确认,或者请高手手动分配系统资源。
凡事要防患于未然,下面是电脑蓝屏网总结出来的一些经验,可供大家参考电脑蓝屏故障的解决办法:
1定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。
2尽量避免非正常关机,减少重要文件的丢失。如.VxD .DLL文件等。
3对普通用户而言,只要能正常运行,没有必要去升级显卡、主板的BIOS和驱动程序,避免升级造成的危害。
4定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。检查步骤参见前面相关介绍。
5减少无用软件的安装,尽量不用手工卸载或删除程序,以减少非法替换文件和文件指向错误的出现。
6如果不是内存特别大和其管理程序非常优秀,尽量避免大程序的同时运行,如果你发现在听MP3时有沙沙拉拉的声音,基本可以判定该故障是由内存不足而造成的。

以下内容为百度知道Ctangel个人总结,并非网络复制,全是个人日常工作中遇到并且明确确定原因的。如需复制请注明出处。
这里列举几个典型的蓝屏故障的原因和解决办法。
一、0X0000000A
    这个蓝屏代码和硬件无关,是驱动和软件有冲突造成的,最早发现这个代码是因为公司的DELL机器的USB键盘和QQ2007的键盘加密程序有冲突发现的这个问题。也在IBM T系列笔记本上装驱动失误产生过。
    如果您的机器蓝屏了,而且每次都是这个代码请想一想最近是不是更新了什么软件或者什么驱动了,把它卸载再看一下。一般情况下就能够解决,如果实在想不起来,又非常频繁的话,那么没办法,重新做系统吧。
二、0X0000007B
    这个代码和硬盘有关系,不过不用害怕,不是有坏道了,是设置问题或者病毒造成的硬盘引导分区错误。
    如果您在用原版系统盘安装系统的时候出这个问题,那说明您的机器配置还是比较新的,作为老的系统盘,不认这么新的硬盘接口,所以得进BIOS把硬盘模式改成IDE兼容模式。当然了,现在人们都用ghost版的操作系统,比较新的ghost盘是不存在这个问题的。关于人们找不到IDE这项的问题,因为很多主板标明这项的措辞不太一样 有些写着AHCI和Compatibility,这个AHCI就等于是SATA模式,Compatibility相当于IDE模式。
    如果您的操作系统使用了一段时间了,突然有一天出现这个问题了,那么对不起,病毒造成的,开机按F8,选择最后一次正确的配置,恢复不到正常模式的话那么请重新做系统吧。
三、0X000000ED
    这个故障和硬盘有关系,系统概率比较大,硬盘真坏的概率比较小。我弄过不下二十个这个代码的蓝屏机器了,其中只有一个是硬盘真的有坏道了。剩下的都是卷出了问题,修复即可,这也是为数不多的可以修复的蓝屏代码之一。
    修复方法是找原版的系统安装盘(或者金手指V6那个pe启动界面里就带控制台修复)。这里说用系统盘的方法,把系统盘放入光驱,启动到安装界面,选择按R进入控制台修复,进入控制台后会出现提示符C:\ 大家在这里输入 chkdsk -r 然后它就会自动检测并修复问题了,修复完成之后重新启动计算机就可以进入系统了,进入系统之后最好先杀毒,然后再重新启动一下试一下,如果正常了那就没问题了,如果还出这个代码,那就说明硬盘有问题了,需要更换,或者把有问题的地方单独分区,做成隐藏分区,用后面的空间来装系统。
四、0X0000007E、0X0000008E
    这俩代码多是病毒造成的,杀毒即可。正常模式进不去可以开机按F8进安全模式。当然也有可能是内存造成的,可以尝试重新插拔内存,一般这代码内存损坏概率不大。
五、0X00000050
    硬件故障,硬盘的可能性很大。如果出现50重启之后还伴随着出现0A、7E、8E这样的代码,那十有八九就是内存坏了。如果每次都出这一个代码,首先换一块硬盘试一下机器能不能正常启动,如果测试硬盘没问题,再试内存,内存也试过的话,换CPU,总之这必是硬件故障。
六、0X000000D1
    这个代码一般和显卡有关,有可能是显卡损坏,也可能是只是因为安装了不太兼容的显卡驱动造成的,建议有花屏现象的先找朋友借个显卡插上试一下,或者主机有集成显卡的,用集成显卡试一下。如果平时没有花屏现象,那就更换买机器的时候自带的显卡驱动试一下。
七、coooo21a
    C开头的故障,它报的错很邪乎,报未知硬件故障,不过出这类C开头的代码多半与硬件无关。基本是与系统同时启动的一些驱动!或者服务的问题,举一个例子,一次我给一个笔记本的F盘改成了E盘,结果再启动就出这类C开头的代码,最后发现插上一个U盘就能正常启动,因为插上U盘系统里就有F盘了,然后我发现了隐藏的文件,是开机的时候系统写入的。我拔掉这个U盘这问题就又出现,后来把E盘改回F问题就没有了,想来是什么和系统一起启动的软件留在F盘一些文件,没有了它就会自己建,但是连F盘都没有了,也就只能报错了,所以看到这类蓝屏可以照比。
八、每次蓝屏的代码都不一样
    这样的问题,基本上是硬件造成的,尤其以内存为第一个需要怀疑的对象,更换内存尝试,第二可能性是CPU虽然这东西不爱坏,可是从2006到现在我也遇到俩了,其他硬件基本上不会造成蓝屏代码随便变的情况。
九、偶尔蓝屏,而且代码一闪而过重新启动的问题
    这个是有有两种可能
    1、以XP为例,在我的电脑上点击鼠标右键选择属性,找到高级选项卡,找到下面的启动和故障修复项,点击设置。再弹出的窗口里找到中间‘系统失败’处有三个选项,第三项自动重新启动,把这项的勾选取消掉,以后再出问题蓝屏就会停住了。
   2、已经做过上面的设置,但是还是会一闪而过重新启动的,那就是显卡或者CPU过热造成的,打开机箱查看散热风扇和散热器的状态吧。
    另外开机就蓝屏看不见代码一闪而过然后自己重新启动的情况。这个时候已经不可能在系统里进行第一步的设置了,那么就要在机器启动的时候按F8,选择启动失败后禁用重新启动这项,选择之后启动失败了,系统就会停在蓝屏代码那里了,这样大家就可以照着蓝屏代码来查看问题了。
十、其他蓝屏代码
    参考第七项,一般首先做系统确认是不是系统的问题,然后以以下顺序测试硬件,首先是内存可能性最大,然后是CPU,之后是硬盘,最后是显卡,主板基本不会蓝屏


本文由 http://www.qqywf.com 提供,原文地址:http://www.qqywf.com/view/b_553967.html

  • 1
    点赞
  • 6
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值