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