2026年9月22日

技术教程 解决WSL2出现0x8007054f无法正常使用镜像网络模式的问题

作者 TheWhiteDog9487

问题特征

在配置WSL的网络模式为Mirrored之后,启动WSL可能出现如下报错

wsl: 出现了内部错误。
错误代码: CreateInstance/CreateVm/ConfigureNetworking/0x8007054f
wsl: 无法配置 networkingMode Mirrored) (网络,回退到 networkingMode None。

或者是这样的

wsl: An internal error occurred.
Error code: CreateInstance/CreateVm/ConfigureNetworking/0x8007054f
wsl: Unable to configure networkingMode Mirrored) (network, falling back to networkingMode None.

它甚至直接回退到了None而不是NAT,所以WSL直接断网了没想到吧
( 很难想象这样的回退策略是什么样的人设计出来的

具体情况

这是个臭名昭著的陈年老Bug,到现在都没解决
Error code: CreateInstance/CreateVm/ConfigureNetworking/0x8007054f · Issue #12351 · microsoft/WSL

根据issue的讨论和网络上其他帖子的情报,这个问题很可能和下面这三位有关系

PS D:\> Get-Service hns

Status   Name               DisplayName
------   ----               -----------
Running  hns                主机网络服务

PS D:\> Get-Service WSLService

Status   Name               DisplayName
------   ----               -----------
Running  WSLService         WSL Service

PS D:\> Get-Service WinNAT

Status   Name               DisplayName
------   ----               -----------
Running  WinNAT             Windows NAT Driver

而且忘记是哪的帖子了,说是深入研究了一下,这甚至可能是这三位和WSL自身出现了竞态条件也就是启动顺序问题导致的

解决方案

这个的解决方案五花八门,#12351这个issue里就可见一斑
我这里提供一个在我这确认管用的。


1:打开任务计划程序
2:创建一个新任务
3:将安全选项设置为“不管用户是否登录都要运行”

4:添加一个触发器,条件设置为“启动时”

5:添加一个操作,类型为“启动程序”,程序或脚本直接填写“wsl”

6:保存
7:重启电脑