Перевага використання динамічних жорстких дисків (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 диска