求真百科欢迎当事人提供第一手真实资料,洗刷冤屈,终结网路霸凌。

蓝屏死机查看源代码讨论查看历史

事实揭露 揭密真相
跳转至: 导航搜索
蓝屏死机

电脑蓝屏,是指微软Windows操作系统在无法从一个系统错误中恢复过来时所显示的蓝底白字的屏幕图像。

Windows中有两个蓝底白字图像都被称为蓝屏死机:一种是Windows 9x操作系统发生小故障,一种是Windows NT发生内核错误。由于Windows 9x已退出历史舞台,所以现在一般指后者。

基本信息

名称; 电脑蓝屏

又名; 蓝屏死机

英文; Blue Screen of Death

缩写; BSoD

编写者; 史蒂夫·鲍尔默

平台; 微软Windows系列操作系统

现象说明; 蓝屏,英文名称BSOD。从专业的角度讲,这一术语被定义为"是指当Microsoft Windows崩溃或停止执行(由于灾难性的错误或者内部条件阻止系统继续运行下去)时所显示的蓝色屏幕"。

而我们平常所说的"系统崩溃"或者"内核错误"或"停止错误"的专业术语为"程序错误检查"。

在Windows Vista部分测试版中,死机则变成了红色,称为红屏死机(Red screen of death,缩写RSoD)

界面信息

Windows95、98和Me Windows95、Windows 98和WindowsMe的蓝屏均如右图所示。可以看见,当时的蓝屏界面信息还非常少,系统甚至将蓝屏错误与"系统忙、无法响应"混为一谈,并且还可以返回Windows等待响应。很显然,如果在使用Win95/98和Me时遇到蓝屏,就只能找开发人员来进行排障了[2]。

Windows2000和Windows7 时过境迁,Windows发展到了Windows 2000,蓝屏也"进化"了--蓝屏界面的信息变得全面,且蓝屏之后只能靠系统自动重启或者由用户强制重启。

到了winxp时代,蓝屏界面大同小异,但是信息更加全面,虽然有点吓人,不过以此来进行排障工作就更加容易了。自此,蓝屏界面保持不变并延续到Windows 7时代,直到2012年Windows 8推出后,蓝屏界面才被改变。

Windows 2000到Windows 7的蓝屏界面如右图所示。我们以xp系统为例,解释蓝屏的主要信息(win2000信息与此大同小异)。蓝屏主要信息分如下模块:

第一段英文提示你的电脑出现问题已经停止运作。

第二段英文(The problem seems to be caused by the following file: ndis.sys)提示你的蓝屏可能是由某个文件导致的,这里就是ndis.sys。这一段不一定所有蓝屏都有。

接下来是蓝屏类型描述:DRIVER_IRQL_NOT_LESS_OR_EQUAL

接下来几段英文都是一些建议。

之后的技术信息(Technical information)的内容就是关键了:STOP: 0x000000d1 (0x0000000000000028, 0x0000000000000002, 0x0000000000000001, 0xfffff88001d30cd3)

以上描述了蓝屏的具体代码。其中第一部分是停机码,用于识别已发生错误的类型。括号内的四个数字集则是蓝屏参数,它具体说明了蓝屏的原因,有些参数说明的是蓝屏的细分类,有些说明的是导致蓝屏的文件,有些则说明该文件的位置。其中说明蓝屏的细分类可以去微软官方查询,但是导致蓝屏的文件及其位置则需要借助工具(如BlueScreenView)来进行查看。 ndis.sys - Address 0xfffff88001d30cd3 base at 0xfffff88001cfe000 DateStamp 0x510cbf05

以上则具体描述了蓝屏文件的位置。这一段不一定所有蓝屏都有。

Windows8及以后 相比Windows 7及以前系统的蓝屏,Windows 8及以后系统的蓝屏看上去就"友好"得多了--至少,没有那么吓人了。但是相比之下,可以诊断并解决蓝屏的信息就少了许多。如图所示,这里的蓝屏只告诉了你蓝屏类型描述,因此要想很好地诊断它就必须得借助事件查看器以至于使用bluescreenview了。

