错误代码0x000000c2(BAD_POOL_CALLER)需按硬件→驱动→系统三层顺序排查:先用mdsched.exe检测内存物理故障,再通过设备管理器或WinDbg定位并替换问题驱动,最后用sfc/DISM修复系统映像。

电脑突然蓝屏并显示错误代码0x000000c2,提示“BAD_POOL_CALLER”,说明Windows内核在管理内存池时遭遇非法操作,常见于驱动冲突、内存硬件异常或系统文件损坏,必须按硬件→驱动→系统三层顺序排查,跳过任一环节都可能反复触发蓝屏。
第一步:用Windows内存诊断工具检测RAM物理故障
内存芯片存在位翻转或供电不稳时,内核读取堆栈结构会拿到错误地址,直接触发0x000000c2。该工具在预启动环境运行,绕过操作系统干扰,是唯一能验证DRAM模块级缺陷的手段。
按下Win + R打开运行框,输入mdsched.exe后回车。
选择立即重新启动并检查问题,系统将自动进入低级扫描流程,执行至少5轮完整测试,全程无需人工干预。
扫描结束后自动重启进入桌面,在事件查看器→Windows日志→系统中筛选来源为MemoryDiagnostics-Results的事件条目。
若事件内容含“内存损坏”或“无法纠正的错误”,请逐条拔插内存条并单独测试——更换报告异常的物理插槽对应模组,且新内存必须符合主板QVL列表中的型号与SPD参数,否则仍会复现错误。
第二步:定位并替换嫌疑驱动程序
显卡、存储控制器、网络适配器驱动最常引发BAD_POOL_CALLER,尤其第三方安全软件附带的过滤驱动或超频工具注入的内核模块。
方法一:设备管理器手动更新
右键“此电脑”→“管理”→“设备管理器”,展开显示适配器、存储控制器、IDE ATA/ATAPI控制器、网络适配器;对每个设备右键→“属性”→“驱动程序”选项卡→点击“更新驱动程序”→“浏览我的计算机以查找驱动程序软件”→勾选“显示兼容硬件”,从列表中选择标有“Microsoft”或设备厂商官方签名的版本。
方法二:回滚或卸载最近变更的驱动
若蓝屏出现在驱动更新后,返回同一界面点击“回退驱动程序”;若该按钮灰显,右键设备→“卸载设备”,务必勾选“删除此设备的驱动程序软件”,重启后由系统重装基础驱动。
方法三:WinDbg分析Dump文件精确定位(需有.minidump文件)
下载WinDbg Preview,点击“文件→打开转储文件”,加载C:\Windows\Minidump\下最新.dmp;输入!analyze -v回车,在输出中查找“FAILURE_BUCKET_ID”字段,若含“BAD_POOL_CALLER_IMAGE_dxgmms2.sys”类标识,则执行lmvm dxgmms2确认该模块签名状态——unsigned或时间戳早于2024年的驱动必须移除。
第三步:修复系统映像与核心组件
系统核心驱动文件(如ntoskrnl.exe、win32k.sys)或注册表中池分配策略配置受损,会导致内核无法正确管理非分页池。
以管理员身份运行命令提示符,依次执行以下命令:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
执行完成后重启电脑。若SFC报告“Windows资源保护找到了损坏文件但无法修复”,说明系统映像已深度损坏,必须进入恢复环境执行进阶修复。
连续按电源键强制关机3次,第4次开机将自动进入恢复环境;选择“疑难解答”→“高级选项”→“命令提示符”,输入:bootrec /rebuildbcd → bootrec /fixmbr → bootrec /fixboot,每条命令执行后确认返回“操作成功”再进行下一条。


















