RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Боковая панель


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
virtualization:vbox_disk_resize


VirtualBox: изменение размера диска

Исходные данные:

  • VirtualBox 5.1.18 (хост система macOS Sierra).
  • Гостевая система Windows 7 Professional, динамический VDI диск.

Рано или поздно пользователи VirtualBox сталкиваются с тем, что диск (динамический) гостевой системы стал занимать много места на хост системе.

Диск в гостевой системе 25 ГБ. Занято в Windows только 13 ГБ, но на хост системе диск занимает почти 19 ГБ.

Вывод команды VBoxManage

$ VBoxManage showmediuminfo /Users/dx/VirtualBox\ VMs/w7_pro/w7_pro_d1.vdi 
UUID:           dad0bd3d-3e10-4b0d-9e25-e79e6126be5d
Parent UUID:    base
State:          locked write
Type:           normal (base)
Location:       /Users/dx/VirtualBox VMs/w7_pro/w7_pro_d1.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       25600 MBytes
Size on disk:   18823 MBytes
Encryption:     disabled
In use by VMs:  w7_pro (UUID: f2f5c52d-4463-4245-91e4-7eb10bca9021)

Для ещё большей наглядности скриншот

Диск в менеджере носителей

Windows

Как увеличить/уменьшить размер диска

Для изменения размера диска нужно запустить vboxmanage с опцией modifymedium. В прошлых релизах VirtualBox опция называлась modifyhd или modifyvdi.

Из документации VirtualBox:

For compatibility with earlier versions of VirtualBox, the "modifyvdi" and "modifyhd" commands are also supported and mapped internally to the "modifymedium" command.

Для хост системы Mac/Linux

$ VBoxManage modifymedium disk [pandorabox].vdi --resize [new_size]

Для хост системы Windows

$ C:\Program Files\Oracle\VirtualBox\VboxManage.exe modifymedium disk [pandorabox].vdi --resize [new_size]

Увеличим диск с 25 ГБ до 30 ГБ. Размер указывается в МБ. 30 ГБ = 30*1024 = 30720.

$ vboxmanage modifymedium disk /Users/dx/VirtualBox VMs/w7_pro/w7_pro_d1.vdi --resize 30720
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Далее остаётся только расширить диск внутри гостевой ОС

Как сжать VDI диск

TL;DR 1. Заполнить диск нулями. 2. Сжать диск.

Шаг 1. Выполняем дефрагментацию диска (зачем?!) в гостевой системе (только для Windows).

Шаг 2. Заполняем диск нулями

Для гостевой системы Windows

Для Windows есть специальная утилита SDelete.

Запускаем

sdelete.exe c: -z
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).

Результат

Для гостевой системы Linux

Для Linux вариантов несколько:

dd if=/dev/zero of=zero bs=512k
rm zero

Или через утилиту zerofree

apt-get install zerofree
telinit 1
mount -o remount,ro /dev/sda1
zerofree -v /dev/sda1
shutdown -hP 0

Или через утилиту sfill (входит в состав пакета secure-delete; только для Debian)

sfill -llvz /

Шаг 3. Выключаем гостевую машину.

Шаг 4. Запускаем modifymedium с опцией compact.

Для хост системы с Mac

VBoxManage modifymedium disk [path/to/disk.vdi] --compact

Для хост системы с Linux

vboxmanage modifymedium disk [path/to/disk.vdi] --compact

Для хост системы с Windows

VBoxManage.exe modifymedium disk [c:\path\to\disk.vdi] --compact
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Discussion

Enter your comment. Wiki syntax is allowed:
 
virtualization/vbox_disk_resize.txt · Последнее изменение: 2017/08/09 09:01 (внешнее изменение)