Віртуальні машини повсюдно використовуються в наш час для тестування різних операційних систем і виконання інших завдань. Популярна і вільна програма для запуску віртуальних машин - VirtualBox. Коли ви створюєте нову машину, вам необхідно створити для неї жорсткий диск і вказати його розмір. Але ви не завжди можете вгадати скільки місця займатиме та чи інша машина. Є динамічні віртуальні диски, що займають місце тільки під час запису в них файлів, але це неповне вирішення проблеми, тому що не можна все спланувати наперед.
У VirtualBox можна використовувати три основні формати - це VDI
, VHD
і VDMK
. Змінити розмір можна тільки для VDI
і VHD
. Для VDMK
є обхідний шлях.
Для збільшення обсягу потрібно використовувати команду в терміналі або в командному рядку, у графічному інтерфейсі такої функції, на жаль, немає. Також вам потрібно знати повний шлях до вашого диска. Припустімо, наш диск знаходиться за адресою ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
в Linux. Подивимося інформацію про нього, щоб знати поточний розмір:
$ VBoxManage showhdinfo ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
Розмір відзначено в полі capacity і в даному прикладі він становить 22075 мегабайта. Важливо знати об'єм у мегабайтах, оскільки саме його ми будемо використовувати для збільшення диска. Щоб збільшити розмір віртуального диска virtualbox використовується та ж команда, тільки з параметром modifyhd
:
$ VBoxManage modifyhd ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi --resize 32075
Ми збільшили обсяг на 10 GB. Важливо, щоб об'єм, який ви вказуєте в параметрі resize
, був не меншим за поточний розмір диска, інакше дані операційної системи можуть бути пошкоджені і вся суть цієї операції втрачає сенс.
Якщо у вашої машини є знімки стану, то їхній розмір теж потрібно змінити, інакше нічого не запрацює. Для цього можна використовувати такий цикл:
$ for x in ~/VirtualBox VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x --resize 32075 ; done
Пам'ятайте, що розмір та імена мають збігатися у всіх командах для однієї машини. Для формату VDMK
збільшення розміру VirtualBox не підтримується, але натомість можна його конвертувати у vdi
, збільшити, як описано вище, і конвертувати назад:
$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdmk" "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi" --format vdi
$ VBoxManage modifyhd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " --resize 32075$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk" --format vmdk
В OS Windows команда виглядатиме трохи по-іншому, а шлях до файлу починатиметься з диска C:. Щоб виконати команду VBoxManage спочатку необхідно перейти в папку з виконуваними файлами VirtualBox:
cd “C:Program FilesOracleVirtualBox”
Запустіть команду щоб збільшити розмір virtualbox, як було описано раніше, шлях до файлу замініть на свій:
$ VBoxManage showhdinfoC:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi
І змінюємо розмір цього диска, пам'ятайте, що розмір потрібно вказати в мегабайтах, і він має бути більшим за поточний.
$ VBoxManage modifyhd "C:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi" --resize 32075
Те, що ви збільшили доступний розмір диска, ще нічого не змінює, як нічого не змінить і те, що ви додасте новий жорсткий диск до системи. Далі вам потрібно завантажиться у вашу віртуальну машину, розширити диск virtualbox і збільшити простір, займаний файловою системою, для цього можна використовувати утиліту Gparted. У дистрибутивах Linux вона поставляється за замовчуванням, запустіть утиліту:
Ви побачите позначений сірим доступний простір у кінці диска. Тепер ви можете змінити розмір для останнього розділу, натиснувши на ньому правою кнопкою і викликавши контекстне меню, потім вибравши "змінити розмір/перемістити":
Коли завершите, не забудьте натиснути "Apply" щоб застосувати всі операції.
Ми розглянули як збільшити розмір віртуального диска virtualbox за допомогою командного рядка і як надати отриманий простір вашій гостьовій системі.