如何彻底删除windows系统中的wsl

以下是在 Windows 10/11 中彻底删除 WSL(Windows Subsystem for Linux)的完整指南,包含多种方法及其残留清理:


一、官方推荐方法(基础卸载)

1. 卸载所有 Linux 发行版

# 查看已安装的发行版
wsl --list --all

# 逐个卸载(以 Ubuntu 为例)
wsl --unregister Ubuntu

2. 关闭 WSL 功能

# 关闭 WSL 核心功能
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux

# 关闭虚拟机平台(WSL2 需要)
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform

二、深度清理方案(彻底删除残留)

1. 删除系统文件

删除以下隐藏目录(需显示隐藏文件):

%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited*  # Ubuntu 相关
%USERPROFILE%\AppData\Local\lxss\                           # WSL1 核心文件
%LOCALAPPDATA%\Packages\*Linux*                             # 其他发行版

2. 清除 Hyper-V 虚拟磁盘(仅 WSL2)

# 删除所有 WSL2 虚拟硬盘
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" | ForEach-Object {
    $path = (Get-ItemProperty -Path $_.PSPath).BasePath
    if (Test-Path "$path\ext4.vhdx") {
        Remove-Item "$path\ext4.vhdx" -Force
    }
}

三、注册表清理(高风险操作)

⚠️ 操作前务必备份注册表(regedit > 文件 > 导出

# 删除 WSL 相关注册表项
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateRepository\Cache\Package

四、第三方工具辅助

1. 使用 BCUninstaller

官网:https://www.bcuninstaller.com/

  • 强制卸载所有 WSL 相关组件
  • 扫描残留文件和注册表项

2. 使用 GeekUninstaller

官网:https://geekuninstaller.com/

  • 深度扫描 Microsoft Store 安装的 Linux 发行版

五、系统级重置(终极方案)

1. 重置 Windows 功能

# 重置所有可选功能
Get-WindowsOptionalFeature -Online | Where {$_.State -eq "Enabled"} | Disable-WindowsOptionalFeature -Online -Remove

2. 系统还原/重装

  • 使用系统还原点恢复到安装 WSL 之前
  • 全新安装 Windows 系统

六、常见问题排查

1. 残留进程处理

# 终止所有 WSL 相关进程
Get-Process | Where-Object {$_.ProcessName -match "wsl|ubuntu|kali"} | Stop-Process -Force

2. 磁盘空间未释放

使用 diskpart 清理虚拟磁盘:

select vdisk file="C:\Users\YourName\AppData\Local\Packages\...\ext4.vhdx"
detach vdisk
delete vdisk

七、不同场景选择方案

需求场景推荐方案
临时禁用 WSL官方方法关闭功能
解决 WSL 启动故障深度清理 + 注册表清理
完全释放磁盘空间虚拟磁盘删除 + 系统文件清理
准备系统迁移第三方工具 + 注册表清理

注意事项:

  1. Docker Desktop 用户 需同时卸载 Docker(控制面板 > 程序与功能)
  2. Windows Terminal 用户 需手动删除 WSL 配置文件(settings.json
  3. 开发者数据备份:删除前备份 /home 目录重要文件
  4. 企业环境 若使用组策略限制 WSL,需额外执行:
gpupdate /force

Was this helpful?

0 / 0

发表回复 0