用过 WSL 的人大概都踩过同一个坑——磁盘空间越用越多,却怎么也还不回来。在 WSL2 里装了几个大项目、拉了几个 Docker 镜像,VHDX 虚拟磁盘文件悄悄膨胀到几十 GB,哪怕你把 WSL 里的文件删光了,宿主机上的 .vhdx 文件依然纹丝不动。WSL Dashboard v0.8.0 正是瞄准这个问题,带来了磁盘压缩和稀疏模式两项实用功能。
VHDX 膨胀:一个老问题
WSL2 的虚拟磁盘采用 VHDX 格式,默认是动态扩展——空间可以自动增长,但不会自动收缩。这意味着:
- 在 WSL 内删除文件后,VHDX 不会自动释放对应的物理磁盘空间
- 长期使用后,一个名义上 20GB 的实例可能实际占用 60GB 甚至更多
- 手动压缩需要用
diskpart等系统工具,步骤繁琐且容易出错
v0.8.0 给了两种压缩策略来应对不同场景。
快速压缩 vs 完整重建
快速压缩适合日常维护。它直接对现有 VHDX 执行压缩操作,速度快,但压缩率取决于磁盘内部的数据分布——碎片多时效果有限。
完整重建则更彻底:创建一个新的 VHDX,将原有数据迁移进去,相当于一次"搬家"。这种方式能最大化压缩率,但耗时更长,适合磁盘膨胀严重、快速压缩效果不理想的情况。
两种策略在压缩前都会自动清理 WSL 内的系统缓存(如 apt 缓存、日志文件等),先把能删的垃圾清掉,再压缩,效果更好。整个过程有可视化进度条,不用盲等。
稀疏 VHD 模式:按需分配
v0.8.0 另一个关键特性是稀疏 VHD 模式。普通 VHDX 是"预分配"逻辑——虽然名义上是动态磁盘,但 Windows 对其空间管理并不够精细。稀疏模式下,磁盘空间真正做到按需分配:只有实际写入的数据才占用物理空间。
实际效果很直观:一个新建的 WSL 实例,名义磁盘大小可能是 1TB(上限),但稀疏模式下实际只占用几 GB。这对需要创建多个 WSL 实例的开发者尤其有用——不用再担心每个实例都预留一大块空间。
手动压缩 VHDX:传统方法对比
在 WSL Dashboard 出现之前,手动压缩是大多数人的选择。下面是传统 diskpart 方式的完整步骤,你可以对照理解 Dashboard 做了哪些自动化:
# 1. 先关闭所有 WSL 实例
wsl --shutdown
# 2. 找到你的 VHDX 文件路径
# 通常在 %USERPROFILE%\AppData\Local\Packages\ 下
# 例如 Ubuntu 实例的路径:
# C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\ext4.vhdx
# 3. 用 diskpart 压缩
diskpart
# 进入 diskpart 后依次执行:
select vdisk file="C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
这个过程有几个明显痛点:需要先关闭 WSL、要手动找 VHDX 路径、diskpart 是交互式命令容易操作失误、没有进度反馈。WSL Dashboard 把这些全部封装成一键操作,还加了预清理和策略选择。
用 WSL Dashboard 日常维护的实践
如果你已经安装了 WSL Dashboard v0.8.0,日常维护可以这样做:
# 在 WSL 内先手动清理常见缓存,提升压缩效果
# Debian/Ubuntu
sudo apt clean
sudo apt autoremove -y
sudo journalctl --vacuum-size=50M
# Docker 镜像清理(如果用了 Docker Desktop 或 WSL 内的 Docker)
docker system prune -af
# 清理完成后,在 WSL Dashboard 中选择对应实例
# 点击"压缩磁盘",根据情况选择:
# - 快速压缩:日常维护,几分钟完成
# - 完整重建:磁盘膨胀严重时使用,耗时较长但效果更好
对于新建实例,启用稀疏模式更省心:
# 新建 WSL 实例时,在 WSL Dashboard 的安装界面勾选"稀疏 VHD 模式"
# 或通过 wsl 命令行指定(需 Windows 11 22H2+ 支持):
wsl --install --name dev-env --sparse
稀疏模式下的实例,磁盘占用随实际使用量增长,不会出现"空实例占 10GB"的情况。
什么时候该压缩,什么时候该重建
简单判断标准:
| 场景 | 建议策略 |
|---|---|
| 日常使用,偶尔清理 | 快速压缩,每月一次 |
| 删除了大量文件/镜像后磁盘没缩小 | 快速压缩先试,效果不够再完整重建 |
| VHDX 膨胀到名义大小的 2 倍以上 | 直接完整重建 |
| 新建多个轻量实例 | 稀疏模式 + 快速压缩 |
注意事项
- 压缩前确保 WSL 实例已停止,Dashboard 会自动处理,但如果你手动操作别忘了
wsl --shutdown - 完整重建需要足够的临时磁盘空间来存放新 VHDX,空间紧张时先用快速压缩腾出余地
- 稀疏模式在 Windows 10 上支持有限,Windows 11 22H2 及以后版本体验更好
- 压缩和重建过程中不要强制中断,可能导致 VHDX 损坏
WSL Dashboard v0.8.0 把 WSL 最头疼的磁盘管理问题变成了几步点击操作。如果你长期被 VHDX 膨胀困扰,值得试试完整重建;如果只是日常维护,快速压缩加上稀疏模式的新实例创建,基本够用。