WSL2 的稀疏矩阵不能用?

1 天前
 imjiaoyuan

RT,Windows11 24H2 ,开了 sparseVhd=true 发现硬盘空间还是不能回收,显示 VHD 大小 22GB ,但是占用 17GB ,所以还是没有释放?而且开了稀疏矩阵后就不能手动缩小 VHD 了,这个目前有解决方案吗?我想实现自动回收硬盘空间,搜了下发现好像没多少人讨论这个

925 次点击
所在节点    问与答
5 条回复
ntedshen
1 天前
啊?分配 22 实际只占用 17 怎么不算释放了?系统不占地的么?
imjiaoyuan
1 天前
@ntedshen OK 我没说清楚,原本是 22GB ,占用 22GB ,我删掉了一个 5GB 的文件,变成占用 17GB 了
geelaw
1 天前
第一个问题,为什么把 sparse VHD 翻译成“稀疏矩阵”?应该是“稀疏 VHD (虚拟硬盘)”吧……?我特意查了一下 WSL 的(机翻)文档,似乎没有这样翻译。

最简单的解释是,根据文档,设置 sparseVhd 为 true 之后新的 VHD 默认是稀疏的,楼主看的 VHD 可能不是新的。另外 22 GB 逻辑容量的实体大小是 17 GB 也可以由 #1 的理论解释,实际的数据可能确实有 17 GB 。
h404bi
1 天前
关于 WSL 磁盘空间回收订阅 https://github.com/microsoft/WSL/issues/4699 这个 issue 就行了,讨论都在这里,时不时有人追加评论。

sparseVhd 是一个实现性质的功能,多少还是有点问题。而且有反馈说会损坏 vhdx ,虽然没有实证,但是从一个 WSL 版本开始启用稀疏的 CLI 命令被要求使用 --allow-unsafe ,算是侧面印证。

> 我想实现自动回收硬盘空间

目前比较理想的方法大概是自己写一个脚本并设置成定时任务,代替手动执行。
imjiaoyuan
1 天前
@geelaw
> 为什么把 sparse VHD 翻译成“稀疏矩阵”
翻译错误,sorry ,实际的数据确实是 17GB ,此外,我这个 VHD 确实是年初设置 sparseVhd 为 true 之后的


@h404bi 我之前新安装 WSL2 后可以成功转换,后来全部都需要--allow-unsafe

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1166577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX