
30秒速读
WSL2 用久了有个怪现象:发行版里文件明明删了,Windows 磁盘占用却一点没降;再加上 Docker 缓存越攒越多,C 盘不知不觉就被吃掉几十 GB。wsl-maint 就是把这套清理、备份与磁盘压缩收进同一套命令的 WSL2 维护工具:发行版缓存、Docker 缓存、发行版导出备份、VHDX 压缩都能按流程走一遍。但它不是一键无脑工具——压缩与备份要停 WSL、要管理员权限,动手前必须先审计、先备份。
GitHub 国内访问较慢,如打不开可多刷新几次
软件信息表
| 项目名称 | wsl-maint |
| 适用环境 | Windows 上的 WSL2(发行版与 Docker 磁盘维护) |
| 主要实现 | Windows 侧 PowerShell 与批处理,WSL 侧 Bash |
| 核心能力 | 缓存清理、zstd 压缩备份、VHDX 磁盘压缩、审计与试运行 |
| 支持发行版 | 据项目说明,覆盖 Debian、Ubuntu、Fedora 与 openSUSE 常见工具链 |
| 开源许可 | MIT |
| 获取方式 | 项目仓库(见文中按钮),含配置说明与命令文档 |
它一次能管住哪几处空间
- 发行版缓存清理:把发行版里攒下的缓存清掉,并提供审计与试运行模式,先看到底会删什么,再决定动不动手。
- Docker 缓存清理:能清构建缓存与无用卷,还留了一个带命名卷的清理路径——这条路径删的是真数据,必须先审查再执行。
- 发行版导出备份:把整个发行版导出成 zstd 压缩备份,并附带备份验证命令,备完先验一遍,别等恢复时才发现备份是坏的。
- VHDX 磁盘压缩:通过 Optimize-VHD 压缩发行版的 ext4 虚拟磁盘与 Docker 的数据磁盘,这正是“删了文件占用却不降”的直接解法。
- 两边操作同一份配置:Windows 主机操作与 WSL 内部操作拆开,但共用一份 key = value 格式的配置文件,配置只会被解析、不会被执行,未知配置键还会让命令停下并报出位置。
上手指南
- 仓库放到 Windows 盘上:克隆位置要选 Windows 驱动器,不要放进发行版内部,否则主机侧操作与发行版侧操作的路径关系会乱。
- 先补齐依赖再动手:Windows 侧需要 PowerShell 5.1,发行版里需要 GNU coreutils、findutils、jq 与 zstd;Alpine 这类精简发行版要额外装 coreutils 与 findutils。
- 第一次只跑审计:先用审计或试运行看清理范围,确认删除清单里没有重要内容,再执行真正的清理或压缩。
- 备份在前,压缩在后:动删除或压缩之前先导出一份备份并验证通过,压缩类操作要安排 WSL 停机窗口,提前关掉里面的 shell、进程与相关服务。
建议先定好的几处设置
- 配置文件先审三项:打开 maint.conf,逐项确认备份目录、目标发行版与清理规则,备份目录尤其要留足空间,别备到一半才发现盘满了。
- 审计当成固定前置动作:每次执行删除或压缩前都先跑审计或试运行,把“先看清单”变成习惯,而不是只在第一次做。
- 命名卷清理默认关闭心态:带命名卷的 Docker 清理路径要单独审查,确认卷里没有仍需的数据再放行,默认就当它会删真东西。
- 备份验证别跳过:导出备份后立刻跑验证命令,验证通过才算备份完成;没验证的备份,恢复时只能赌运气。
- 停机窗口提前约好:备份、完整维护与压缩都会停 WSL 或发行版,执行前先关服务、约好窗口,别在跑着任务时强行中断。
几种操作怎么选
| 操作 | 用来干什么 | 代价与注意点 |
| 审计 / 试运行 | 先看清理范围,不真正删除 | 无破坏性,每次破坏性操作前都应先跑 |
| 缓存清理 | 清发行版与 Docker 缓存 | 命名卷路径需单独审查,别一并放行 |
| 导出备份 | 把发行版存成 zstd 压缩包 | 会停发行版,需要管理员权限,备完要验证 |
| 磁盘压缩 | 回收 VHDX 里删文件后未释放的空间 | 会停 WSL,需要 Hyper-V PowerShell 模块,Windows Home 没有该模块则不可用 |
一句话推荐:日常先审计、定期做备份、空间告急再压缩;三步别合并成一步,更别跳过前两步直奔压缩。
注意事项与常见问题
- 压缩与备份都要停机:备份、完整维护与压缩会停止 WSL 或发行版,执行前必须关掉里面的 shell、进程与相关服务,否则可能做到一半被打断。
- 命名卷删了找不回:带命名卷的 Docker 清理会删除命名卷,执行前务必审查规则与 Docker 数据,误删卷里的数据没有回收站可捡。
- Docker Desktop 的卷不在发行版备份里:这类卷位于发行版之外,发行版导出归档不会把它带上,需要单独安排备份,别以为一份备份全覆盖了。
- Windows Home 跑不了压缩:压缩与完整维护依赖 Hyper-V PowerShell 模块,Windows Home 不具备该模块,相关功能在该版本上就是不可用,不是配置问题。
- 发行版工具链要齐:发行版需要 jq、zstd、GNU coreutils 与 findutils,BusyBox 系发行版要额外补装缺失工具,缺一件就可能在中途报错。
- 兼容范围要现查:更具体的发行版兼容范围与长期维护状态,公开信息有限,动手前以仓库 README 或源码为准。
适合谁,不适合谁
适合:在 Windows 上重度用 WSL2、磁盘空间长期吃紧、又希望把发行版缓存清理、Docker 清理、导出备份与 VHDX 压缩收进同一套流程的开发者与运维人员。审计、试运行与备份验证这三道保险,正好对上“清理类操作最怕误删”的痛点。
不适合:用的是 Windows Home 又指望压缩功能的人;没法接受停机窗口、没法拿到管理员权限的人;以及必须把 Docker Desktop 卷也装进同一份发行版备份的人。这三类需求都超出了它的覆盖范围,硬用只会处处碰壁。
取舍结论:能接受停机、有管理员权限、按“审计—备份—清理/压缩”顺序走流程,它就是 WSL2 磁盘维护的省心组合;缺了其中任何一个前提,先解决前提,再谈工具。

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







