这个蓝屏问题困扰了我一年多。
最常见的触发场景是在 Emby 里看电影,尤其是切换影片、拖动进度或同时播放多个视频时。期间我怀疑过内存超频、显卡硬解、Emby、网卡驱动,甚至一度不敢继续使用 WSL,但始终没有找到根因。
最近连续两次蓝屏后,我重新用 WinDbg 分析了转储文件,终于发现问题很可能来自 AdGuard 的 WFP 网络驱动。
蓝屏特征
两次转储的核心信息几乎完全一致:
DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
Arg1: 0000000000000050Arg2: 0000000000000002Arg3: 0000000000000000
NETIO!StreamInvokeCalloutAndNormalizeAction+2dbcmp dword ptr [rdx+50h],r15d
FAILURE_BUCKET_ID:AV_NETIO!StreamInvokeCalloutAndNormalizeAction虽然转储里显示:
PROCESS_NAME: EmbyServer.exe但这只能说明蓝屏发生时,系统正在处理 Emby 的网络流量,并不代表 Emby 本身就是根因。
真正值得注意的是 NETIO.SYS、StreamInvokeCalloutAndNormalizeAction 和 AV_NETIO。这些信息指向 Windows 的网络过滤路径,而 AdGuard、杀毒软件、VPN、代理等程序,都会通过网络驱动接入这套机制。
找到几乎相同的公开案例
搜索完整错误签名后,我在 AdGuard 官方 GitHub 找到了一个专门追踪 WFP 驱动蓝屏的问题:
AdGuard for Windows Issue #5792:BSOD when using WFP driver
其中有用户提交了与我几乎相同的 WinDbg 信息:
BUGCHECK_CODE: d1ARG1: 0000000000000050ARG2: 0000000000000002ARG3: 0000000000000000
NETIO!StreamInvokeCalloutAndNormalizeAction+2dbcmp dword ptr [rdx+50h],r15d随后我检查自己的 AdGuard 设置,发现当时使用的正是:
设置→ 网络→ 流量过滤→ WFP至此,错误签名、公开案例和本机配置全部对上。
解决方法
进入 AdGuard:
设置→ 网络→ 流量过滤把网络驱动从:
WFP切换为:
SockFilter(实验性)然后重启 Windows。
注意不要只退出 AdGuard,切换网络驱动后最好完整重启一次系统。
验证结果
切换到 SockFilter 后,我专门重复了之前容易触发蓝屏的操作:
- 同时打开多个 Emby 播放窗口
- 频繁切换不同电影
- 来回拖动播放进度
- 长时间进行视频串流
- 继续进行其他高负载操作
电脑已经连续稳定运行多天,没有再次出现蓝屏或意外重启。
从实际排障角度看,证据链已经比较完整:
固定蓝屏签名→ NETIO/WFP 网络过滤路径→ 找到 AdGuard 官方同类案例→ 确认本机使用 WFP→ 切换 SockFilter→ 原触发场景连续多天不再蓝屏如果仍然蓝屏
并不是所有 NETIO.SYS 蓝屏都一定由 AdGuard 引起。
如果切换 SockFilter 后仍然蓝屏,可以继续检查:
- 第三方杀毒软件
- VPN、代理和 TUN 驱动
- 游戏加速器
- 防火墙
- 流量监控或抓包软件
- 其他虚拟网卡驱动
也可以暂时彻底卸载 AdGuard并重启,再重复原来的触发场景,以确认问题是否与它有关。
总结
最终解决方法只有一项:
AdGuard→ 设置→ 网络→ 流量过滤→ WFP 改为 SockFilter→ 重启电脑一个困扰一年多的问题,最后竟然只是藏在 AdGuard 设置里的一个网络驱动选项。
如果你也遇到了下面这类错误:
DRIVER_IRQL_NOT_LESS_OR_EQUALNETIO!StreamInvokeCalloutAndNormalizeActionAV_NETIO并且电脑安装了 AdGuard,可以优先检查当前是否正在使用 WFP 驱动。