Уже написаны тонны постов о сжатии vdi-образов VirtualBox в Ubuntu, поэтому и я внесу свои 5 копеек (не больше :)) по теме сжатия Ubuntu-вых образов.

Часто в сети встречаются вопросы — почему образы гостевых систем не уменьшаются после сжатия? Вроде и нулями забили свободное место и обработали образ стандартной командой:

VBoxManage modifyhd /ваш/путь/до/образа.vdi --compact

но образ упорно не хочет сжиматься.

Ответ прост — либо у образа есть проблемы с файловой системой(ми) либо образ просто не требует сжатия (что сомнительно :)), поэтому, перед забитием нулями свободного места и сжатием образа, было бы неплохо проверить разделы виртуальной машины и удалить всё лишнее.

Проверить файловые системы разделов образа можно загрузив виртуальную машину с LiveCD дистрибутива, и далее воспользоваться либо утилитой Gparted (так удобнее) либо просто набрать в терминале (в случае ext2ext3/etx4):

e2fsck -f -v -y /dev/нужное_устройство_раздела_образа

Удалить лишнее еще проще: удалению подлежат все ненужные ядра (пакеты: linux-image-[версия_ядра]-generic, linux-headers-[версия_ядра]-generic) из списков:

dpkg -l | grep linux-image
dpkg -l | grep linux-headers

как и пакеты, в своё время автоматически установленные для сохранения зависимостей и более ненужные:

sudo apt-get autoremove

а так же кэш пакетов apt, находящийся в /var/cache/apt:

sudo apt-get autoclean && sudo apt-get clean

Все эти нехитрые действия помогут уменьшить занимаемое виртуальной системой место на образе.

Ну, а теперь можно смело забивать нулями и сжимать.