Кроме предложения удаления теневых копий необходимо использовать SDelete
для обнуления вакуума перед уплотнением, так как иногда это предоставляет уплотнение намного большего количества неиспользуемого пространства. Например, для обнуления вакуума в C: необходимо выполнить это изнутри виртуальная машина:
sdelete -z c:
В моем случае у меня был файл виртуального диска с общим размером 80 ГБ, первое уплотнение уменьшило его только до 78 ГБ, удаление копий теней и уплотнение снова уменьшили его до 72 ГБ, но после выполнения sdelete
следующее уплотнение уменьшило размер файла до 56 ГБ.
В интересах консолидации результатов поиска в Интернете : В конце концов нашел эту ссылку, это подход, который работал, когда HyperV compact не работал: https://fiddley.wordpress.com/2014/01/27/dynamically-expanding-vhd-not-compacting-in-hyper-v/
В командной строке администратора запустите DISKPART
В командной строке DISKPART
select vdisk File=”I:\path\to\your.vhd”
attach vdisk readonly
compact vdisk
detach vdisk