configurations/program/src/virtualbox.md

2.5 KiB
Raw Permalink Blame History

VirtualBox

Управление через CLI

Вывести список зарегистрированных виртуальных машин:

VBoxManage list vms

Вывести список запущенных виртуальных машин:

VBoxManage list runningvms

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

VBoxManage startvm <name or UUID> --type <type>

где

  • name or UUID - имя или UUID запускаемой виртуальной машины
  • type - режим, в котором запустить виртуальную машину, например в графическом интерфейсе (gui) или в скрытом (headless)

например:

VBoxManage startvm ac67e7f1-9255-412b-a522-ebe3e264e4f6 --type headless

Для управления запущенной виртуальной машиной:

VBoxManage controlvm <subcommand>

где subcommand:

  • <name or UUID> pause|resume|reset|poweroff

Запуск как сервис systemd

Необходимо добавить пользователя в группу vboxusers:

sudo usermod -a -G vboxusers $USER

Создать модуль шаблона systemd для запуска и остановки виртуальных машин VirtualBox:

sudo touch /etc/systemd/system/vbox_vm_start@.service

с содержимым:

[Unit]
Description=VirtualBox VM %I
After=network.target vboxdrv.service
Before=runlevel2.target shutdown.target

[Service]
User=<MyUser>
Group=vboxusers
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes

ExecStart=/usr/bin/VBoxManage startvm %i --type headless
ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton

[Install]
WantedBy=multi-user.target

Заменить <MyUser> на пользователя, от имени которого будет запускаться виртуальная машина.

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

sudo systemctl enable vbox_vm_start@<name of VM>

где <name of VM> заменть на имя виртуальной машины.

Получть список виртуальных машин:

VBoxManage list vms

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