bug 检查 0x18C:HYPERGUARD_VIOLATION
HYPERGUARD_VIOLATION bug 检查的值为 0x0000018C。 这表示内核检测到关键内核代码或数据已损坏。
重要
这篇文章适合程序员阅读。 如果您是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答。
注意
此 bug 代码保留仅供 Hyperguard 使用。
它不是供其他组件在数据损坏方案中使用的常规用途 bug 代码。
相反,为组件定义唯一的 bug 代码。
不要在组件中使用此 bug 代码。
HYPERGUARD_VIOLATION 参数
参数 | 说明 |
---|---|
1 | 损坏区域的类型 - 下面列出的值。 |
2 | 故障类型相关信息。 |
3 | 保留。 |
4 | 保留。 |
损坏区域的类型
1001:通用数据区域
1002:页面哈希不匹配
1004:处理器 IDT
1005:处理器 GDT
1007:调试例程修改
1008:动态代码区域
1009:通用可共享数据区域
100a:虚拟机监控程序覆盖区域
100b:处理器模式配置错误
100c:扩展处理器控制寄存器
100d:安全内存区域
100e:已加载模块
100f:处理器状态区域
1010:内核 CFG 位图
1011:虚拟地址 0 页
1012:交替反转函数表
1013:按需页面验证失败
1016:安全映像区域
1017:内核虚拟地址保护不一致
1101:内部上下文损坏
1102:IDTR 修改
1103:GDTR 修改
原因
当内核检测到关键内核代码或数据已损坏时,将生成此 bug检查。 损坏通常有三个原因:
驱动程序无意或故意修改了关键内核代码或数据。
开发人员尝试使用启动系统时未附加的内核调试器设置正常的内核断点。 仅当在启动时附加调试器时,才能设置正常的断点“bp”。 可以随时设置硬件断点“ba”。
发生硬件损坏,例如 RAM 保存内核代码或数据失败。