Очистка места на виртуальной машине

05 Мая 2025 23:34

На виртуальной машине 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.