WINDOWS蓝屏解决对策

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

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文记下来,接着到其他电脑中上网,进入微软帮助与支持网站http://support.microsoft.com,在左上角的“搜索(知识库)”中输入停机码,如果搜索结果没有适合信息,可以选择“英文知识库”再搜索一遍。一般情况下,会在这里找到有用的解决案例。 另外在baidu、Google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索,往往也会有意外的收获。 

8.最后一次正确配置
    一般情况下,蓝屏都出现于更新了硬件驱动或新加硬件并安装其驱动后,这时Windows 2K/XP提供的“最后一次正确配置”就是解决蓝屏的快捷方式。重启系统,在出现启动菜单时按下F8键就会出现高级启动选项菜单, 接着选择“最后一次正确配置”。 

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

异常描述:内核模式程序产生一个未处理的异常 
参数1=异常代码
参数2=产生异常的地址
参数3=异常的参数1
参数4=异常的参数2 

异常描述:在NTFS.SYS中发生问题 
参数1=源文件和行号
参数2=异常记录的地址(可选)
参数3=环境记录的地址(可选)
参数4=原始异常发生的地址(可选) 

异常描述:通常表示已经探测到系统内存中的奇偶校验错误;通常是硬件问题 
参数1=导致错误的虚拟地址
参数2=导致错误的物理地址
参数3=处理器状态寄存器(PSR)
参数4=故障指令寄存器(FIR) 

异常描述:IoCallDriver调用时驱动程序堆栈中没有多余的空间 
参数1=IRP的地址
参数2=保留
参数3=保留
参数4=保留

异常描述:存在系统页面表碎片 
参数1=保留
参数2=保留
参数3=保留
参数4=保留 

异常描述:引用了无效的系统内存 
参数1=被引用的内存地址
参数2=0:读操作 1:写操作
参数3=引用该内存的地址(如果知道)
参数4=保留 
 

异常描述:从一个镜像分区的错误拷贝中引导系统 
参数1=保留
参数2=保留
参数3=保留
参数4=保留

异常描述:驱动程序在I/O操作后没有释放锁定的页面 
参数1=0
参数2=进程地址
参数3=被锁定页的编号
参数4=0或驱动程序堆栈指针 

异常描述:内核数据从分页文件中请求的页不能读进内存中 
参数1=状态码或0
参数2=进行签名的堆栈中发现的值,或者I/O状态码
参数3=0或页文件编码
参数4=内核堆栈上的签名地址,或者页文件上的偏移量 

异常信息:MISMATCHED_HAL 
异常代码:0x79 
异常描述:硬件抽象层(HAL)修订级别或者配置与内核或者机器不匹配 
1)PRCB发行级不匹配
参数1=1
参数2=ntoskrnl.exe发行等级
参数3=1:hal.dll发行等级
参数4=保留
2)编译类型不匹配
参数1=2
参数2=ntoskrnl.exe版本类型
参数3=2:hal.dll版本类型
参数4=保留
3)宏通道(Macro Channel)不匹配
参数1=3
参数2=引导期间探测到的机器类型
参数3=3:HAL支持的机器类型
参数4=保留 

异常描述:内核数据从分页文件中请求的页不能读进内存 
参数1=拥有的锁定类型或者页表项地址
参数2=I/O状态码
参数3=锁定类型为1或2:当前进程锁定类型为3:虚拟地址
参数4=不能读进内存页的虚拟地址 

异常描述:Windows 2000在启动期间丢失了对系统分区的访问。这一错误总是在系统正在启动而不能被调试的情况下发生,因为它通常在操作系统装入调试器之前发生 
参数1=不能安装的设备对象的地址
参数2=0
参数3=0
参数4=0

异常描述:内核不能捕获的陷井,由Intel CPU产生 
参数1=保留
参数2=保留
参数3=保留
参数4=保留 

异常描述:驱动程序处于电源不一致或无效状态 
1)被释放的设备对象仍然有一个还没有完成的电源请求
参数1=1
参数2=设备对象指针
参数3=保留
参数4=保留 
2)设备对象完成处理系统电源状态请求的IRP,但是调用PoStartNextPowerIrp失败
参数1=2
参数2=目标设备对象指针
参数3=设备对象指针
参数4=保留
3)设备驱动程序不能正确地把IRP设为挂起或者完成IRP
参数1=3
参数2=目标设备对象指针
参数3=设备对象指针
参数4=IRP 
4)设备节点中的设备对象在使用DO_POWER_PAGABLE方面不一致
参数1=4
参数2=非分页设备对象指针
参数3=目标设备对象指针
参数4=要通告的设备指针
5)父设备对象已经探测到子设备对象没有设置DO_POWER_PAGABLE位
参数1=5
参数2=子设备对象(FDO)
参数3=子设备对象指针(PDO)
参数4=父设备对象指针 

异常描述:驱动程序正试图写入只读内存段 
参数1=试图写入的虚拟地址
参数2=PTE地址
参数3=保留
参数4=保留 

