我在 Hyper-V VM 上安装了 Ubuntu 18.04 LTS,一切正常,直到我注意到 VHDX 文件占用了异常多的磁盘空间。从 VM 内部,您可以看到系统仅占用不到 10GB 的空间
但是在 Windows 主机上,VHDX 文件占用了超过 20GB 的磁盘空间!
这是在我按照以下步骤运行磁盘压缩之后的情况:
- 在虚拟机中,运行
sudo fstrim /
- 关闭虚拟机,以管理员权限启动 PowerShell 控制台
- 使用以下方式安装 VHDX
Mount-VHD '.\ubuntu 18.04 lts.vhdx' -ReadOnly
- 使用以下方法压缩 VHDX:
Optimize-VHD '.\ubuntu 18.04 lts.vhdx' -Mode Full
- 使用以下方式卸载 VHDX
Dismount-VHD '.\ubuntu 18.04 lts.vhdx'
它有点起作用,因为 VHDX 的大小从之前的 23GB 减少到现在的 21GB,但考虑到在虚拟机内部,它显示当前仅使用了不到 10GB 的空间,这在尺寸上几乎没有太大的压缩。
我还尝试从 Hyper-V 管理 UI 运行磁盘压缩功能,但没有任何效果。那么,您知道是什么原因导致 VHDX 大小如此之大,我该如何正确压缩它?谢谢。
答案1
我遇到了一些问题,我尝试了所有已知的方法或通过 Google 找到的方法。最后我通过以下方式解决了它:
- 经过一些修剪、dd 归零和其他魔法之后(我不知道这些是否重要)
- 我创建了一个新的 vhdx,比我需要的稍大一些(+1GB)
- 从 gparted live CD 启动
- 最后我使用此工具将启动和数据分区复制到新的 vhdx 上。
- 将新硬盘移至启动顺序列表的顶部或直接与虚拟机分离
- 我现在很高兴 :)