蓝屏原因

一旦遇上蓝屏,大多数的人都会以为Windows不行了,所以就瘫痪了,有罪魁祸首是Windows,或者Windows不够强悍、不够稳定的意思。要知道,每当有内核模式设备驱动程序或者子系统引发了一个非法异常,Windows就会面临这个艰难的抉择,虽然Windows最终还是选择了崩溃,但是这并不代表它就不能够忽略该异常,让设备驱动程序或者子系统继续往下执行。

Windows之所以要选择"亡我",是因为它不知道该错误是否能被隔离出来从而不伤害系统的其它程序与数据,或者该组件将来是否能够恢复正常,而且Windows深知,这个异常更有可能来源于更深层的问题,比如由于内存的常规破坏(General Corruption),或者由于硬件设备不能正常工作。允许系统继续运行可能导致更多的异常,而且,存储在磁盘或其他外设中的数据可能也会遭受破坏。Windows意识到,这样做的风险太大了,为了您的程序、数据安全与完整,为了将您的损失在第一时间减小至最低,Windows于是忍痛做出了自我牺牲。

当系统检测到引发崩溃的致命错误时,Windows自己执行崩溃函数"KeBugCheckEx"。该函数接受一个停止代码(STOP Code,也称为错误检查码"Bug Check Code"),以及四个根据停止代码来解释的参数(下文中会有图例)。在调用KeBugCheckEx之后,首先该系统所有处理器上的所有中断将被屏蔽,然后系统将显示器切换到低分辨率的VGA图形模式(因为这是所有Windows平台显卡均支持的通用模式),绘制一个蓝色背景,然后显示此停止代码,并且后面紧跟一些对用户诊断错误有帮助的关键信息。

最后,KeBugCheckEx调用所有已注册的设备驱动程序错误检查回调函数(这种回调函数通过调用KeRegisterBugCheckCallback函数来注册),从而让这些驱动程序停止运行它们所支配的设备(有系统数据结构已经被破坏得太严重以至于蓝屏都显示不出来的可能性)。

调试端口

调试端口告诉用户内存转储映像是否写到磁盘上了,使用内存转储映像可以确定发生问题的性质, 还会告诉用户调试信息是否被传到另一台电脑上,以及使用了什么端口完成这次通讯。不过, 这里的信息对于普通用户来说,没有什么意义。

处理方法

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

把蓝屏中密密麻麻的英文记下来,接着到其他电脑中上网,进入微软帮助与支持网站在左上角的"搜索(知识库)"中输入停机码。如果,搜索结果没有适合信息,可以选择"英文知识库"再搜索一遍。一般情况下,会在这里找到有用的解决案例。另外,在百度、Google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索,往往也会有收获。

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

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

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

如果系统可以运行的情况下,错打了冲突的补丁,可以用,金山急救箱,来"扩展扫描",立即扫描,扫描完毕后,会提示:哪个补丁,不需要修复。然后,照提示点:立即处理。完毕后,如果提示需要"重启电脑",立即重启电脑,就可以了。

重启

Windows 2K/XP蓝屏信息非常多,无法在一篇文章中全面讲解,但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等,因此,首先为大家提供了一些常规的解决方案。在遇到蓝屏错误时,应先对照这些方案进行排除,下列内容对正在使用Windows、Vista或Windows 7的用户也有帮助。

有时只是某个程序或驱动程序一时犯错,重启后它们会改过自新。蓝屏第二部分是推荐用户进行的操作信息。有时, 推荐的操作仅仅是一般性的建议(比如:查找BIOS的更新等); 有时,也就是显示一条与当前问题相关的提示。 一般来说, 惟一的建议就是重启。

硬件

应该检查新硬件是否插牢,这个被许多人忽视的问题往往会引发许多莫名其妙的故障。如果确

