You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL发行版磁盘镜像占用空间过大,删除大文件后未释放空间的解决办法咨询

WSL发行版磁盘镜像占用空间过大,删除大文件后未释放空间的解决办法咨询

嗨,这种情况在WSL里太常见啦!你删除了大文件,但WSL的虚拟磁盘(.vhdx)不会自动缩小空间,得咱们手动操作来释放。别担心,步骤很简单,跟着来就行:

  • 第一步:先确认WSL里的大文件已经彻底删除(包括回收站里的哦),然后退出WSL终端,打开管理员权限的PowerShell或者命令提示符。
  • 第二步:关闭所有WSL实例,输入命令:wsl --shutdown,确保所有WSL相关进程都停掉,不然后面操作会失败。
  • 第三步:(可选但推荐)先在WSL内部做前置清理:如果还没关机的话,先在WSL里执行sudo fstrim /,这个命令会标记文件系统里的空闲空间,让后面的压缩更彻底。执行完再回到Windows执行wsl --shutdown。
  • 第四步:启动磁盘工具压缩镜像:
    1. 在PowerShell里输入diskpart,回车进入diskpart环境。
    2. 输入select vdisk file="你的WSL磁盘镜像路径",这里要替换成实际路径,比如默认Ubuntu的路径大概是C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04Lts_79rhkp1fndgsc\LocalState\ext4.vhdx,记得把路径用双引号括起来。
    3. 接着输入attach vdisk readonly,只读挂载虚拟磁盘,避免操作时出意外。
    4. 输入compact vdisk,这个命令会开始压缩磁盘,释放那些被删除文件占用的空闲空间,等待完成即可。
    5. 最后输入detach vdisk,卸载虚拟磁盘。

做完这些,你再去看WSL的.vhdx文件大小,应该就已经变小了,Windows硬盘的可用空间也会回来啦!

小提醒:操作前最好备份一下.vhdx文件,以防万一;另外这个方法只适用于WSL 2,WSL 1因为直接使用Windows文件系统,一般不会有这种磁盘空间不释放的问题。

备注:内容来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:34:29