对于Windows系统WSL技术较熟悉的小伙伴对于WSL和WSL2两个版本间的架构差异应该都比较了解,有不少人可能都会吐槽WSL2其实是一种倒退,只不过今天我们不讨论这点,而是来分享下在使用WSL2服务遇到的问题,及亲测有效的解决方案。
之前的分享中有提到过借助WSL2+Podman两者组合方案实现容器化环境搭建,后来在使用过程中却也是遇到了些问题。起初以为是Podman
的技术原因还不成熟的原因,直到后来才发现是WSL2服务本身存在问题,进而导致容器环境无法正常使用。
平日里一般都会使用休眠来代替关机,之前未使用虚拟服务时也没有察觉出有何异常。只是有次开启了Podman里的容器,想在休眠恢复后再重新连接虚拟服务的容器服务系统,便遇到了无法访问的情况:终端命令一直卡住不动,没有任何报错和响应输出。
开始是只能无奈的关机重启再启动WSL2和Podman服务,只是这样会比较麻烦,得要重新启用需要使用的软件与文档。后来网上调研了些相关的处理办法,梳理出如下可用的方案(只需要4个步骤就可以恢复Podman的服务):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 1.停止虚拟服务 net stop vmms # 2.停止Liux子系统管理 net stop LxssManger # 3.停止WSL2虚拟服务 taskkill /f /im wslservice.exe # 4.启动Podman服务 podman machine start podman-vm # 5.进入WSL系统 podman machine ssh podman-vm |
---|
命令执行过程中的日志输出参考如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | C:\Users\用户名>net stop vmms The Hyper-V 虚拟机管理 service is stopping. The Hyper-V 虚拟机管理 service was stopped successfully. C:\Users\用户名>net stop LxssManager The LxssManager service is stopping. The LxssManager service was stopped successfully. C:\Users\用户名>taskkill /f /im wslservice.exe SUCCESS: The process "wslservice.exe" with PID 48264 has been terminated. C:\Users\用户名>wsl -l 适用于 Linux 的 Windows 子系统分发: podman-vm (默认) C:\Users\用户名>podman machine start podman-vm Starting machine "podman-vm" API forwarding for Docker API clients is not available due to the following startup failures. could not start api proxy since expected pipe is not available: podman-vm Podman clients are still able to connect. Machine "podman-vm" started successfully C:\Users\用户名>podman machine ssh podman-vm Connecting to vm podman-vm. To close connection, use `~.` or `exit` Last login: Mon May 20 18:15:03 2024 from ::1 [user@用户名 ~]$ uname -a Linux 用户名 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 GNU/Linux |
---|
如此看来在WSL2中使用Linux系统也是路途多坎坷呀,建议还是要注意在准备系统休眠前,把正在进行的Linux相关操作保存好,避免后面系统休眠后无法进入WSL系统而导致数据。也可以将如上的解决方案做成批处理脚本,便于在休眠重启后一键快速恢复。
2024-08-08 更新:可以尝试直接使用命令podman manchine stop podman-vm
停止虚拟服务,然后使用podman machine start podman-vm
启动虚拟服务,这样便省去上述那些复杂的操作步骤。
引用参考:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有