Как уменьшить размер виртуальных дисков VDI в VirtualBox

Май, 19th 2025Рубрика: Windows | Советы 131
Подписаться на комментарии по RSS

Как уменьшить размер виртуальных дисков VDI в VirtualBox

У любимой многими системы виртуализации VirtualBox есть одна неприятная особенность. Размер динамического виртуального диска (.vdi) в процессе работы может сильно увеличиться, однако при удалении данных в гостевой операционной системе, его объем не уменьшается.

Довольно странно, что за всё время существования проекта VirtualBox, так и не появилось удобного способа уменьшения размера виртуальных дисков VDI в автоматическом режиме. Инструмент, о котором я сегодня расскажу, является скорее костылём, но хорошо хоть так, чем совсем никак. Сразу оговорюсь, что дальнейшее описание справедливо в случае, когда хостовая и гостевая машины работают по управлением Windows.

Как уменьшить размер виртуальных дисков VDI

Будем считать, что все данные, которые больше не пригодятся, а также временные файлы, обновления и инсталляторы, вы уже удалили из своей гостевой операционной системы.

Для достижения максимального эффекта, "обнуляем" свободное место на диске гостевой ОС. Обнуление – это операция, при которой в сектора HDD или ячейки SSD записываются нули. В этом нам поможет утилита для безопасного удаления файлов SDelete (Secure Delete) от Sysinternals (дочерняя компания Microsoft).

Для "обнуления" диска C: выполните следующую команду:

sdelete.exe c: -z

Загрузить утилиту SDelete и почитать подробнее про её использование можно по этой ссылке https://learn.microsoft.com/ru-ru/previous-versions/bb897443(v=msdn.10)

Ну что, все подготовительные этапы завершены и пришло время вернуть у виртуальной машины не используемое место. Для этого в VirtualBox имеется штатная утилита VBoxManage, правда у неё нет графического интерфейса ,а потому снова воспользуемся командной строкой Windows или запустите Windows PoweShell.

Общий синтаксис команды, выглядит следующим образом:

VBoxManage.exe modifymedium --compact c:\path\to\thedisk.vdi

В старый версиях утилиты VBoxManage вместо modifymedium нужно прописать modifyhd с параметром "-compact". Данная команда сжимает динамически выделяемые образы дисков виртуальной машины (VDI) удаляя блоки, содержащие только нули.

Для примера сожмем динамический диск виртуальной машины win7test.vdi, расположенный на диске `D:\virtual` хостовой машины:

'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' modifymedium --compact D:\virtual\win7test.vdi

Утилита VBoxManage для сжатия виртуальных дисков VDI

Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

ваш комментарий будет опубликован после проверки
на указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.