Виртуальные машины достаточно часто используются в наше время для тестирования различных операционных систем и выполнения других задач. Одна из самых популярных свободных программ для запуска виртуальных машин - VirtualBox. Когда вы создаете новую машину, вам необходимо создать для нее жесткий диск и указать его размер. Но вы не всегда можете угадать сколько места будет занимать та или иная машина.
Есть, конечно, динамические виртуальные диски, которые занимают место только при записи в них файлов, но это неполное решение проблемы, потому что нельзя все спланировать наперед. В этой статье мы рассмотрим как увеличить размер виртуального диска VirtualBox.
Содержание статьи
- Как увеличить размер виртуального диска VirtualBox
- Увеличение диска VirtualBox в Windows
- Увеличение файловой системы
- Выводы
Как увеличить размер виртуального диска 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 гигабайт. Важно чтобы размер, который вы указываете в параметре 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
Увеличение диска VirtualBox в Windows
В ОС Windows команда будет выглядеть немного по-другому, а путь к файлу будет начинаться с диска C:. Чтобы выполнить команду VBoxManage сначала необходимо перейти в папку с исполняемыми файлами VirtualBox:
cd “C:\Program Files\Oracle\VirtualBox”
Затем, запустите команду чтобы увеличить размер диска virtualbox, как было описано раньше, путь к файлу замените на свой:
VBoxManage showhdinfoC:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi
Затем изменяем размер этого диска, помните, что размер нужно указать в мегабайтах, и он должен быть больше чем текущий.
VBoxManage modifyhd "C:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi" --resize 32075
Увеличение файловой системы
То, что вы увеличили доступный размер диска еще ничего не меняет, как ничего не поменяет и то, что вы добавите новый жесткий диск к системе. Дальше вам нужно загрузится в вашу виртуальную машину расширить диск virtualbox и увеличить пространство, занимаемое файловой системой, для этого можно использовать утилиту Gparted. В дистрибутивах Linux она поставляется по умолчанию, запустите утилиту:
Здесь вы увидите отмеченное серым доступное пространство в конце диска. Теперь вы можете изменить размер для последнего раздела нажав на нем правой кнопкой и вызвав контекстное меню, затем выбрав "изменить размер/переместить":
Когда завершите, не забудьте нажать "Apply" чтобы применить все операции.
Читайте более подробно о том, как пользоваться Gparted в отдельной статье. Если у вас в качестве гостевой системы установлена Windows, вы можете использовать стандартную утилиту управления дисками или скачать ISO образ Gparted.
Выводы
В этой статье мы рассмотрели как увеличить размер виртуального диска virtualbox с помощью командной строки и как предоставить полученное пространство вашей гостевой системе. Если у вас остались вопросы, спрашивайте в комментариях!
https://youtu.be/OM2TLXtLvVA
Спасибо! Хорошая статья. У меня диск в формате vmdk и перед обратным преобразованием с vdi в vmdk нужно еще через менешжер дисков удалить старый диск *.vmdk, иначе после преобразования не пройдет регистрация нового диска.
В gparted почему то нельзя увеличить раздел. Минимальный размер и максимальный совпадают. При этом присутствует большая неразмеченная часть.
Таким способом можно увеличить только размер ДИНАМИЧЕСКОГО виртуального диска ( по крайней мере на Windows ).
Спасибо, помогли!
А если нет DE, без GParted как-то можно расширить?
sudo parted
print free
resizepart [#partition] [new_size]
Пытаюсь увеличить размер виртуального диска по этой инструкции, но что-то никак не хочет менять размер динамического диска
VBoxManage modifyhd ~/VirtualBox\ VMs/Win_7_New/Win_7_New.vdi --resize 62031
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Failed to resize medium
VBoxManage: error: Shrinking is not yet supported for medium '/home/andypc/VirtualBox VMs/Win_7_New/Win_7_New.vdi'
VBoxManage: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage: error: Context: "RTEXITCODE handleModifyMedium(HandlerArg*)" at line 816 of file VBoxManageDisk.cpp
Можешь подсказать в чем может быть проблема. На реальном диске место есть.
Поддерживаю вопрос, помоги пжл
Все сделал. Увеличение прошло успешно. В свойствах пишет vdi 50 Гб. Было 30ГБ.
Но запускаю virtbox win10 и обнаруживаю ничего не изменилось. Захожу в disk manager и там тоже не появились не размеченые 20 гб. Не понимаю, что такое?!
Если вы выделили место в полном объёме и не можете расширить место через менеджер дисков в Vbox (code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium), то есть ещё один способ: Создаёте ещё один диск (можно динамический), подключаете его к виртуалке, запускаете и через команду sudo dd if=/dev/sda of=/dev/sdb status=progress копируете весь ваш диск. Через GParted расширяете раздел и выключаете машину, удаляете первый диск и подключаете второй, на sata port 0. Далее загружаетесь, как обычно. Старый диск потом удаляете. У меня только что так получилось