
RT,Windows11 24H2 ,开了 sparseVhd=true 发现硬盘空间还是不能回收,显示 VHD 大小 22GB ,但是占用 17GB ,所以还是没有释放?而且开了稀疏矩阵后就不能手动缩小 VHD 了,这个目前有解决方案吗?我想实现自动回收硬盘空间,搜了下发现好像没多少人讨论这个
1 ntedshen 81 天前 啊?分配 22 实际只占用 17 怎么不算释放了?系统不占地的么? |
2 yuanyuan11 OP @ntedshen OK 我没说清楚,原本是 22GB ,占用 22GB ,我删掉了一个 5GB 的文件,变成占用 17GB 了 |
3 geelaw 81 天前 via iPhone 第一个问题,为什么把 sparse VHD 翻译成“稀疏矩阵”?应该是“稀疏 VHD (虚拟硬盘)”吧……?我特意查了一下 WSL 的(机翻)文档,似乎没有这样翻译。 最简单的解释是,根据文档,设置 sparseVhd 为 true 之后新的 VHD 默认是稀疏的,楼主看的 VHD 可能不是新的。另外 22 GB 逻辑容量的实体大小是 17 GB 也可以由 #1 的理论解释,实际的数据可能确实有 17 GB 。 |
4 h404bi 81 天前 关于 WSL 磁盘空间回收订阅 https://github.com/microsoft/WSL/issues/4699 这个 issue 就行了,讨论都在这里,时不时有人追加评论。 sparseVhd 是一个实现性质的功能,多少还是有点问题。而且有反馈说会损坏 vhdx ,虽然没有实证,但是从一个 WSL 版本开始启用稀疏的 CLI 命令被要求使用 --allow-unsafe ,算是侧面印证。 > 我想实现自动回收硬盘空间 目前比较理想的方法大概是自己写一个脚本并设置成定时任务,代替手动执行。 |
5 yuanyuan11 OP |
6 z5n0w 15 天前 基于 WSL2 的 Docker 的 VHDX 已经损坏了几次导致镜像全丢,这个 sparseVHD 确实是有点风险。 |
7 yuanyuan11 OP @z5n0w 已经格盘换 Arch |