Як стиснути динамічний VHD

Перевага використання динамічних жорстких дисків (dynaminc VHD - Virtual Hard Disks) полягає в тому, що вони займають менше місця і ростуть відповідно до вимог користувачів. Зворотний бік використання динамічних vhd дисків в тому, що в процесі росту вони можуть зайняти весь доступний місце, навіть якщо всередині vhd файли були видалені.

А в системах з декількома динамічними vhd це призводить до того, що велика кількість дискового простору витрачається на зберігання інформації, яка в дійсності вже була видалена. Вирішенням цієї проблеми є використання знайомої нам утиліти Diskpart для стиснення розміру vhd диска. Нагадаю, утиліта Diskpart входить до складу всіх ОС Windows, за допомогою неї можна виконати самі різними операції з управління дисками і розділами в Windows, ми вже описували як за допомогою diskpart можна розширити розділ Windows.

Стискаємо динамічний диск vhd за допомогою Diskpart

Відкрийте командний рядок з правами адміністратора і наберіть в ній:

diskpart

Виберіть диск, який ви хочете стиснути, вказавши диски і шлях до vhd файлу:

select vdisk file = "c: \ Data \ DAT22GB.vhd"

Підключіть диск в режимі читання Read-only:

attach vdisk readonly

І виконайте команду стиснення:

compact vdisk

Залежно від розміру віртуального диска, процедура стиснення може зайняти досить довго час.

Якщо стиснення пройшло успішно, з'явиться напис:

DiskPart successfully compacted the virtual disk file

Отмонтіруйте диск VHD:

detach vdisk

У моєму випадку після стиснень диска VHD розміром 22Гб VHD з 14 Гб віддалених даних, стиснувся до 11 Гб, тобто в два рази 900Мб. Процедура зайняла близько 20 хвилин.

Якщо вас цікавить тема vhd дисків, рекомендую також познайомитися зі статтями:
Як створити VHD диск в Windows 7

Завантаження Windows 7 з VHD диска