缩小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

相关推荐

  • CentOS7系统下扩容根目录

    利用单一磁盘的剩余空间 在同一块磁盘下,有剩余空间未分配,将该空间合并到根目录中 本文以/dev/sda为例 查看磁盘分区情况 lsblk或者fdisk -l /dev/sda 可以看到 sda 总容量为30G,而 sda1和 sda2 加起来总共使用了10G,因此我们可以将剩余的容量添加到目录中 对剩余空间进行分区格式化操作 fdisk /dev/sda …

    2022年6月9日
    1.7K00
  • 使用 B VPS 中转 A VPS 流量

    引言 由于某些不可抗力原因, 所处网络环境无法访问 A VPS, 因此 增加 能访问到的 B VPS 来中转流量到 A VPS me –x-> A VPS me <—-> B VPS <—-> A VPS 非内网穿透需求, A VPS 有公网ip, 可被公网直接发现 和使用某些客户端 配合 Cloudflare…

    2024年6月28日
    2.5K00
  • Centos7删除多余的内核

    Linux下可能会存在有多个内核的情况,通过某一内核启动会出现无法登录的情况,这时我们就要选择可以正常登录的内核,成功进入系统后,将多余的内核删除 检查系统中的内核 使用yum remove 或rpm -e 删除无用内核

    2022年6月25日
    1.4K00
  • OpenSuSe15.4以Server模式安装配置网络

    配置静态ip地址 编辑/etc/sysconfig/network/ifcfg-xxx (xxx是网卡设备名),此处是ifcfg-eth0 主要是为了实现静态ip的需求 配置网关 在ifcfg-xxx中配置GATEWAY是无效的,需要编辑/etc/sysconfig/network/routes 主要解决无法访问外网的问题,常见问题: ping 一个公网ip…

    2022年11月23日
    1.4K00
  • fsck命令 – 检查与修复文件系统

    fsck命令来自于英文词组“filesystem check”的缩写,其功能是用于检查与修复文件系统。若系统有过突然断电或磁盘异常的情况,建议使用fsck命令对文件系统进行检查与修复,以防数据丢失。 语法格式:  fsck [参数] 文件系统 测试环境:Centos7.6系统 常用参数: -a 自动修复文件系统 -f 强制检查 -A 依照…

    2023年8月29日
    1.3K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信