Зменшення (shrink) розміру віртуальних дисків в virtualbox

Зменшення (shrink) розміру віртуальних дисків в VirtualBox

Згодом файли дінамічіскіе віртуальних дисків * .vdi збільшуються в розмірах. Навіть якщо ви видаляєте дані в гостьових ОС, динамічні диски не зменшуються в розмірах автоматично. Для зменшення їх розміру в VirtualBox починаючи з версії 2.2 використовується команда VboxManager modifyhd uuid | filename --compact. де - код, а - файл віртуального диска vdi. Ця команда видаляє вільні блоки на диски які заповнені нулями. Якщо ми видаляємо файли в гостьовій ОС то ці блоки містять різний «сміття», тому ми їх повинні заповнити нулями. Для гостьових машин windows можна використовувати утиліту sdelete (з опцією -c, а в останній версії -z (читайте довідку)). а для linux можливо кілька варіантів:

використовувати команду: dd if = / dev / zero of = / tmp / zerofile; rm / tmp / zerofile. Дана операція створює файл розміром з порожній простір на віртуальному диску і потім його видаляє. Даний процес може зайняти досить багато часу.

використовувати утиліту zerofile

Ці дії необхідно виконувати в гостьовій ОС. Після, чого вимикаємо гостьову віртуальну машину і виконуємо команду в терміналі (консолі) хоста:

VBoxManage modifyhd <файл>.vdi --compact.

Врахуйте що при виконанні першого кроку - обнулення блоків, розмір віртуального динамічного «диска» виростає до максимального розміру. Переконайтеся, що у вас достатньо місця для даної операції - інакше гостьова ОС може «зависнути» і дані в ній можуть бути пошкоджені.

PS: Важливо! Дана можливість є експериментальною в версії 2.2, тому рекомендується створити резервну копію файлу vdi перед першим використанням.

Схожі статті