2005/09/07 | 为什么WIN2K和XP会蓝屏
类别(电脑维修经验_软件技巧) | 评论(0) | 阅读(420) | 发表于 17:56



作者:水漫金山 文章来源:瑞星论坛

NT内核的操作系统采用的是分层结构(层又称为模式), 主要有用户层(User Mode)和内核层(Kernel

Mode), 我们可以通过下面这个形象的比喻来理解Windows的运行规范和蓝屏起因.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 产品制造工厂: 整个电脑(包含操作系统、硬件和软件)      ┃
┃ 厂 领 导: 内核层                                 
┃ 生 产 小 组: 用户层(软件、驱动程序)                         
┃ 值 班 员: Dr.Watson                             
┃ 保 卫 员: KeDugCheck                             
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
平时产品制造厂运行得有序而高效, 每个 生产小组加班加点制造各种用途的产品, 工厂里有个极为

严格的规定, 那就是不管要用什么装配零件, 都必须经过直接控制所有零件的厂领导(具有高特许级别,

可以直接访问所欧硬件和内存)的批准, 之后才能到仓库中提取相应零件, 而生产小组只负责生产(只拥有

较低权限, 不能直接访问硬件和有限地利用内存).
有一天, A生产小组没有经过厂领导批准, 偷偷跑到仓库里面想拿一个装配零件, 但马上被年年被评

为先进的值班员Dr.Watson发现了, 于是Dr.Watson理解通知厂领导, 这个生产小组的工作马上被停止, 而

且还在厂宣传栏上贴出一个告示:XXX生产小组出现了错误, 厂领导决定马上将其关闭、整顿, 并会产生记

录在案, 以观后效.
但A生产小组的错误似乎没有引起大家的注意, 一天, D生产小组居然闯入仓库哄抢装配零件, 为了防

止零件资源失控, 产生更严重的混乱, 厂领导立即决定停止整个工厂的工作, 并命令保卫科对所有生长小

组进行全面检查, 保卫科在检查后为厂领导提交了一份用蓝色纸写的报告, 这个报

告主要分成三部分:故障信息、推荐操作、调试端口信息.
1.故障检查信息
***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)
KMODE_EXCEPTION_NOT_HANDLED ***
其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E, 用于识别已发生错误的类型, 错误第

二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这个参数对于普通用户根本无法

理解, 只有驱动程序编写者或者微软操作系统的开发人员才懂). 第三部分是错误名. 信息第一行通常用

来识别生产错误的驱动程序或者设备. 这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其

他技术资料中使用.
2.推荐操作
蓝屏第二部分是推荐用户进行的操作信息. 有时, 推荐的操作仅仅是一般性的建议(比如: 到销售商网站

查找BIOS的更新等); 有时, 也就是显示一条与当前问题相关的提示. 一般来说, 惟一的建议就是重启.
3.调试端口告诉用户内存转储映像是否写到磁盘商了, 使用内存转储映像可以确定发生问题的性质, 还会

告诉用户调试信息是否被传到另一台电脑商, 以及使用了什么端口完成这次通讯. 不过, 这里的信息对于

普通用户来说, 没有什么意义.
有时保卫科可以顺利的查到是哪个生产小组的问题, 会在第一部分明确报告是哪个文件犯的错, 但常

常它也只能查个大概范围, 而无法明确指明问题所在. 由于工厂全面被迫停止, 只有重新整顿开工, 有时

, 那个生产小组会意识到错误 , 不再重犯. 但有时仍然会试图哄抢零件, 于是厂领导不得不重复停工决

定(不能启动并显示蓝屏信息, 或在进行相同操作时再次出现蓝屏).
Windows 2K/XP蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬

件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时

, 应先对照这些方案进行排除.
1.重启
有时只是某个程序或驱动程序一时犯错, 重启后他们会改过自新.(注意:此时参见7.查询停机码)
2.新硬件
首先, 应该检查新硬件是否插牢, 这个被许多人忽视的问题往往会引发许多莫名其妙的故障. 如果确

认没有问题, 将其拔下, 然后换个插槽试试, 并安装最新的驱动程序. 同时还应对照微软网站的硬件兼容

类别检查一下硬件是否与操作系统兼容. 如果你的硬件没有在表中, 那么就得到硬件厂商网站进行查询,

或者拨打他们的咨询电话.
[color]
Windows XP的硬件兼容列表:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;314062
Windows 2K的硬件兼容类别:http://winqual.microsoft.com/download/display.asp?

FileName=hcl/Win2000HCL.txt
[/color]
3.新驱动和新服务
如果刚安装完某个硬件的新驱动, 或安装了某个软件, 而它又在系统服务中添加了相应项目(比如:杀

毒软件、CPU降温软件、防火墙软件等), 在重启或使用中出现了蓝屏故障, 请到安全模式来卸载或禁用它

们.
4.检查病毒
比如冲击波和振荡波等病毒有时会导致Windows蓝屏死机, 因此查杀病毒必不可少. 同时一些木马间

谍软件也会引发蓝屏, 所以最好再用相关工具进行扫描检查.
5.检查BIOS和硬件兼容性
对于新装的电脑经常出现蓝屏问题, 应该检查并升级BIOS到最新版本, 同时关闭其中的内存相关项,

比如:缓存和映射. 另外, 还应该对照微软的硬件兼容列表检查自己的硬件. 还有就是, 如果主板BIOS无

法支持大容量硬盘也会导致蓝屏, 需要对其进行升级.
┌────────────────────────────┐
│小提示:                         
│ BIOS的缓存和映射项                    
│ Video BIOS Shadowing (视频BIOS映射)             
│ Shadowing address ranges(映射地址列)         
│ System BIOS Cacheable(系统BIOS缓冲)             
│ Video BIOS Cacheable(视频BIOS缓冲)             
│ Video RAM Cacheable(视频内存缓冲)             
└────────────────────────────┘
6.检查系统日志
在开始-->菜单中输入:EventVwr.msc, 回车出现"事件查看器", 注意检查其中的"系统日志"和"应用

程序日志"中表明"错误"的项.
7.查询停机码
把蓝屏中密密麻麻的E文记下来, 接着到其他电脑中上网, 进入微软帮助与支持网站

support.microsoft.com, 在左上角的"搜索(知识库)"中输入停机码, 如果搜索结果没有

适合信息, 可以选择"英文知识库"在搜索一遍. 一般情况下, 会在这里找到有用的解决案例. 另外, 在

baidu、Google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索, 往往也会有以外的收

获.
8.最后一次正确配置
一般情况下, 蓝屏都出现于更新了硬件驱动或新加硬件并安装其驱动后, 这时Windows 2K/XP提供的"

最后一次正确配置"就是解决蓝屏的快捷方式. 重启系统, 在出现启动菜单时按下F8键就会出现高级启动

选项菜单, 接着选择"最后一次正确配置".
9.安装最新的系统补丁和Service Pack
有些蓝屏是Windows本身存在缺陷造成的, 应此可通过安装最新的系统补丁和Service Pack来解决.
┌─┐
│ 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
◆错误分析:说明在容错集的主驱动发生错误.
◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试"最后一次正确配置"进行解决.
0

评论Comments