Bug 检查 0x7A:KERNEL_DATA_INPAGE_ERROR

KERNEL_STACK_INPAGE_ERROR Bug 检查的值为 0x0000007A。 此 Bug 检查表明无法将分页文件中请求的内核数据页读入内存。

重要

这篇文章适合程序员阅读。 如果您是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答

参数

消息中列出的四个参数可能具有三种含义。

如果第一个参数为 1、2 或 3,第三个参数为 0,则参数的定义如下。

参数 说明
1 持有的锁类型(1、2 或 3)
2 错误状态(通常是 I/O 状态代码)
3 如果锁类型为 1:当前进程

如果锁类型为 2 或 3:0
4 无法分页到内存中的虚拟地址

如果第一个参数为 3或 4(第三个参数不为 0),则参数的定义如下。

参数 说明
1 持有的锁类型(3 或 4)
2 错误状态(通常是 I/O 状态代码)
3 InPageSupport 结构的地址
4 故障地址

否则,参数定义如下。

参数 说明
1 页表项 (PTE) 的地址
2 错误状态(通常是 I/O 状态代码)
3 PTE 内容
4 故障地址

原因

通常情况下,可以通过错误状态(参数 2)确定 KERNEL_DATA_INPAGE_ERROR Bug 检查的原因。 这些是 NTSTATUS 值

一些常见的状态代码包括:

  • 0xC000009A 或 STATUS_INSUFFICIENT_RESOURCES 表示缺少非分页池资源。

  • 0xC000009C 或 STATUS_DEVICE_DATA_ERROR 通常表示硬盘上有坏块(扇区)。

  • 0xC000009D 或 STATUS_DEVICE_NOT_CONNECTED 表示布线、端接有有缺陷或松动,或者控制器看不到硬盘。

  • 0xC000016A 或 STATUS_DISK_OPERATION_FAILED 表示硬盘上有坏块(扇区)。

  • 0xC0000185 或 STATUS_IO_DEVICE_ERROR 表示 SCSI 设备上的端接不当或布线有缺陷,或者两台设备尝试使用相同的 IRQ。

  • 0xC000000E 或 STATUS_NO_SUCH_DEVICE 表示硬件故障或驱动器配置不正确。 检查电缆,并使用驱动器制造商提供的诊断实用工具检查驱动器。 如果使用的是较旧的 PATA (IDE) 驱动器,此状态代码可能表示主/从驱动器配置不正确。

这些状态代码是具有特定原因的最常见状态代码。 有关特定 Windows 版本可能返回的其他状态代码的详细信息,请参阅 Ntstatus.h Microsoft Windows 驱动程序工具包 (WDK) 中的文件。 OSR 第三方提供了将 NTSTATUS 映射到 Win32 错误代码的 PDF 文档NTSTATUS 到 Win32 错误代码的映射

导致此错误消息的另一个常见原因是存储硬件有缺陷或 RAM 内存故障。

病毒感染也会导致这种 Bug 检查。

解决方法

解决坏块问题: 0xC000009C 或 0xC000016A 的 I/O 状态代码通常表示由于存在坏块(扇区)而无法从磁盘读取数据。 如果出错后可以重新启动计算机,Autochk 会自动运行并尝试映射坏扇区,以防止其再被使用。

如果 Autochk 未扫描硬盘中的错误,可以手动启动磁盘扫描程序。 在系统分区上运行 Chkdsk /f /r 。 在磁盘扫描开始前,必须重新启动计算机。 如果由于错误而无法启动计算机,请使用恢复控制台并运行 Chkdsk /r

解决 RAM 故障问题:运行系统制造商提供的硬件诊断程序,尤其是内存扫描程序。 有关这些过程的详细信息,请参阅计算机的用户手册。

解决有缺陷的硬件问题:如果 I/O 状态为 C0000185 并且分页文件位于较旧的 SCSI 磁盘上,检查磁盘布线和 SCSI 终端问题。

解决感染病毒:使用任何可检查硬盘主启动记录的最新商业病毒扫描软件,检查计算机是否存在病毒。 Windows 文件系统有可能感染病毒。

检查系统事件查看器获取错误消息,这可能有助于识别导致错误的设备。 尤其应检查 Bug 检查之前发生的错误。

确保已安装最新的 Windows 更新。

找到并运行任何可用的电脑诊断测试软件。 主板上的裂缝、划痕或有缺陷的组件都可能会导致此 Bug 检查。

对于带卡槽的电脑,检查计算机中的所有适配器卡是否都已正确安置。 使用电子用品商店出售的墨迹橡皮擦或电气触点处理剂,确保适配器卡接触点干净无尘。

另请参阅

Bug 检查 0x77:KERNEL_STACK_INPAGE_ERROR