什么是压缩Hyper-V或Boot到VHD虚拟硬盘(VHD)文件的最可靠和最有效的方法

我已经看到(并尝试过)很多方法来剥皮这只猫,但是没有一个像我想象的那样有效,并且需要一些手动步骤。 这是我的情况:

1)我已经通过Hyper-V在Windows Server 2012或Windows 8上安装了dynamic虚拟硬盘上的操作系统或启动到VHD,假设需要约30Gb。 2)我使用VHD,添加大量文件,然后删除它们。 这扩大了VHD说,〜100Gb。

我想要一个平滑,简单和可靠的操作,不需要事先进行碎片整理(除非这是一步操作),这将恢复虚拟机上的所有可用空间。

我过去的经验是,碎片整理,也许归零,然后压缩一个VHD并不能恢复所有的空间,这是一个相当混乱的操作。

作为最后的select,我可以将我现有的dynamic磁盘(空间释放)克隆到全新的dynamicVHD中吗?

如果整个过程能够通过PowerShell脚本化,我会更加高兴。

创build一个新的VHD,把一个新的文件系统,并将文件从一个复制到另一个。 这将创build最紧凑的表示。

而且,是的,这当然可以用PowerShell来完成。 请参阅“new-vhd”和“mount-vhd”。