Динамически растущий файл виртуального жесткого диска Virtual Box способен расти по требованию виртуальной машины до максимального размера, который мы определили при настройке этого файла. Однако это не освобождает пространство файлов, которые мы удалили в гостевой ОС.
Если диск слишком сильно вырос, мы можем сжать его снова, при условии, что неиспользуемое пространство заполнено нулями, а накопитель имеет формат VDI.
Для файловой системы ext2 - ext 4 это можно сделать из гостевой системы Ubuntu с помощью утилиты командной строки zerofree * .
zerofree /dev/sdxX
Для этого необходимо, чтобы диск не использовался и был демонтирован . Поэтому нам, возможно, придется временно привязать его к другой виртуальной машине, которую мы создали для этой цели, или нам нужно загрузить на нее виртуальную среду Ubuntu.
Замените /dev/sdxX
на рассматриваемый раздел в формате ext2, ext3 или ext4 .
На более чем одном разделе мы должны повторить zerofree
для каждого раздела. Имейте в виду, что при заполнении нулями виртуальный файл будет временно увеличиваться до максимального размера.
Когда все неиспользуемое дисковое пространство заполнено нулями, мы сжимаем диск
VBoxManage modifyhd <name>.vdi --compact
Это значительно уменьшит размер нашего VDI-файла.
* В гостевой системе Windows мы можем заменить неиспользуемое пространство утилитой sdelete
.