WSL卡死解决办法(wsl2卡死、WSL死机、WSL无响应、WSL无法启动、Docker Desktop卡死)(重启后解决了)

文章目录

    • [1. 强制关闭所有 WSL](#1. 强制关闭所有 WSL)
    • [2. 重启 WSL 服务](#2. 重启 WSL 服务)
    • [3. 杀掉 WSL 虚拟机进程](#3. 杀掉 WSL 虚拟机进程)
    • [4. Docker Desktop 用户重点检查](#4. Docker Desktop 用户重点检查)
    • [插入:强制杀死docker desktop](#插入:强制杀死docker desktop)
    • [5. 重启 Hyper-V 相关服务](#5. 重启 Hyper-V 相关服务)
    • [6. 最直接的方法](#6. 最直接的方法)

如果 wsl --list 都卡住没反应 ,通常说明:

  • WSL 虚拟机挂死
  • LxssManager 服务异常
  • Hyper-V/WSL 后端异常
  • Docker Desktop 把 WSL 搞挂了(比较常见)

按下面顺序排查:

1. 强制关闭所有 WSL

管理员 PowerShell:

powershell 复制代码
wsl --shutdown

如果也卡死,继续下一步。

(确实卡死了)


2. 重启 WSL 服务

管理员 PowerShell:

powershell 复制代码
Get-Service LxssManager

如果状态异常:

powershell 复制代码
Restart-Service LxssManager

或者:

powershell 复制代码
net stop LxssManager
net start LxssManager

然后再试:

powershell 复制代码
wsl --list

(还是没用,一直卡死)


3. 杀掉 WSL 虚拟机进程

打开任务管理器:

结束:

text 复制代码
vmmemWSL

或者 PowerShell:

powershell 复制代码
taskkill /F /IM wsl.exe
taskkill /F /IM wslservice.exe
taskkill /F /IM vmcompute.exe

然后:

powershell 复制代码
wsl --shutdown
wsl --list

(成功了)


4. Docker Desktop 用户重点检查

如果你运行了 Docker:

先退出 Docker Desktop。

(退出不了,点了一点反应都没)

然后:

powershell 复制代码
wsl --shutdown

再启动 Docker。

很多情况下是:

text 复制代码
docker-desktop
docker-desktop-data

内部卡死导致整个 WSL 无响应。

插入:强制杀死docker desktop

powershell 复制代码
taskkill /F /IM "Docker Desktop.exe"
taskkill /F /IM "com.docker.backend.exe"
taskkill /F /IM "com.docker.service.exe"

(没用,docker还是一直转圈圈)


5. 重启 Hyper-V 相关服务

管理员 PowerShell:

powershell 复制代码
Restart-Service vmcompute

如果失败:

powershell 复制代码
net stop vmcompute
net start vmcompute

(没有用)


6. 最直接的方法

如果上面都没反应:

powershell 复制代码
shutdown /r /t 0

直接重启 Windows。

WSL2 本质上是一个轻量级虚拟机,如果虚拟机层死锁,重启往往比折腾半小时更快。


如果你想进一步定位原因,请贴一下:

powershell 复制代码
wsl --status
wsl --version

以及执行:

powershell 复制代码
Get-Process *wsl*
Get-Process *vm*

的结果。

另外告诉我:

  • 是否安装了 Docker Desktop
  • 刚才在 WSL 里运行了什么命令
  • 是突然卡死还是长期越来越慢

这样能更准确判断是 Docker、WSL 还是 Windows 虚拟化层的问题。

相关推荐
程序员老赵1 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4534 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy9 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭9 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩10 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker