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

При всем моем уважении к неумение расширять -образы один из самых больших ее минусов. Однако, потребность в их расширении время от времени возникает и тут есть два способа:

  1. Создание диска большего объема, загрузка с live cd, например gparted и перенос данных с его помощью на новый диск
  2. Изменение размера диска с помощью -img, к сожалению формат vdi не поддерживается, поэтому конвертация происходит через промежуточный формат

Первый вариант довольно прост и особых пояснений не требует, второй вариант немнго интереснее и его я опишу далее.

Для начала нам нужна последняя версия qemu, получаем ее из git-репозитория:

 [email protected]:~$ cd /usr/src [email protected]:/usr/src$ git clone git://git.sv.gnu.org/qemu.git [email protected]:/usr/src$ cd qemu 

Собираем qemu с отключением всего лишнего:

 [email protected]:/usr/src/qemu$ ./configure --target-list="i386-softmmu" --audio-card-list="" \ --disable-xen --disable-brlapi --disable-vnc-tls --disable-vnc-sasl --disable-vnc-jpeg \ --disable-vnc-png --disable-vnc-thread --disable-curses --disable-curl --disable-fdt \ --disable-check-utests --disable-bluez --disable-kvm --disable-nptl --disable-system \ --disable-user --disable-linux-user --disable-darwin-user --disable-bsd-user \ --disable-guest-base --disable-user-pie --disable-uuid --disable-vde --disable-linux-aio \ --disable-attr --disable-blobs --disable-docs --disable-vhost-net [email protected]:/usr/src/qemu$ make 

Установка не требуется, после компиляции в каталоге с исходными кодами наблюдается искомый бинарный файл qemu-img.

Теперь можно преобразовать vdi образ, расширить его, например на 5 Гб, после чего преобразовать обратно в vdi:

 [email protected]:~$ VBoxManage internalcommands converttoraw vm-deb1.vdi vm-deb1.raw [email protected]:~$ qemu-img  vm-deb1.raw +5G Image resized. [email protected]:~$ VBoxManage convertfromraw --format VDI --variant Standard vm-deb1.raw \ vm-deb1.vdi 

Строго говоря таким образом можно преобразовать vdi в любой из поддерживаемых qemu форматов: cloop, cow, qcow, qcow2 и vmdk.