На русскоязычных форумах TechNet, на которых, в меру сил и возможностей, пытаюсь оказывать помощь коллегам, в свое время довольно частно встречался вопрос об изменении размеров файлов виртуальных жестких дисков. И, если с операция увеличения виртуального тома сложностей не вызывала, то обратный процесс требовал плясок с бубном вмешательства сторонних утилит аля VHD Resizer, что несколько удручало.
В Windows Server 2012 товарищи (или господа, кому как удобнее) из Microsoft одумались, и вывели эту функцию в разряд штатной операции. Столкнувшись с "внезапной проблемой" нехватки дискового пространства в лабораторной среде, почувствовал, что называется, всю прелесть новой фишки на себе.
Итак, виртуальный сервер под управлением Windows Server 2012, развернутый под нужды SC 2012 VMM SP1 CTP, с дефолтным динамическим виртуальным диском в 127 ГБ с размещенной на нем же библиотекой VMM, основательно вычищенной перед уменьшением диска. Кликнув правой кнопкой мыши по необходимому тому, видим вполне знакомую возможность Shrink Volume
Решено было привести дисковое пространство к некоему стандарту, выработанному для "toy cloud" - 50 ГБ.
После выполнения операции уменьшения тома внутри виртуальной машины появился нераспределенный объем диска, а размер диска (системного в данном случае) стал равен требуемому
Далее, выключив виртуальную машину, из родительского раздела с помощью оснастки Hyper-V необходимо воспользоваться функцией редактирования виртуального жесткого диска:
Процесс, занявший несколько секунд, дал необходимый результат. После загрузки ОС в виртуальной машине, видим
Естественно, данную задачу можно выполнить и с помощью PowerShell из родительского раздела, предварительно выключив виртуальную машину