WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)

WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南

最近遇到 WSL2 突然无法上网,表现为:

  • ping 8.8.8.8 → Network is unreachable
  • ip a 里只有 lo 和一堆 Docker 网桥,没有 eth0
  • /etc/resolv.conf 不存在或无效
  • Windows 网络连接里也找不到 vEthernet (WSL)

这是典型的 HNS(Host Network Service)网络状态损坏,不是简单的 DNS 问题。

以下是经过实战验证、最短路径修复方法(成功率很高)。


一、快速确认是否属于此类问题

在 WSL 中执行:

bash 复制代码
ip a | grep eth0
ip route

如果没有 eth0,且没有 default via 路由,基本就是这个问题。


二、最短修复步骤(核心)

全部在 Windows PowerShell(管理员)中执行:

powershell 复制代码
# 1. 关闭 WSL
wsl --shutdown

# 2. 停止关键服务
Stop-Service hns -Force
Stop-Service vmcompute -Force

# 3. 删除损坏的 HNS 数据库(最关键)
Remove-Item -Path "C:\ProgramData\Microsoft\Windows\HNS\HNS.data" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\ProgramData\Microsoft\Windows\HNS\HNS.data.old" -Force -ErrorAction SilentlyContinue

# 4. 重新启动服务
Start-Service vmcompute
Start-Service hns

# 5. 启动一次 WSL,强制重建网络
wsl -e ip a

执行完后,正常情况下会看到 eth0 重新出现,并分配到 IP(例如 192.168.137.x)。


三、验证网络是否恢复

进入 WSL 后执行:

bash 复制代码
ip route                  # 应该有 default via ...
ping -c 3 8.8.8.8         # 应该通
ping -c 3 baidu.com       # 测试 DNS

如果 ping 8.8.8.8 已经通了,基本就修复完成。


五、常见伴随现象

  • Windows 网络连接里只有 vEthernet (FSE HostVnic),没有 vEthernet (WSL)
  • 安装了 Docker Desktop 后更容易出现
  • Windows 更新后偶发

总结一句话

WSL2 没网且没有 eth0 时,优先清理 HNS 数据库 + 重启相关服务,是目前最快、最有效的修复方式。

把上面「二、最短修复步骤」保存下来,以后再遇到直接复制执行即可,通常 1 分钟内就能恢复。

相关推荐
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧5 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
qetfw6 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
BIBI20497 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
chushiyunen7 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
逆风的蚂蚁7 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
燃烧的枫9 小时前
Windows 下 YOLO11 Det 的 TensorRT C++ 部署
pytorch·windows·tensorrt·关键点识别·yolo11
猪八宅百炼成仙10 小时前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
鱼宵11 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21