认没有问题,将其拔下, 然后换个插槽试试,并安装最新的驱动程序。同时,还应对照微软网站的硬件兼容类别检查一下硬件是否与操作系统兼容。如果,你的硬件没有在表中,那么就得到硬件厂商网站进行查询,或者拨打他们的咨询电话。

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

软件

电脑蓝屏除了与硬件有关,或与驱动等冲突会造成,还和电脑中的软件会发生冲突并造成蓝屏,下面列举出常见的电脑软件冲突造成蓝屏的原因和解决办法。

1.启动时加载程序过多

不要在启动时加载过多的应用程序,以免使系统资源消耗殆尽。正常情况下,Win9X启动后系统资源应不低于90%。最好维持在90%以上,若启动后未运行任何程序就低于70%,就需要卸掉一部分应用程序,否则就可能出现"蓝屏"。

2.应用程序存在着BUG

有些应用程序设计上存在着缺陷或错误,运行时有可能与Win9X发生冲突或争夺资源,造成Win9X无法为其分配内存地址或遇到其保护性错误。这种BUG可能是无法预知的,免费软件最为常见。另外,由于一些用户还在使用盗版软件,这些盗版软件在解密过程中会破坏和丢失部分源代码,使软件十分不稳定,不可靠,也常常导致"蓝屏"。

3.遭到不明的程序或病毒攻击所至

这个现象只要是平时我们在上网的时候遇到的,特别是进到一些BBS站时,可能暴露了自己的IP,被"黑客"用一些软件攻击所至。对互这种情况最好就是在自己的计算机上安装一些防御软件。再有就是登录BBS要进行安全设置,隐藏自己IP。

4.版本冲突

有些应用程序需调用特定版本的动态链接库DLL,如果在安装软件时,旧版本的DLL覆盖了新版本的DLL,或者删除应用程序时,误删了有用的DLL文件,就可能使上述调用失败,从而出现"蓝屏"。不妨重新安装试一试。

驱动

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

病毒

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

恢复

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

小提示:

BIOS的缓存和映射项

Video BIOS Shadowing (视频BIOS映射)

Shadowing address ranges(映射地址列)

System BIOS Cacheable(系统BIOS缓冲)

VideoBIOSCacheable(视频BIOS缓冲)

Video RAM Cacheable(视频内存缓冲)

相关代码

常见代码表

(来源于微软官方debug资料网站)

Bug Check 0x1: APC_INDEX_MISMATCH

Bug Check 0x2: DEVICE_QUEUE_NOT_BUSY

Bug Check 0x3: INVALID_AFFINITY_SET

Bug Check 0x4: INVALID_DATA_ACCESS_TRAP

Bug Check 0x5: INVALID_PROCESS_ATTACH_ATTEMPT

Bug Check 0x6: INVALID_PROCESS_DETACH_ATTEMPT

Bug Check 0x7: INVALID_SOFTWARE_INTERRUPT

Bug Check 0x8: IRQL_NOT_DISPATCH_LEVEL

Bug Check 0x9: IRQL_NOT_GREATER_OR_EQUAL

Bug Check 0xA: IRQL_NOT_LESS_OR_EQUAL

Bug Check 0xB: NO_EXCEPTION_HANDLING_SUPPORT

Bug Check 0xC: MAXIMUM_WAIT_OBJECTS_EXCEEDED

Bug Check 0xD: MUTEX_LEVEL_NUMBER_VIOLATION

Bug Check 0xE: NO_USER_MODE_CONTEXT

Bug Check 0xF: SPIN_LOCK_ALREADY_OWNED

Bug Check 0x10: SPIN_LOCK_NOT_OWNED

Bug Check 0x11: THREAD_NOT_MUTEX_OWNER

Bug Check 0x12: TRAP_CAUSE_UNKNOWN

Bug Check 0x13: EMPTY_THREAD_REAPER_LIST

Bug Check 0x14: CREATE_DELETE_LOCK_NOT_LOCKED

Bug Check 0x15: LAST_CHANCE_CALLED_FROM_KMODE

Bug Check 0x16: CID_HANDLE_CREATION

