Windows蓝屏BAD_POOL_CALLER修复教程
蓝屏代码0x000000C2代表"BAD_POOL_CALLER",这个错误表示系统发现了一个驱动程序错误或内存管理问题,其中的一个函数在无效或已释放的内存池中进行了调用。这可能导致系统崩溃并显示蓝屏错误。
快快蓝屏修复助手可以帮你修复各类蓝屏异常和错误问题,能快速检测软件、硬件和驱动故障。分析蓝屏日志。
要解决这个问题,可以尝试以下方法:
方法一:确保系统没有过热
蓝屏错误有时也与过热的计算机硬件有关,确保所有风扇正常运转,清洁内部组件,并在必要时更换散热剂。
方法二:启用安全模式
重新启动计算机并按下F8键进入高级启动选项,选择"安全模式"并进行测试,如果在安全模式下没有出现蓝屏错误,可能是因为某个第三方驱动程序导致的问题。
方法三:检查系统稳定性设置
打开控制面板,进入“系统和安全”>“系统”>“高级系统设置”,在“高级”选项卡下的“启动和故障恢复”中,确保“自动重启”选项已取消勾选,这样当出现蓝屏错误时,系统将停留在蓝屏界面,以方便查看错误信息。
方法四:使用一键修复工具助手(强烈推荐)
1、首先你的电脑必须下载与完成安装完成快快蓝屏修复助手。如果你还没有安装点击下方链接下载。
下载地址:>>>快快蓝屏修复助手<<<
提示:安装路径不要选择C盘,避免产生问题造成损失。
2、找到你电脑中的快快蓝屏修复助手,点击进入。看到首页后,点击首页一键扫描按钮开始扫描。等待几分钟,就能获取你急切想要的结果。
3、扫描完成后会显示电脑的所有蓝屏记录以及蓝屏的详细信息。
4、解决方案页面显示了导致该次蓝屏的具体原因和解决方案,点击右上角的一键修复进行修复。
5、切记,当修复完成之后我们还是需要重新启动计算机的。毕竟一切修复的结果,需要重新后,才能被系统认可。
当你完成重启后,你电脑的蓝屏问题已经基本解决了。相信小编,不要急需卸载快快蓝屏修复助手。毕竟它强大的功能是你未来的一个保障,可以随时随地为你服务,让你再次遇到蓝屏问题不在抓狂。
其他相关信息:
BAD_POOL_CALLER bug 检查 的值为 0x000000C2。 这表示当前线程发出错误的池请求。
BAD_POOL_CALLER参数
参数 1 指示冲突的类型。
参数 1 | 参数 2 | 参数 3 | 参数 4 | 错误消息的原因 |
---|---|---|---|---|
0x00 |
0 |
池类型 |
池标记 |
当前线程请求了零字节池分配。 |
0x01, 0x02, 0x04 |
指向池标头的指针 |
池标头内容的第一部分 |
0 |
池标头已损坏。 |
0x06 |
保留 |
指向池标头的指针 |
池标头内容 |
当前线程尝试释放已释放的池。 |
0x07 |
保留 |
池标头内容 |
正在释放的池块的地址 |
当前线程尝试释放已释放的池。 |
0x08 |
当前 IRQL |
池类型 |
分配大小(以字节为单位) |
当前线程尝试在无效 IRQL 中分配池。 |
0x09 |
当前 IRQL |
池类型 |
池的地址 |
当前线程尝试在无效 IRQL 中释放池。 |
0x0A |
池的地址 |
分配器的 标记 |
在尝试的 free 中使用的标记 |
当前线程尝试使用错误的标记来释放池内存。 (内存可能属于另一个组件。) |
0x0B, 0x0C, 或 0x0D |
池的地址 |
池分配的标记 |
配额进程指针错误 |
当前线程尝试释放已损坏的池分配的配额。 |
0x40 |
开始地址 |
启动系统地址空间 |
0 |
当前线程尝试在用户模式地址释放内核池。 |
0x41 |
开始地址 |
物理页框架 |
最高物理页框 |
当前线程尝试释放未分配的非分页池地址。 |
0x42 或 0x43 |
正在释放的地址 |
0 |
0 |
当前线程尝试释放从未在任何池中的虚拟地址。 |
0x44 |
开始地址 |
保留 |
0 |
当前线程尝试释放未分配的非分页池地址。 |
0x46 |
开始地址 |
0 |
0 |
当前线程尝试释放无效的池地址。 |
0x47 |
开始地址 |
物理页框架 |
最高物理页框 |
当前线程尝试释放未分配的非分页池地址。 |
0x48 |
开始地址 |
预留 |
预留 |
当前线程尝试释放未分配的分页池地址。 |
0x50 |
开始地址 |
从分页池的开头开始偏移量(以页为单位) |
分页池的大小(以字节为单位) |
当前线程尝试释放未分配的分页池地址。 |
0x60 |
开始地址 |
0 |
0 |
当前线程尝试释放无效的连续内存地址。 (MmFreeContiguousMemory 的调用方传递了错误的指针。) |
0x99 |
正在释放的地址 |
0 |
0 |
当前线程尝试释放地址无效的池。 (此代码也可能指示池标头中的损坏) |
0x9A |
池类型 |
请求的字节数 |
池标记 |
当前线程将分配请求标记为MUST_SUCCEED。 (不再支持此池类型。) |
0x9B |
池类型 |
请求的字节数 |
呼叫者的地址 |
当前线程尝试分配标记为 0 的池 (这是不可跟踪的,并可能损坏现有标记表。) |
0x9C |
池类型 |
请求的字节数 |
呼叫者的地址 |
当前线程尝试分配标记为“BIG”的池。 (这是不可跟踪的,并可能损坏现有的标记表。) |
0x9D |
使用的池标记不正确 |
池类型 |
呼叫者的地址 |
当前线程尝试分配包含不包含任何字母或数字的标记的池。 使用此类标记会使跟踪池问题变得困难。 |
0x41286 |
预留 |
预留 |
从分页池的开头开始偏移量(以页为单位) |
当前线程尝试在分配中释放分页池地址。 |
_POOL_TYPE代码在 Ntddk.h 中枚举。 具体而言,0 表示非分页池,1 表示分页池。
原因
当前线程发出了无效的池请求。 通常,这在错误的 IRQL 级别或双重释放相同的内存分配,等等。
解决方法
在启用内存池选项的情况下激活驱动程序验证程序,以获取有关这些错误的详细信息并找到出错的驱动程序。
驱动程序验证程序
驱动程序验证程序是一个实时运行的工具,用于检查驱动程序的行为。 如果发现驱动程序代码执行错误,它会主动创建一个异常,以允许进一步审查驱动程序代码的这一部分。 驱动程序验证程序管理器内置于 Windows 中,可在所有 Windows PC 上使用。 若要启动驱动程序验证程序管理器,请在命令提示下键入“验证程序” 。 你可以配置要验证的驱动程序。 验证驱动程序的代码在运行时会增加开销,因此请尝试验证尽可能少的驱动程序。 有关详细信息,请参阅驱动程序验证程序。
Windows 内存诊断
特别是,对于内存池损坏的情况,请运行 Windows 内存诊断工具,尝试隔离物理内存作为原因。 在控制面板搜索框中,键入“内存”,然后选择“ 诊断计算机的内存问题”。运行测试后,使用事件查看器查看系统日志下的结果。 查找“内存诊断结果”条目以查看结果 。