有没有人用 wsl2 开发啊?文件系统爆炸磁盘待解救。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
go233
V2EX    程序员

有没有人用 wsl2 开发啊?文件系统爆炸磁盘待解救。

  •  
  •   go233 2023-11-29 13:45:36 +08:00 4125 次点击
    这是一个创建于 682 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 wls2 开发有一段时间了,但是发现它占用磁盘好快,我都没怎么写代码,但是存放 wls2 的两个 vhdx 文件,一个 40 多 G 一个 30 多 G 。但是进 linux 系统 df 看了一下更目录使用率才 15%。现在不知道怎么拯救我的磁盘。 我试过下面的压缩方式,但是没啥变化,还是那么大。不知道咋整了,难受,有大佬懂得可以给点解决思路吗?

    diskpart select vdisk file = "D:\Ubuntu\ext4.vhdx" compact vdisk

    第 1 条附言    2023-11-29 18:40:53 +08:00

    首先感谢大家的回复,这个问题我尝试了很多办法。下面的命令只在某个写特定条件下有用,但是对我而言它没有效果,我确定自己命令执行没问题,而且跑完了100%进度。于是我在github上找了一个工具我看有几十个star,而且比较新,我在没备份的情况下(主要是整个磁盘满了不够备份所需)就执行了命令。虽然确实是压缩掉了一点体积,但是这个工具导致我的实例启动以后没有任何用户,连root都没有,也加不了用户。由于我不是很懂linux的操作,去StackOverflow上搜了相关的内容发现无解,于是放弃了。幸好我写的代码都在root目录下面,平时也都有上传到自己的git上。资料基本没丢失,只是新弄个实例需要装一堆新环境,配置变量之类的,这就很麻烦,还有一些ssh配置也要重新配置。

    这个事情给我的教训就是,买个移动硬盘还是挺有必要的,准备买个硬盘盒子,用旧的笔记本盘配个移动硬盘救急用。

    还有,貌似直接导出实列然后再导入实例也可以实现压缩wsl体积,但是我已经没法尝试了,等下次wsl空间大了我再试试网友们提到的方法。

    再次感谢大家。

    diskpart select vdisk file="xxxx.vhdx" compact vdisk detach vdisk 
    ShadowPower
        2
    ShadowPower  
       2023-11-29 13:52:57 +08:00
    wsl --manage Ubuntu --set-sparse true
    ShadowPower
        3
    ShadowPower  
       2023-11-29 13:53:57 +08:00
    @yinbingren 其实现在已经是正式版了
    moexx
        4
    moexx  
       2023-11-29 15:04:26 +08:00
    @ShadowPower #3 2.0.9 是正式版了?
    ShadowPower
        5
    ShadowPower  
       2023-11-29 15:35:25 +08:00
    @moexx
    cccer
        6
    cccer  
       2023-11-29 15:58:09 +08:00
    这个命令肯定是可以的,你是不是执行错了,需要一行行的输入。
    ```
    diskpart
    select vdisk file="xxxx.vhdx"
    compact vdisk
    detach vdisk
    ```
    haierspi
        7
    haierspi  
       2023-11-29 17:39:28 +08:00
    直接 修改 WSL 的安装目录就好了.. 默认是安装在 C 盘的.. 改成其他盘... 别折腾 那个 给 WSL 增加磁盘的玩意..纯粹浪费生命啊,
    v2minustore
        8
    v2minustore  
       2023-11-29 17:41:19 +08:00
    @cccer 支持 6l 我试过是可以的
    YsHaNg
        9
    YsHaNg  
       2023-11-29 18:25:26 +08:00 via iPhone
    @haierspi 开发都是公司配 1t 2t 的单硬盘 何必呢 别折腾 直接 call it
    Richex
        10
    Richex  
       2023-11-29 20:17:09 +08:00
    我也遇到过 diskpart 没用的情况,可以试试使用 Optimize-VHD ,记得先停掉 WSL2 。

    Optimize-VHD -Path c:\test\dynamic.vhdx -Mode Full

    注意 Optimize-VHD 命令只能在 PowerShell 中使用并且确保 Windows 打开了 Hyper-V 功能。
    cc666
        11
    cc666  
       2023-11-29 21:13:00 +08:00
    简单,一个是使用 diskpart 压缩
    如果是专业版系统,打开 hyper-v 管理器,点击磁盘编辑,选中 VHD 文件,选择操作为压缩即可
    二者都亲测可以
    Cyshall
        12
    Cyshall  
       2023-11-29 21:35:22 +08:00
    升级最新的 23H2 ,然后编辑 windows 系统加目录下的.wslconfig 文件,内容如下:
    [experimental]
    autoMemoryReclaim=gradual
    networkingMode=mirrored
    sparseVhd=true
    autoProxy=true
    dnsTunneling=true

    其中 sparseVhd=true 就是自动释放硬盘空间。
    cndenis
        13
    cndenis  
       2023-11-30 09:00:06 +08:00
    现在 1T 的 SSD 才几百块钱, 几十 G 的占用也没啥吧, 充值完美解决问题
    nulIptr
        14
    nulIptr  
       2023-11-30 10:13:09 +08:00
    这年头还有人在意磁盘空间啊。。。
    想起前几年的时候用 tauri 搞了个客户端项目,啥都没写,光启动个空项目就占了 10g 硬盘空间。
    go233
        15
    go233  
    OP
       2023-11-30 11:06:22 +08:00
    @Cyshall 我的系统还在 windows10 专业版上,目前还是 22H2 版本,您这个信息我记录下来了,等哪天能升级了我就用上。感谢分享。
    go233
        16
    go233  
    OP
       2023-11-30 11:10:19 +08:00
    @haierspi 这个我早已经改过了,主要我的笔记本就 500G ssd 还不能扩展硬盘,已经用满了,我也不知道到底装了啥东西,用软件扫了一下发现都是安卓开发用的模拟器 sdk 占用最大,因为开发偶尔要用到,就没删掉,装起来很麻烦。我自己也有 macbook 但是目前还是喜欢用 wsl 开发,这样可以与我生产环境的 ubuntu 服务器环境保持统一性。总之感谢您的回复。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2672 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:29 PVG 10:29 LAX 19:29 JFK 22:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86