Bug Check 0x17: CID_HANDLE_DELETION

Bug Check 0x18: REFERENCE_BY_POINTER

Bug Check 0x19: BAD_POOL_HEADER

Bug Check 0x1A: MEMORY_MANAGEMENT

Bug Check 0x1B: PFN_SHARE_COUNT

Bug Check 0x1C: PFN_REFERENCE_COUNT

Bug Check 0x1D: NO_SPIN_LOCK_AVAILABLE

Bug Check 0x1E: KMODE_EXCEPTION_NOT_HANDLED

Bug Check 0x1F: SHARED_RESOURCE_CONV_ERROR

Bug Check 0x20: KERNEL_APC_PENDING_DURING_EXIT

Bug Check 0x21: QUOTA_UNDERFLOW

Bug Check 0x22: FILE_SYSTEM

Bug Check 0x23: FAT_FILE_SYSTEM

Bug Check 0x24: NTFS_FILE_SYSTEM

Bug Check 0x25: NPFS_FILE_SYSTEM

Bug Check 0x26: CDFS_FILE_SYSTEM

Bug Check 0x27: RDR_FILE_SYSTEM

Bug Check 0x28: CORRUPT_ACCESS_TOKEN

Bug Check 0x29: SECURITY_SYSTEM

Bug Check 0x2A: INCONSISTENT_IRP

Bug Check 0x2B: PANIC_STACK_SWITCH

Bug Check 0x2C: PORT_DRIVER_INTERNAL

Bug Check 0x2D: SCSI_DISK_DRIVER_INTERNAL

Bug Check 0x2E: DATA_BUS_ERROR

Bug Check 0x2F: INSTRUCTION_BUS_ERROR

Bug Check 0x30: SET_OF_INVALID_CONTEXT

Bug Check 0x31: PHASE0_INITIALIZATION_FAILED

Bug Check 0x32: PHASE1_INITIALIZATION_FAILED

Bug Check 0x33: UNEXPECTED_INITIALIZATION_CALL

Bug Check 0x34: CACHE_MANAGER

Bug Check 0x35: NO_MORE_IRP_STACK_LOCATIONS

Bug Check 0x36: DEVICE_REFERENCE_COUNT_NOT_ZERO

Bug Check 0x37: FLOPPY_INTERNAL_ERROR

Bug Check 0x38: SERIAL_DRIVER_INTERNAL

Bug Check 0x39: SYSTEM_EXIT_OWNED_MUTEX

Bug Check 0x3A: SYSTEM_UNWIND_PREVIOUS_USER

Bug Check 0x3B: SYSTEM_SERVICE_EXCEPTION

Bug Check 0x3C: INTERRUPT_UNWIND_ATTEMPTED

Bug Check 0x3D: INTERRUPT_EXCEPTION_NOT_HANDLED

Bug Check 0x3E: MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED

Bug Check 0x3F: NO_MORE_SYSTEM_PTES

Bug Check 0x40: TARGET_MDL_TOO_SMALL

Bug Check 0x41: MUST_SUCCEED_POOL_EMPTY

Bug Check 0x42: ATDISK_DRIVER_INTERNAL

Bug Check 0x43: NO_SUCH_PARTITION

Bug Check 0x44: MULTIPLE_IRP_COMPLETE_REQUESTS

Bug Check 0x45: INSUFFICIENT_SYSTEM_MAP_REGS

Bug Check 0x46: DEREF_UNKNOWN_LOGON_SESSION

Bug Check 0x47: REF_UNKNOWN_LOGON_SESSION

Bug Check 0x48: CANCEL_STATE_IN_COMPLETED_IRP

Bug Check 0x49: PAGE_FAULT_WITH_INTERRUPTS_OFF

Bug Check 0x4A: IRQL_GT_ZERO_AT_SYSTEM_SERVICE

Bug Check 0x4B: STREAMS_INTERNAL_ERROR

Bug Check 0x4C: FATAL_UNHANDLED_HARD_ERROR

