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

相关推荐

  • 通过配置hosts.allow和hosts.deny限制登陆

    我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。 /etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的I…

    2022年11月15日
    59100
  • apache 设置ssl证书

    安装模块 安装mod_ssl和openssl 创建密钥存放的目录 上传证书和密钥到/etc/httpd/ssl目录下 验证证书和密钥的MD5 编辑配置文件 修改ssl.conf文件 打开ssl模块功能 在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modul…

    2022年11月29日
    32300
  • Centos7系统如何查看系统日志

    Systemd是Linux系统工具,Systemd拥有强大的解决与系统日志记录功能-systemd-journald。日志目录一般是在/var/log/journal,记录的是二进制文件,我们可以通过journalctl进行查看。 日志的配置文件是/etc/systemd/journald.conf。 常用的操作有哪些呢 显示所有日志 查看系统本次启动只有的…

    2022年6月15日
    1.6K00
  • CentOS 6 yum安装软件报错 YumRepo Error

    在CentOS 6的机器上使用yum 安装软件报错: 使用yum update命令也是一样: 看错误提示,似乎是说找不到有效的baseurl。所以要解决这个问题,还要从baseurl着手。从官方邮件可知,CentOS 6自从2020年11月30日开始,官方不再维护,所以连带着原来的yum存储库也不能用了。 但是邮件里说得很明白,它给出了迁移后的存储库的链接地…

    2023年5月25日
    21900
  • centos7 shell 支持中文显示

    其实很简单,让 shell 支持 utf8 即可。先使用locale命令看一下设置情况: LC_ALL没有设置,需要赋值en_US.UTF-8,很简单: 最后,不要忘了source一下bash_profile,让其生效。

    2023年3月14日
    28000

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信