Windows10子系统运行一段时间后,执行wsl命令无响应

产生原因

子系统运行依赖的服务LxssManager停止工作,导致wsl命令无响应。

解决方法(网上有多种方法,经过我多次验证,此方法最好用)

可以通过用以下方法结束LxssManager服务宿主进程svchost.exe的PID结束相关进程,然后再重启LXSSManager。

1、使用管理员打开 Windows PowerShell 终端,输入如下命令找到运行的服务:

C:\Users\Administrator> tasklist /svc /fi "services eq LxssManager"
映像名称                       PID 服务
========================= ======== ============================================
svchost.exe                   1420 LxssManager

2、删除实例:

C:\Users\Administrator> wmic process where processid=1420 delete
删除实例 \\DESKTOP-K9J4VIQ\ROOT\CIMV2:Win32_Process.Handle="1420"
实例删除成功。

3、查看子系统状态,我安装的是 Ubuntu-22.04

C:\Users\Administrator> wsl --status
默认分发: Ubuntu-22.04
默认版本: 2

4、查看可安装的子系统命令wsl -l -o

C:\Users\Administrator> wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

5、使用 wsl --install -d Ubuntu-22.04 命令即可安装指定版本的linux系统。

可能不同系统的版本显示的可安装版本稍有不同,查看当前系统版本信息方法,按 win + r 键,弹出运行窗口,输入 winver,即弹出当前系统的版本信息,如下图:

发表评论