Bug Check 0x4D: NO_PAGES_AVAILABLE

Bug Check 0x4E: PFN_LIST_CORRUPT

Bug Check 0x4F: NDIS_INTERNAL_ERROR

Bug Check 0x50: PAGE_FAULT_IN_NONPAGED_AREA

Bug Check 0x51: REGISTRY_ERROR

Bug Check 0x52: MAILSLOT_FILE_SYSTEM

Bug Check 0x53: NO_BOOT_DEVICE

Bug Check 0x54: LM_SERVER_INTERNAL_ERROR

Bug Check 0x55: DATA_COHERENCY_EXCEPTION

Bug Check 0x56: INSTRUCTION_COHERENCY_EXCEPTION

Bug Check 0x57: XNS_INTERNAL_ERROR

Bug Check 0x58: FTDISK_INTERNAL_ERROR

Bug Check 0x59: PINBALL_FILE_SYSTEM

Bug Check 0x5A: CRITICAL_SERVICE_FAILED

Bug Check 0x5B: SET_ENV_VAR_FAILED

Bug Check 0x5C: HAL_INITIALIZATION_FAILED

Bug Check 0x5D: UNSUPPORTED_PROCESSOR

Bug Check 0x5E: OBJECT_INITIALIZATION_FAILED

Bug Check 0x5F: SECURITY_INITIALIZATION_FAILED

Bug Check 0x60: PROCESS_INITIALIZATION_FAILED

Bug Check 0x61: HAL1_INITIALIZATION_FAILED

Bug Check 0x62: OBJECT1_INITIALIZATION_FAILED

Bug Check 0x63: SECURITY1_INITIALIZATION_FAILED

Bug Check 0x64: SYMBOLIC_INITIALIZATION_FAILED

Bug Check 0x65: MEMORY1_INITIALIZATION_FAILED

Bug Check 0x66: CACHE_INITIALIZATION_FAILED

Bug Check 0x67: CONFIG_INITIALIZATION_FAILED

Bug Check 0x68: FILE_INITIALIZATION_FAILED

Bug Check 0x69: IO1_INITIALIZATION_FAILED

Bug Check 0x6A: LPC_INITIALIZATION_FAILED

Bug Check 0x6B: PROCESS1_INITIALIZATION_FAILED

Bug Check 0x6C: REFMON_INITIALIZATION_FAILED

Bug Check 0x6D: SESSION1_INITIALIZATION_FAILED

Bug Check 0x6E: SESSION2_INITIALIZATION_FAILED

Bug Check 0x6F: SESSION3_INITIALIZATION_FAILED

Bug Check 0x70: SESSION4_INITIALIZATION_FAILED

Bug Check 0x71: SESSION5_INITIALIZATION_FAILED

Bug Check 0x72: ASSIGN_DRIVE_LETTERS_FAILED

Bug Check 0x73: CONFIG_LIST_FAILED

Bug Check 0x74: BAD_SYSTEM_CONFIG_INFO

Bug Check 0x75: CANNOT_WRITE_CONFIGURATION

Bug Check 0x76: PROCESS_HAS_LOCKED_PAGES

Bug Check 0x77: KERNEL_STACK_INPAGE_ERROR

Bug Check 0x78: PHASE0_EXCEPTION

Bug Check 0x79: MISMATCHED_HAL

Bug Check 0x7A: KERNEL_DATA_INPAGE_ERROR

Bug Check 0x7B: INACCESSIBLE_BOOT_DEVICE

Bug Check 0x7C: BUGCODE_NDIS_DRIVER

Bug Check 0x7D: INSTALL_MORE_MEMORY

Bug Check 0x7E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

Bug Check 0x7F: UNEXPECTED_KERNEL_MODE_TRAP

Bug Check 0x80: NMI_HARDWARE_FAILURE

Bug Check 0x81: SPIN_LOCK_INIT_FAILURE

Bug Check 0x82: DFS_FILE_SYSTEM

Bug Check 0x85: SETUP_FAILURE

