导致这个蓝屏反复出现的直接原因是PatchGuard内核保护被触发了。
根本原因多种多样,可能是:
①腾讯电脑管家TSDefenseBT64.sys曾出过此bug,还有腾讯游戏的TP曾经多次出现此问题(如果某天玩腾讯游戏出现此蓝屏的,可以到游戏官方论坛看看)
②病毒、木马或流氓软件引发的(印象中有小易记事本、2345浏览器),可以通过反病毒软件来解决(比如360急救箱)
③装了不适用新系统的老版本软件(杀毒软件/虚拟机/安卓模拟器/驱动)
④装了游戏外挂,外挂作者如果疏忽/水平不够也有可能触发PatchGuard导致不定时蓝屏
⑤硬件有问题(非常罕见)
PatchGuard的正名是Kernel Patch Protection,它是Windows内核的一种自我保护措施,大体上就是内核版的“CRC32自校验”……
它的原理是在内核里埋设一些自我检查的代码,不定时检查内核有没有被篡改,如果发现篡改就会主动触发蓝屏。
Win7下,蓝屏代码显示为十六进制代码形式0x00000109;
Win8以后,蓝屏代码显示为字符串形式CRITICAL_STRUCTURE_CORRUPTION(其实对应的还是Bugcheck 109)。
微软在不断改进PatchGuard,严格程度Win10>Win8.1>Win7——因此,可以理解为何会出现原先Win7不蓝屏,升级Win8、Win10后开始蓝屏的现象。
这种蓝屏大多不能通过WinDbg、BlueScreenView打开dump看Probably caused driver和Call stack的方法来定位具体的故障源头(即便开启了完全内存转储),需要做现场排查。
精彩案例分析一:(来源:360安全团队)
精彩案例分析二:(作者:lee_zhou)
https://blog.csdn.net/qq_35206244/article/details/113805925
精彩案例分析三:(作者:张佩)
https://blog.csdn.net/blog_index/article/details/9700667
最后一段指出:系统的KPP一直在系统中运行着,它不保证当问题发生的时候,马上就抓到它。但它保证,只要问题存在足够长的时间(可能要经过几个小时,也可能只需几分钟),KPP就一定能够抓到它