这时候想必会有人问了,主播主播,你上一个笔记将 WSL 说得神乎其神,简直是开发必备工具,怎么就卸载了呢?听我找补…呃,解释。
原因无他,当时搭个人网站写笔记的时候,我已经使用了一段时间的 WSL 了,为什么选择用它的理由前文也解释过,就不再赘述。现在不再使用它,原因大体分为两点。
一是因为,现在的各种 Agent 与 Harness 纷纷推出了桌面版。虽然我更喜欢以插件的形式在 VS Code 中使用 Agent,但大势所趋。桌面版一般都会有很好用的功能,比如 Kimi 的 WebBridge,Codex 的浏览器插件,都比 Playwright、Chrome DevTools 这类 MCP 更好用。以及我没尝试过的远程控制、操作电脑软件等。这些都是插件或有连接成本的 WSL 很难甚至无法使用的。
二则是因为,任何仙术与奇迹都需要代价(不是)。虽然 WSL 能让 AI 写代码时,不被 PowerShell 绊脚,但它同样有一堆问题,这个问题不是 Linux 的,不如说是 Windows 甚至微软的。我公司的电脑就因为 WSL 内核默认会拦截 Linux 进程崩溃并采集完整的 core dump,写入 Windows 的
%LOCALAPPDATA%\Temp\wsl-crashes,一口气能吃掉十几甚至几十 GB 的 C 盘存储,即使我的 WSL 与其发行版都不在 C 盘。在 Temp 生成的文件,连我都必须扫一遍盘才能找到位置。所以,我宁愿软件拉屎在我熟知的位置,我反而还好找好清理。
综上所述,决定把家里电脑的 WSL 卸了,因为自己的东西用起来很洁癖。也正是因为洁癖,让此次卸载非常顺利。
卸载 WSL
使用 cmd 或者 PowerShell,whatever。
1. 关闭 WSL 服务
wsl --shutdown
2. 确认自己使用的 Linux 发行版
wsl --list
比如我返回的是:
适用于 Linux 的 Windows 子系统分发:
Ubuntu-24.04 (默认值)
3. 注销这个发行版
wsl --unregister Ubuntu-24.04
输出:
正在注销。
操作成功完成。
4. 最后卸载 WSL
wsl --uninstall
到此我卸载的部分就结束了。
清理
其实我在找教程的时候,看到很多人出现 WSL 卸载之后,资源管理器依然有 Linux 图标的情况。
有的人需要在 控制面板 → 程序 → 程序与功能 → 启用或关闭 Windows 功能 中,手动取消勾选"适用于 Linux 的 Windows 子系统"的选项。
有的需要清各种 C 盘缓存与注册表,还得敲各种刁钻的命令行。
但我跟着做了一圈没看到问题,唯一找到存在的注册表是 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss,随手清了。同时我也没遇到疑难杂症,不踩坑,确实顺利得有点不像我了。
