VirtualBox - как освободить неиспользуемое место на диске VDI?

14

Итак, если у меня есть динамическое хранилище в гостевой системе virtualbox, как я могу уменьшить размер VDI, если в гостевой системе много неиспользуемых мест?

Так что я имею в виду, что в действительности виртуальный гость гостя составляет ~ 3 ГБ, но файл VDI равен 10 ГБ, потому что время от времени гость был таким большим. Но теперь это только 3 ГБ. Как я могу уменьшить размер VDI? Так что это будет всего 3 Гбайт? (и нет, нет никаких снимков о госте)

LanceBaynes
источник
Связанный: Как объединить файлы в раздел Linex?
Тамара Вийсман

Ответы:

15

Взгляните на vboxmanage modifyhd : он позволяет сделать изображение более компактным.

С параметром --compact можно использовать для компакт-дисков, т.е. удалять блоки, которые содержат только нули. Это уменьшит динамически размещаемое изображение снова; это уменьшит физический размер образа, не влияя на логический размер виртуального диска. Уплотнение работает как для базовых изображений, так и для разностных изображений, созданных как часть снимка.

Чтобы эта операция была эффективной, необходимо сначала обнулить свободное место в гостевой системе, используя подходящий программный инструмент. Для гостей Windows вы можете использовать инструмент удаления , предоставленный Microsoft. Выполните sdelete -c в гостевой системе, чтобы обнулить свободное дисковое пространство перед сжатием образа виртуального диска. Для Linux используйте утилиту zerofree, которая поддерживает файловые системы ext2 / ext3.

Karolos
источник
1
Используйте sdelete -z не -c! См. Superuser.com/questions/747820/… - опция -c просто перезаписывает случайные данные для «безопасного стирания» (слегка изношенные твердотельные накопители).
Люк
6

Будьте осторожны - MS изменил значение «-c» (чистый) и «-z» (ноль) в какой-то момент. Чтобы быть в безопасности, запустите "sdelete /?" чтобы увидеть, какой вариант вы должны использовать:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)
hornlo
источник
1
Опция -c перезаписывает случайные данные (см. Superuser.com/questions/747820/… ), что немного носит твердотельные накопители. Используйте -z для обнуления.
Люк