解决 wsl2 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败、没有收到虚拟机或容器的回应,操作超时

1、问题

  • windows
  • wsl2 (Ubuntu-18.04)

wsl 子系统用了一段时间,突然无法连接了,报错提示如下:

由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

折腾多次后,报错提示变为如下提示,详见第二部分:

没有收到虚拟机或容器的回应,操作超时 [已退出进程,代码为4294967295]

2、排查

根据网上方案,使用以下命令多次重启 wsl ,有一两次提示发生了变化,但总是无法启动 wsl
注:许多人通过重启就可以解决问题,值得一试。

重启命令 1

# 在 Windows PowerShell(管理员)下运行
net stop LxssManager
net start LxssManager

重启命令 2

# 在 Windows PowerShell(管理员)下运行
wsl --shutdown
wsl

重启命令 3

# 在 Windows PowerShell(管理员)下运行
wsl --terminate Ubuntu-18.04
wsl

新的错误提示

没有收到虚拟机或容器的回应,操作超时 [已退出进程,代码为4294967295]

3、解决

最终我的解决方案是“无损重装 wsl”,即将 wsl 导出、卸载(注销)、重新导入,此方案会比较耗时,但可以保证成功并可以完全恢复原来的 wsl 系统。

  • 首先导出子系统为 D 盘下的 tar 文件,此步骤根据 wsl 子系统大小,耗时可能超过半个小时,记得耐心等待。
# 在 Windows PowerShell(管理员)下运行
# --export <系统版本> <文件名/文件路径>
wsl --export Ubuntu-18.04 D:\wsl.tar
  • 然后卸载(注销)这个 wsl 子系统
# 在 Windows PowerShell(管理员)下运行
# wsl --unregister <系统版本>
wsl --unregister Ubuntu-18.04
  • 最后从 tar 文件重新导入子系统,此步骤根据 wsl 子系统大小,耗时可能超过半个小时,记得耐心等待。
# 在 Windows PowerShell(管理员)下运行
# wsl --import <系统版本> <安装路径> <文件名/文件路径>
wsl --import Ubuntu-18.04 C:\Ubuntu-18.04 D:\wsl.tar
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值