Windows 8和Windows Server 2012压缩VHD

用Hyper-V创建虚拟机的时候,默认的磁盘选项是动态扩展磁盘。动态扩展磁盘具有创建时占用物理硬盘空间小,创建速度快等优点。但是动态扩展磁盘也有个缺点,在达到动态磁盘空间上限之前,Hyper-V不会回收空间,举个例子,往虚拟机里拷贝一个10G的文件,然后删除,虚拟机的物理VHD文件还是会增加10GB。这样,虚拟机在经过一段时间的使用后,VHD文件将变得非常大,甚至把硬盘空间用满,导致所有的虚拟机都无法启动。对于管理员来说,这时候就需要用到Hyper-V自带的压缩VHD空间的功能,来回收空间。

在Windows 8和Windows 2012里,微软对这个功能做了调整,只允许用户压缩挂载成本地磁盘的VHD/VHDX文件。也就是说,如果你不把VHD文件挂成本地磁盘就直接压缩,你会发现压缩后VHD文件大小一点没变!

下面是在Windows Server 2012上压缩VHD的具体过程。

  1. 把要压缩的VHD或者VHDX文件附加成本地硬盘,如果虚拟机正在运行,需要先将其关闭。clip_image001clip_image002
  2. 打开Hyper-V管理器选择要压缩的VHD/VHDX文件,进行压缩clip_image003clip_image004
  3. 压缩完毕后回到磁盘管理工具,分离VHD/VHDX文件clip_image005clip_image006
  4. 这时候检查VHD的大小,看空间是否已经释放,然后启动虚拟机。

11 thoughts on “Windows 8和Windows Server 2012压缩VHD”

  1. 依然失败!当你附加后,压缩,就提示该虚拟硬盘文件正在运行中。
    根本无法压缩

Leave a Reply

Your email address will not be published. Required fields are marked *