异常信息:SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION 
异常代码:0xC1 
异常描述:驱动程序写入专用内存池的无效段 
1)试图释放未分配的池
参数1=驱动程序试图释放的地址
参数2=保留
参数3=0
参数4=0x20 
2)试图释放有害地址
参数1=驱动程序试图释放的地址
参数2=请求的字节数
参数3=计算的字节数
参数4=0x21、0x22
3)在相同的页上附近的字节被破坏时释放一个地址
参数1=驱动程序试图释放的地址
参数2=位被破坏处的地址
参数3=保留
参数4=0x23 
4)当字节在分配结束后被覆盖时释放一个地址
参数1=驱动程序试图释放的地址
参数2=位被破坏处的地址
参数3=保留
参数4=0x24 
5)试图在不正确的IRQL上分配池
参数1=当前的IRQL
参数2=池类型
参数3=要分配的字节数
参数4=0x30 
6)试图在不正确的IRQL上释放池
参数1=当前的IRQL
参数2=池类型
参数3=驱动程序试图释放的地址
参数4=0x31 

异常描述:当前线程正在发出一个错误的池请求 
1)池的头部已经破坏
参数1=0x01、0x02或0x04
参数2=池的头部的指针
参数3=池的头部第一部分内容
参数4=0 
2)试图释放已经释放的池
参数1=0x06
参数2=保留
参数3=池的头部的指针
参数4=池的头部的内容 
3)试图释放已经释放的池
参数1=0x07
参数2=保留
参数3=池的头部的指针
参数4=0 
4)试图在一个无效的IRQL上分配池
参数1=0x08
参数2=当前IRQL
参数3=池类型
参数4=分配的尺寸
5)试图在一个无效的IRQL上释放池
参数1=0x09
参数2=当前IRQL
参数3=池类型
参数4=池地址
6)试图释放在用户模式地址上的内存池
参数1=0x40
参数2=开始地址
参数3=系统地址空间开始的地址
参数4=0 
7)试图释放未分配的非分页池地址
参数1=0x41
参数2=开始地址
参数3=物理页框架
参数4=最高的物理页框架 
8)试图释放未分配的分页池地址
参数1=0x50
参数2=开始地址
参数3=页面中从分页池开始的偏移量
参数4=分页池以字节为单位的尺寸
9)试图释放有无效地址的池(或者池的头部已经被破坏)
参数1=0x99
参数2=要释放的地址
参数3=0
参数4=0 

异常信息:DRIVER_CORRUPTED_EXPOOL 
异常代码:0xC5 
异常描述:驱动程序可能已经破坏了系统池 
参数1=引用的内存
参数2=引用时的IRQL
参数3=0:读取 1:写入
参数4=引用内存的代码的地址 

异常信息:DRIVER_CAUGHT_MODIFYING_FREED_POOL 
异常代码:0xC6 
异常描述:驱动程序试图访问已经释放的内存池 
参数1=引用的内存
参数2=0:读取 1:写入
参数3=0:内核模式 1:用户模式
参数4=保留 

异常信息:TIMER_OR_DPC_INVALID 
异常代码:0xC7 
异常描述:内核计数器或者延迟过程调用(DPC)对象不存在 
参数1=0:计时器对象 1:DPC对象 3:DPC例程
参数2=对象的地址
参数3=被检查的内存范围的开始地址
参数4=被检查的内存范围的结束地址

异常信息:PNP_FATAL_ERROR 
异常代码:0xCA 
异常描述:PnP管理程序遇到一个严重错误,可能是一个有问题的即插即用驱动程序引起的 
1)复制PDO。驱动程序的一个特定实例列举多个具有对等设备和唯一的ID的PDO
参数1=0x01
参数2=最新报告的PDO的地址
参数3=以前已经被复制的PDO地址
参数4=保留 
2)无效的PDO。用没有被初始化的随机内存、FDO或者PDO调用要求一个PDO的API
参数1=0x02
参数2=假定的PDO的地址
参数3=保留
参数4=保留
3)无效的ID。一个列举器返回一个ID,它包含无效的或者没有正确结束的字符(ID只能是从0x20到0x2B和0x2D到0x7F范围内的字符)
参数1=0x04
参数2=设置了DO_DELETE_PENDING的PDO地址
参数3=ID缓冲区
参数4=1:DeviceID 2:UniquelID 3:HardwareID  4:CompatibleID 
4)PDO连接在设备节点树中时被释放。对象管理程序对PDO的引用降到0,而设备节点仍然连接在树中(这通常指示,在一个查询IRP中返回一个PDO时,驱动程序没有增加一个引用计数)
参数1=0x05
参数2=PDO的地址
参数3=保留
参数4=保留 

异常信息:DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS 
异常代码:0xCB 
异常描述:驱动程序在一个I/O操作后没有释放锁定的页面 
参数1=驱动程序中锁定页面的调用地址
参数2=驱动程序中锁定页面的调用地址的调用者
参数3=包含锁定页面的MDL的指针
参数4=非法驱动程序的名字(Unicode字符串指针) 

异常信息:PAGE_FAULT_IN_FREED_SPECIAL_POOL 
异常代码:0xCC 
异常描述:系统引用了已经被释放的内存 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留

