V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imjiaoyuan
V2EX  ›  问与答

WSL2 的稀疏矩阵不能用?

  •  
  •   imjiaoyuan · 1 天前 · 831 次点击

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

    5 条回复    2025-10-18 12:38:31 +08:00
    ntedshen
        1
    ntedshen  
       1 天前
    啊?分配 22 实际只占用 17 怎么不算释放了?系统不占地的么?
    imjiaoyuan
        2
    imjiaoyuan  
    OP
       1 天前
    @ntedshen OK 我没说清楚,原本是 22GB ,占用 22GB ,我删掉了一个 5GB 的文件,变成占用 17GB 了
    geelaw
        3
    geelaw  
       1 天前 via iPhone
    第一个问题,为什么把 sparse VHD 翻译成“稀疏矩阵”?应该是“稀疏 VHD (虚拟硬盘)”吧……?我特意查了一下 WSL 的(机翻)文档,似乎没有这样翻译。

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

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

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

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


    @h404bi 我之前新安装 WSL2 后可以成功转换,后来全部都需要--allow-unsafe
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2506 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:12 · PVG 19:12 · LAX 04:12 · JFK 07:12
    ♥ Do have faith in what you're doing.