您现在的位置是:首页 >技术交流 >解决 wsl2 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败、没有收到虚拟机或容器的回应,操作超时网站首页技术交流

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

我才是一卓 2024-06-17 11:25:15
简介解决 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
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。