Bug Check 0x8B: MBR_CHECKSUM_MISMATCH

Bug Check 0x8E: KERNEL_MODE_EXCEPTION_NOT_HANDLED

Bug Check 0x8F: PP0_INITIALIZATION_FAILED

Bug Check 0x90: PP1_INITIALIZATION_FAILED

Bug Check 0x92: UP_DRIVER_ON_MP_SYSTEM

Bug Check 0x93: INVALID_KERNEL_HANDLE

Bug Check 0x94: KERNEL_STACK_LOCKED_AT_EXIT

Bug Check 0x96: INVALID_WORK_QUEUE_ITEM

Bug Check 0x97: BOUND_IMAGE_UNSUPPORTED

Bug Check 0x98: END_OF_NT_EVALUATION_PERIOD

Bug Check 0x99: INVALID_REGION_OR_SEGMENT

Bug Check 0x9A: SYSTEM_LICENSE_VIOLATION

Bug Check 0x9B: UDFS_FILE_SYSTEM

Bug Check 0x9C: MACHINE_CHECK_EXCEPTION

Bug Check 0x9E: USER_MODE_HEALTH_MONITOR

Bug Check 0x9F: DRIVER_POWER_STATE_FAILURE

Bug Check 0xA0: INTERNAL_POWER_ERROR

Bug Check 0xA1: PCI_BUS_DRIVER_INTERNAL

Bug Check 0xA2: MEMORY_IMAGE_CORRUPT

Bug Check 0xA3: ACPI_DRIVER_INTERNAL

Bug Check 0xA4: CNSS_FILE_SYSTEM_FILTER

Bug Check 0xA5: ACPI_BIOS_ERROR

Bug Check 0xA7: BAD_EXHANDLE

Bug Check 0xAB: SESSION_HAS_VALID_POOL_ON_EXIT

Bug Check 0xAC: HAL_MEMORY_ALLOCATION

Bug Check 0xAD: VIDEO_DRIVER_DEBUG_REPORT_REQUEST

Bug Check 0xB4: VIDEO_DRIVER_INIT_FAILURE

Bug Check 0xB8: ATTEMPTED_SWITCH_FROM_DPC

Bug Check 0xB9: CHIPSET_DETECTED_ERROR

Bug Check 0xBA: SESSION_HAS_VALID_VIEWS_ON_EXIT

Bug Check 0xBB: NETWORK_BOOT_INITIALIZATION_FAILED

Bug Check 0xBC: NETWORK_BOOT_DUPLICATE_ADDRESS

Bug Check 0xBE: ATTEMPTED_WRITE_TO_READONLY_MEMORY

Bug Check 0xBF: MUTEX_ALREADY_OWNED

Bug Check 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION

Bug Check 0xC2: BAD_POOL_CALLER

Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION

Bug Check 0xC5: DRIVER_CORRUPTED_EXPOOL

Bug Check 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL

Bug Check 0xC7: TIMER_OR_DPC_INVALID

Bug Check 0xC8: IRQL_UNEXPECTED_VALUE

Bug Check 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION

Bug Check 0xCA: PNP_DETECTED_FATAL_ERROR

Bug Check 0xCB: DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS

Bug Check 0xCC: PAGE_FAULT_IN_FREED_SPECIAL_POOL

Bug Check 0xCD: PAGE_FAULT_BEYOND_END_OF_ALLOCATION

Bug Check 0xCE: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

Bug Check 0xCF: TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE

Bug Check 0xD0: DRIVER_CORRUPTED_MMPOOL

Bug Check 0xD1: DRIVER_IRQL_NOT_LESS_OR_EQUAL

Bug Check 0xD2: BUGCODE_ID_DRIVER

Bug Check 0xD3: DRIVER_PORTION_MUST_BE_NONPAGED

Bug Check 0xD4: SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD

Bug Check 0xD5: DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL

Bug Check 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION

Bug Check 0xD7: DRIVER_UNMAPPING_INVALID_VIEW

Bug Check 0xD8: DRIVER_USED_EXCESSIVE_PTES

