На виртуальной машине Virtual Box под управлением, например, Ubuntu все удаленные файлы не совобождают место. То есть, если диск заполнился и вы решили почистить файлы в виртуальной машине то места больше не станет. Чтобы это исправить нужно проделать следующие действия:
Примечание. Обязательно делаем бэкап перед началом т.к. эти действия могут быть выполнены с ошибками и привести к безвозвратной потере данных!
1. Заполнить свободное место нулями
Это нужно для того, чтобы VirtualBox смог определить неиспользуемые блоки.
Открываем терминал Ubuntu в виртуальной машине и вводим команду:
sudo dd if=/dev/zero of=/zero.file bs=1M status=progress
Дожидаемся ошибки No space left on device
(диск заполнен).
2. Удалить временный файл
Выполняем команду:
sudo rm -f /zero.file
3. Выключить виртуальную машину
sudo poweroff
4. Сжать диск на хостовой системе
Открываем терминал нашей основной системы (например, Windows).
Переходим в терминале в папку с VirtualBox:
cd "C:\Program Files\Oracle\VirtualBox"
Выполняем команду:
VBoxManage.exe modifymedium "C:\Users\Имя\VirtualBox VMs\Ubuntu\disk.vdi" --compact
5. Проверить результаты
Смотрим сколько места на диске освободилось, а также проверяем размер файла виртуальной машины .vdi.