Hyper-V无法压缩VHD的可能原因是什么?

我在运行Hyper-V Server 2008 R2的主机上托pipe多台虚拟机。 这些磁盘最初在16个月前在不同的服务器(2008,不是R2)上进行了configuration,并在一年前被迁移到该服务器上。 大多数客人正在运行Windows 7。

最近,我将VHD大小与客户报告的使用空间进行比较,发现有几台机器的VHD文件比实际需要的大50-100%。 所以我决定尝试压缩VHD文件以释放主机上的空间。 我遵循我在互联网上find的指示,大致如下:

  1. 在客户机中运行CHKDSK
  2. 在客户机中运行碎片整理(Windows内置碎片整理)
  3. closures客人
  4. 在Hyper-Vpipe理器中打开“编辑磁盘…”工具
  5. select感兴趣的VHD并select压缩它

我第一次尝试这个,它完美的工作,减less了50%的VHD的大小。 但是对于其他所有guest虚拟机的磁盘,我收到以下错误消息:

The server encountered an error trying to edit the virtual disk. 'The system failed to compact 'C:\example.vhd'. Error Code: The requested operation could not be completed due to a file system limitation 

没有客人启用NTFS压缩。 这些磁盘没有快照。 还有什么可能导致这个错误?

编辑 :任何人谁介绍了一个解决scheme,以保持dynamicVHD尺寸自动检查的奖励积分。

从客人删除阴影副本。 这将做到这一点!

 vssadmin delete shadows /all 

为了互联网search整合的利益:最终发现这个链接是一种在HyperV compact没有的情况下工作的方法: https : //fiddley.wordpress.com/2014/01/27/dynamically-expanding-vhd-not-compacting-在-Hyper-v的/

在pipe理命令提示符下运行DISKPART

在DISKPART命令提示符下

 select vdisk File=”I:\path\to\your.vhd” attach vdisk readonly compact vdisk detach vdisk