Bug Check 0xD9: LOCKED_PAGES_TRACKER_CORRUPTION

Bug Check 0xDA: SYSTEM_PTE_MISUSE

Bug Check 0xDB: DRIVER_CORRUPTED_SYSPTES

Bug Check 0xDC: DRIVER_INVALID_STACK_ACCESS

Bug Check 0xDE: POOL_CORRUPTION_IN_FILE_AREA

Bug Check 0xDF: IMPERSONATING_WORKER_THREAD

Bug Check 0xE0: ACPI_BIOS_FATAL_ERROR

Bug Check 0xE1: WORKER_THREAD_RETURNED_AT_BAD_IRQL

Bug Check 0xE2: MANUALLY_INITIATED_CRASH

Bug Check 0xE3: RESOURCE_NOT_OWNED

Bug Check 0xE4: WORKER_INVALID

Bug Check 0xE6: DRIVER_VERIFIER_DMA_VIOLATION

Bug Check 0xE7: INVALID_FLOATING_POINT_STATE

Bug Check 0xE8: INVALID_CANCEL_OF_FILE_OPEN

Bug Check 0xE9: ACTIVE_EX_WORKER_THREAD_TERMINATION

Bug Check 0xEA: THREAD_STUCK_IN_DEVICE_DRIVER

Bug Check 0xEB: DIRTY_MAPPED_PAGES_CONGESTION

Bug Check 0xEC: SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT

Bug Check 0xED: UNMOUNTABLE_BOOT_VOLUME

Bug Check 0xEF: CRITICAL_PROCESS_DIED

Bug Check 0xF1: SCSI_VERIFIER_DETECTED_VIOLATION

Bug Check 0xF3: DISORDERLY_SHUTDOWN

Bug Check 0xF4: CRITICAL_OBJECT_TERMINATION

Bug Check 0xF5: FLTMGR_FILE_SYSTEM

Bug Check 0xF6: PCI_VERIFIER_DETECTED_VIOLATION

Bug Check 0xF7: DRIVER_OVERRAN_STACK_BUFFER

Bug Check 0xF8: RAMDISK_BOOT_INITIALIZATION_FAILED

Bug Check 0xF9: DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN

Bug Check 0xFA: HTTP_DRIVER_CORRUPTED

Bug Check 0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

Bug Check 0xFD: DIRTY_NOWRITE_PAGES_CONGESTION

Bug Check 0xFE: BUGCODE_USB_DRIVER

Bug Check 0xFF: RESERVE_QUEUE_OVERFLOW

Bug Check 0x100: LOADER_BLOCK_MISMATCH

Bug Check 0x101: CLOCK_WATCHDOG_TIMEOUT

Bug Check 0x103: MUP_FILE_SYSTEM

Bug Check 0x104: AGP_INVALID_ACCESS

Bug Check 0x105: AGP_GART_CORRUPTION

Bug Check 0x106: AGP_ILLEGALLY_REPROGRAMMED

Bug Check 0x108: THIRD_PARTY_FILE_SYSTEM_FAILURE

Bug Check 0x109: CRITICAL_STRUCTURE_CORRUPTION

Bug Check 0x10A: APP_TAGGING_INITIALIZATION_FAILED

Bug Check 0x10C: FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION

Bug Check 0x10D: WDF_VIOLATION

Bug Check 0x10E: VIDEO_MEMORY_MANAGEMENT_INTERNAL

Bug Check 0x10F: RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED

Bug Check 0x111: RECURSIVE_NMI

Bug Check 0x112: MSRPC_STATE_VIOLATION

Bug Check 0x113: VIDEO_DXGKRNL_FATAL_ERROR

Bug Check 0x114: VIDEO_SHADOW_DRIVER_FATAL_ERROR

Bug Check 0x115: AGP_INTERNAL

Bug Check 0x116: VIDEO_TDR_ERROR

Bug Check 0x117: VIDEO_TDR_TIMEOUT_DETECTED

