Управляем VirtualBox через консоль

VirtualBox Console LinuxБлагодаря своей бесплатности и открытости VirtualBox приобрёл значительную популярность в качестве системы виртуализации. Несмотря на то, что VirtualBox обладает удобным графическим интерфейсом, разработчики оставили возможность управления через консольные команды. Зачем? Для тех случаев, когда графический интерфейс недоступен. Как правило, это относится к серверам.

В этой небольшой статье мы создадим и настроим виртуальную машину в VirtualBox через терминал Linux. Для управления VirtualBox существует команда VBoxManage (естественно, она будет доступна только после установки VirtualBox в системе). Синтаксис команды выглядит так:

VBoxManage [общие_опции] [команда] [опции_команды]

Создание виртуальной машины

Задать местоположение каталога с виртуальными машинами можно командой вида:

vboxmanage setproperty machinefolder [путь_к_каталогу]

Например:

vboxmanage setproperty machinefolder /home/test/virtualbox/

Управляем VirtualBox через консоль

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

vboxmanage list ostypes

Нас интересует пункт ID.

Управляем VirtualBox через консоль

Если мы хотим создать виртуальную машину с 64-битной Windows 10, то идентификатор такой операционной системы будет Windows10_64, а команда будет выглядеть следующим образом:

vboxmanage createvm --name "Windows 10" --ostype "Windows10_64" --default --register

Имя машины можно задать произвольно. Последний ключ нужен для регистрации машины, без него будет создан только XML-файл с настройками.

Посмотреть информацию о свежесозданной машине можно командой:

vboxmanage showvminfo "Windows 10"

Управляем VirtualBox через консоль

Также мы можем вывести список доступных нам виртуальных машин, чтобы убедиться, что новая машина в нём появилась:

vboxmanage list vms

Управляем VirtualBox через консоль

Конечно, это ещё далеко не всё. Во-первых, наша виртуальная машина создалась с самыми минимальными характеристиками. Вы могли в этом уже убедиться. Во-вторых, нам нужно подсоединить к ней виртуальный накопитель.

Давайте дадим нашей виртуальной машине хотя бы 2 ГБ оперативной памяти:

vboxmanage modifyvm "Windows 10" --memory 2048

256 МБ видеопамяти:

vboxmanage modifyvm "Windows 10" --vram 256

А также предоставим доступ к двум ядрам CPU:

vboxmanage modifyvm "Windows 10" --cpus 2

После этого снова вводим:

vboxmanage showvminfo "Windows 10"

И видим, что настройки применились.

Управляем VirtualBox через консоль

Теперь перейдём к накопителю, где будет храниться информация.

Создадим новый виртуальный накопитель для нашей машины:

vboxmanage createhd --filename "/home/test/virtualbox/Windows 10/Windows10.vdi" --size 10000 --format VDI

Управляем VirtualBox через консоль

В команде мы указали путь к файлу накопителя, его размер в мегабайтах и тип накопителя.

Далее нам надо создать для нашей машины SATA-контроллер, к которому будет подсоединён накопитель.

vboxmanage storagectl "Windows 10" --name "SATA Controller" --add sata --controller IntelAhci

Подсоединяем к контроллеру накопитель:

vboxmanage storageattach "Windows 10" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/home/test/virtualbox/Windows 10/Windows10.vdi"

Однако, на виртуальной машине ещё не установлена операционная система. Ставить её мы будем из образа. А для этого нам понадобится IDE-контроллер:

vboxmanage storagectl "Windows 10" --name "IDE Controller" --add ide --controller PIIX4

Подключаем к нему образ с операционной системой:

vboxmanage storageattach "Windows 10" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ~/Win10_1909_Russian_x64.iso

Теперь нужно озаботиться удалённым подключением к виртуальной машине, чтобы мы могли ею управлять.

Для включения удалённого доступа используем команду:

vboxmanage modifyvm "Windows 10" --vrde on

Просто так воспользоваться удалённым доступом у нас не получится — придётся установить Oracle VM VirtualBox Extension Pack.

Для начала проверим, что у нас установлено:

vboxmanage list extpacks

Управляем VirtualBox через консоль

Нас интересует строка VRDE Module. В её значении должно присутствовать RDP, а не VNC.

Нам нужно скачать набор расширений. Качается он под ту версию VirtualBox, что у вас установлена. Скорее всего, вы знаете номер версии, но, если что, проверить его можно командой:

vboxmanage --version

Управляем VirtualBox через консоль

После скачивания набора расширений устанавливаем его командой

sudo vboxmanage extpack install ~/Oracle_VM_VirtualBox_Extension_Pack-6.0.6.vbox-extpack

Придётся принять лицензионное соглашение и дождаться завершения установки.

Управляем VirtualBox через консоль

Управление виртуальной машиной

Для запуска виртуальной машины используем команду:

vboxmanage startvm "Windows 10" --type headless

Далее для управления состояния виртуальной машины будем использовать команду controlvm.

Чтобы поставить машину на паузу, введём команду:

vboxmanage controlvm "Windows 10" pause

Для вывода из состояния паузы:

vboxmanage controlvm "Windows 10" resume

Для выключения виртуальной машины:

vboxmanage controlvm "Windows 10" poweroff

Для сохранения состояния виртуальной машины:

vboxmanage controlvm "Windows 10" savestate

Чтобы послать сигнал нажатия на кнопку выключения:

vboxmanage controlvm "Windows 10" acpipowerbutton

Для вывода виртуальной машины из состояния блокировки (например, если неожиданно была прервана подача электропитания):

vboxmanage startvm "Windows 10" --type emergencystop

Подключение ранее созданной виртуальной машины

Напоследок рассмотрим ситуацию, когда виртуальная машина у вас уже есть. Подключить её без использования графического интерфейса не так уж и сложно. Для этого используем команду registervm с указанием пути к файлу виртуальной машины:

vboxmanage registervm /home/test/virtualbox/macos/macos.vbox

Вместо заключения

В данной статье мы рассмотрели базовые операции с виртуальной машиной, которые можно совершить через терминал Linux. Были изучены создание виртуальной машины, её первоначальная настройка, подключение уже существующей виртуальной машины. Если вас заинтересовало управление VirtualBox через консоль, вы можете продолжить изучение возможностей команды vboxmanage самостоятельно.

Добавить комментарий

Ваш адрес email не будет опубликован.