缩小vhdx文件的大小

使用 Hyper-V 提供的 Optimize-VHD

PS> Optimize-VHD -Mode Full -Verbose "C:\Users\<Username>\AppData\Local\Packages\<Linux-Distribution-AppPackageName>\LocalState\ext4.vhdx"

进行缩小,执行之后 VHDX 文件的确是变小了,但是也还没有那么小

此时应进入到 WSL2 中,运行 zerofree 将 ext4 文件系统内已经不用的块填零,但 zerofree 不能运行在已经挂载为 rw 的文件系统上,那就把文件系统挂载为 readonly 就行了

wsl2> mount /dev/sda -o remount,ro
wsl2> zerofree /dev/sda

运行结束后,在 Windows 下关闭 WSL2

PS> wsl --shutdown

然后再运行最开始 diskpart 的 compact 或者 Optimize-VHD 就可以把 WSL2 的 VHDX 缩小到很接近于使用了的空间的大小了

FYI,不能使用 Resize-VHD 用来缩小 WSL2 的 VHDX,会报“无法调整虚拟磁盘的大小”“无法完成请求的操作,原因是无法确定虚拟磁盘的安全大小下限。 这可能是因为分区表丢失或损坏。 (0xC03A0026)。”的错误,似乎是因为 WSL2 的 VHDX 里没有分区表而直接整个是 EXT4 格式的分区

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9172

(0)
郭靖的头像郭靖
上一篇 2023年7月20日 下午4:54
下一篇 2023年7月21日 下午5:16

相关推荐

  • Windows配置磁盘监控

    通过pushgateway的方式,主动推送监控数据给prometheus。 由于windows平台的诸多限制,导致推送比较艰难。有两种方法完成监控。 1.通过python等语言,做推送脚本。 2.曲线救国就是把监控数据scp发给Linux机器。再通过linux做二次加工推给pushgateway。 window server上配置环境 1.首先判断服务器磁盘…

    2022年11月25日
    1.3K00
  • Ubuntu防火墙使用方法

    安装防火墙 ufw防火墙开启和关闭 修改ufw防火墙规则 ufw命令使用实例

    2022年12月3日
    1.3K00
  • Ubuntu 启用root账户并开启远程登录

    1.启用root账户 修改root用户密码,输入下方命令后,还需要输入当前普通用户的密码进行身份验证,然后修改root用户的新密码 sudo passwd root 2、开启远程登录 执行下方命令后开启root用户的远程登录 此时就能使用root账户成功登录了

    2022年6月11日
    1.8K00
  • 使用netcat检测UDP端口是否开启

    一般我们使用tcping或者telnet检测目标IP的的TCP端口是否开放。但这两种工具对UDP端口无效。 Netcat是什么 NC(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。 Nc主要功能 Nc可以在两台设备上面相互交互,即侦听模式/传输模式 可以使用的参数 其实常用的就几个参数-n,-v,-l,-p,-q

    2022年12月6日
    1.4K00
  • Linux 系统硬盘MBR转换为GPT格式并扩容

    问题描述之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失…

    2023年11月23日
    1.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信