Bug Check 0x119: VIDEO_SCHEDULER_INTERNAL_ERROR

Bug Check 0x11A: EM_INITIALIZATION_FAILURE

Bug Check 0x11B: DRIVER_RETURNED_HOLDING_CANCEL_LOCK

Bug Check 0x11C: ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE

Bug Check 0x11D: EVENT_TRACING_FATAL_ERROR

Bug Check 0x121: DRIVER_VIOLATION

Bug Check 0x122: WHEA_INTERNAL_ERROR

Bug Check 0x124: WHEA_UNCORRECTABLE_ERROR

Bug Check 0x127: PAGE_NOT_ZERO

Bug Check 0x12B: FAULTY_HARDWARE_CORRUPTED_PAGE

Bug Check 0x12C: EXFAT_FILE_SYSTEM

Bug Check 0x133 DPC_WATCHDOG_VIOLATION

Bug Check 0x138 GPIO_CONTROLLER_DRIVER_ERROR

Bug Check 0x139 KERNEL_SECURITY_CHECK_FAILURE

Bug Check 0x144: BUGCODE_USB3_DRIVER

Bug Check 0x14B: SOC_SUBSYSTEM_FAILURE

Bug Check 0x15D: SOC_SUBSYSTEM_FAILURE_LIVEDUMP

Bug Check 0x15E: BUGCODE_NDIS_DRIVER_LIVE_DUMP

Bug Check 0x1000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M

Bug Check 0x1000007F: UNEXPECTED_KERNEL_MODE_TRAP_M

Bug Check 0x1000008E: KERNEL_MODE_EXCEPTION_NOT_HANDLED_M

Bug Check 0x100000EA: THREAD_STUCK_IN_DEVICE_DRIVER_M

Bug Check 0xC0000218: STATUS_CANNOT_LOAD_REGISTRY_FILE

Bug Check 0xC000021A: STATUS_SYSTEM_PROCESS_TERMINATED

Bug Check 0xC0000221: STATUS_IMAGE_CHECKSUM_MISMATCH

Bug Check 0xDEADDEAD: MANUALLY_INITIATED_CRASH1

部分代码含义

1.0x0000000A:IRQL_NOT_LESS_OR_EQUAL

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

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

2、0x00000012:TRAP_CAUSE_UNKNOWN

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

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

3、0x0000001A:MEMORY_MANAGEMENT

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

◇解决方案:如果是在安装Windows时出现,有可能是由于你的电脑达不到安装Windows的最小内存和磁盘要求。请加大内存或多划分一些磁盘空间。

4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED

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

◇解决方案:

⑴硬件兼容有问题:请对照最新硬件兼容性列表, 查看所有硬件是否包含在该列表中。或者使用相应的Windows升级助手来检查硬件的要求。

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

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

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

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

传递信息

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

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

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

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

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

维护技巧

1。定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。

2。尽量避免非正常关机,减少重要文件的丢失。如VxD、DLL文件等,硬盘出现损伤或系统引导文件丢失。

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

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

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

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

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

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

9。定期升级操作系统,软件和驱动。

10。警惕温柔杀手导致"电脑蓝屏"

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

编写过程

Windows操作系统的蓝屏死机提示已经成为标志性的画面,说明软件出现了问题。但很少有人知道,这个屏幕上的文字竟然出自前微软CEO史蒂夫·鲍尔默(Steve Ballmer)之手。

根据微软资深程序员雷蒙德·陈(Raymond Chen)的介绍,当时鲍尔默负责微软系统部门,他不喜欢最初工程师撰写的警告提示文字,并接受了手下开发人员的挑战:亲自撰写更好的文字。

几天之后,鲍尔默完成了这项任务,他所撰写的文字也几乎一字不差地出现在最终出货的产品系统里。当然,随着系统的更新,这些文字也几经改变,而且技术进步使得如今的Windows设备出现蓝屏死机的频率越来越低,不过鲍尔默亲自撰写软件崩溃警告提示仍然令人惊异。[1]

参考文献