我的 Win 11 中的 WSL 一直运行顺利,直到我突然无法通过任何方式访问它(Ubuntu 应用程序、CMD/Powershell 中的 WSL,甚至 SSH)。
我的 Win 11 总是显示 WSL2 正在运行,但是无法与其通信。
PS C:\Windows\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
当尝试访问 WSL2 时,它会挂断并终止。但是,看起来 wsl 仍在运行。
PS C:\Windows\system32> wsl ~
The Windows Subsystem for Linux instance has terminated.
PS C:\Windows\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
PS C:\Windows\system32>
由于我在 WSL 中运行了 openssh,并且我之前访问过它并且没有任何问题,所以我尝试了一下,但是 WSL 再次没有响应,并且我收到如下一些错误(IP 已被删除):
PS C:\Windows\system32> ssh -v rls@<IP>
OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to <IP> [<IP>] port 22.
debug1: connect to address <IP> port 22: Connection timed out
ssh: connect to host <IP> port 22: Connection timed out
ssh 中的其他详细内容显示了以下行:
debug3:finish_connect-错误:异步 io 完成,错误:10060,io:0000015A0C28BD30
此时我想避免重新启动 WSL,因为我在 WSL 中有一个管理我的 RAID 的 mdadm 服务,并且在发生此问题之前它正在备份一些数据。如能提供任何有关如何解决此问题的帮助,我将不胜感激。
答案1
The Windows Subsystem for Linux instance has terminated.
此时我想避免重新启动 WSL,因为我在 WSL 中有一个管理我的 RAID 的 mdadm 服务,并且它在发生此问题之前正在备份一些数据。
不幸的是,你的服务很可能mdadm
也已经停止运行了,但是万一这是 shell 问题,请尝试以下操作:
wsl -d ls /
和/或
wsl cat /etc/os-release
如果这些都有效,那么继续执行如下操作:
wsl ps axj
看看你是否能发现那里有什么问题。
此外,如果它是阻止您访问实例的 shell 问题:
wsl ~ -e bash --noprofile --norc
... 将尝试启动 Bash 而不加载任何配置/启动。