异常信息:PAGE_FAULT_BEYOND_END_OF_ALLOCATION 
异常代码:0xCD 
异常描述:系统访问驱动程序池分配尾部之外的内存 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留 

异常描述:驱动程序没有在卸载之前取消挂起的操作 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留

异常信息:TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE 
异常代码:0xCF 
异常描述:终端服务器驱动程序产生了不正确的内存引用 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留 

异常信息:DRIVER_CORRUPTED_MMPOOL 
异常代码:0xD0 
异常描述:驱动程序已经破坏了系统池 
参数1=引用的内存地址
参数2=引用内存时的IRQL
参数3=0:读取 1:写入
参数4=引用内存的代码的地址 

异常描述:驱动程序试图在等于或高于DISPATCH_LEVEL的IRQL级别上访问分页内存 
参数1=引用的内存地址
参数2=引用内存时的IRQL
参数3=0:读取 1:写入 
参数4=引用内存的代码的地址

异常信息:DRIVER_PORTION_MUST_BE_NONPAGED 
异常代码:0xD3 
异常描述:驱动程序错误地把某些代码和数据标志为可分页 
参数1=引用的内存地址
参数2=引用内存时的IRQL
参数3=0:读取 1:写入
参数4=引用内存的代码的地址

异常信息:SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD 
异常代码:0xD4 
异常描述:驱动程序在卸载前没有取消挂起的操作 
参数1=引用的内存地址
参数2=引用内存时的IRQL
参数3=0:读取 1:写入
参数4=引用内存的代码的地址

异常信息:DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL 
异常代码:0xD5 
异常描述:驱动程序引用了已经被释放的内存 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留 

异常信息:DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION 
异常代码:0xD6 
异常描述:驱动程序访问它的池分配尾部之外的内存 
参数1=引用的内存地址
参数2=0:读取 1:写入
参数3=引用内存的代码的地址(如果知道)
参数4=保留

异常信息:DRIVER_UNMAPPING_INVALID_VIEW 
异常代码:0xD7 
异常描述:驱动程序试图解除一段无效地址空间的映射 
参数1=要求解除映射的地址
参数2=0:系统不是终端报务器 1:系统是终端服务器 
参数3=0
参数4=0 

异常信息:DRIVER_USED_EXCESSIVE_PTES 
异常代码:0xD8 
异常描述:驱动程序试图访问超出系统页表项编号的页表项 
参数1=非法驱动程序名字的指针(Unicode字符串)或者0
参数2=非法驱动程序使用的PTE编号(如果参数1不为0)
参数3=总的空闲系统PTE数目
参数4=总的系统PTE数目 

异常信息:DRIVER_CORRUPTED_SYSPTES 
异常代码:0xDB 
异常描述:驱动程序破坏了系统页表项 
参数1=被引用的内存地址
参数2=引用时的IRQL
参数3=0:读取 1:写入
参数4=引用内存的代码的地址 

异常信息:DRIVER_INVALID_STACK_ACCESS 
异常代码:0xDC 
异常描述:驱动程序访问位于当前堆栈指针以下的堆栈中的数据 
参数1=保留
参数2=保留
参数3=保留
参数4=保留

异常信息:DRIVER_INVALID_STACK_ACCESS 
异常代码:0xDE 
异常描述:驱动程序破坏了用于保存页面到磁盘的池内存 
参数1=保留
参数2=保留
参数3=保留
参数4=保留

异常信息:WORKER_THREAD_RETURNED_AT_BAD_IRQL 
异常代码:0xE1 
异常描述:工作例程从等于或高于DISPATCH_LEVEL的IRQL上返回 
参数1=工作例程的地址
参数2=IRQL(应该是0)
参数3=工作项目参数
参数4=工作项目地址 

异常信息:MANUALLY_INITATED_CRASH 
异常代码:0xE2 
异常描述:用户故意从内核调试器或键盘激活一个故障转储 
参数1=保留
参数2=保留
参数3=保留
参数4=保留

异常信息:RESOURCE_NOT_OWNED 
异常代码:0xE3 
异常描述:线程试图释放并非它拥有的资源 
参数1=资源的地址
参数2=线程的地址
参数3=资源拥有者的地址(如果它存在)
参数4=保留 

异常信息:WORKER_INVALID 
异常代码:0xE4 
异常描述:在不必包含Executive的工作者项的内存中发现这样的项 
参数1=代码位置指示器
参数2=工作者的地址
参数3=池块的头
参数4=池块的尾 

如果在Windows启动时出现蓝屏,并出现上述的错误信息,那么多半是硬件出现了问题,请用硬件厂商提供的诊断工具来判断硬件是否存在问题,并到其网站查看是否有最新的BIOS或固件更新程序。如果硬件没有问题,重装Windows 2K/XP,若相同问题还是出现,就只能求助专业的技术支持了。

如果遇到下述错误信息,也只有重装Windows了,如果不能解决问题,建议求救专业的技术支持。
来源:cqzj70

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年4月20日
下一篇 2014年4月20日

相关推荐