6.1.3 Автостарт виртуальной машины в VirtualBox при запуске системы

Автостарт виртуальной машины в VirtualBox при запуске системы

Настройка сервиса автозапуска виртуальной машины

Запустите терминал и выполните команду:

echo -e "VBOXAUTOSTART_DB=/etc/vbox\nVBOXAUTOSTART_CONFIG=/etc/vbox/autostartvm.cfg" | sudo tee /etc/default/virtualbox

VBOXAUTOSTART_DB — определяет абсолютный путь к каталогу базы данных автозапуска, обычно это / etc / vbox.

VBOXAUTOSTART_CONFIG — определяет путь к конфигурации автозапуска виртуальной машины.

Настройка конфигурации автостарта, создайте файл

nano /etc/vbox/autostartvm.cfg

Содержимое файла (смените user — на вашего пользователя):

default_policy = deny
user = {allow = true
startup_delay = 10
}

• default_policy — определяет, разрешать или запрещать автоматический запуск виртуальной машины по умолчанию. В примере выше мы отказали кому-либо в автоматическом запуске виртуальной машины и явно разрешили одному пользователю user.

• username (user) — с помощью политики запрета по умолчанию вы можете определить конкретных пользователей, которым разрешено автоматически запускать виртуальную машину (allow = trues). Вы также можете определить, как долго задерживать запуск виртуальной машины. 10 секунд используется в этой демонстрации.

Определение владельца директории базы данных автозапуска

Выполните следующие команду (смените user — на вашего пользователя):

sudo usermod -aG vboxusers user
sudo chgrp vboxusers /etc/vbox

Назначьте группе разрешения на запись в каталоге базы данных автозапуска:

sudo chmod -R 774 /etc/vbox/

Как user, вы можете включить автозапуск для отдельных машин. Для этого необходимо сначала определить путь к каталогу базы данных.

VBoxManage setproperty autostartdbpath /etc/vbox/

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

vboxmanage modifyvm redos --autostart-enabled on

Где redos — это UUID или имя вашей виртуальной машины.

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

sudo nano /etc/default/start
#!/bin/bash 
VBoxAutostart --start -c /etc/vbox/autostartvm.cfg

Сделайте файл исполняемым:

sudo chmod +x /etc/default/start

Проверьте что файл выполняется успешно:

/etc/default/start

Пример вывода результата команды:

Oracle VM VirtualBox Autostart 6.1.16_REDSOFT
(C) 2021 Oracle Corporation
All rights reserved.

00:00:00.000404 main VirtualBox Autostart 6.1.16_REDSOFT r140961 linux.amd64 (Apr 12 2021 17:37:04) release log
00:00:00.000406 main Log opened 2021-05-24T06:54:30.722810000Z
00:00:00.000407 main Build Type: release
00:00:00.000411 main OS Product: Linux
00:00:00.000411 main OS Release: 5.10.29-1.el7.x86_64
00:00:00.000412 main OS Version: #1 SMP Mon Apr 12 13:55:18 MSK 2021
00:00:00.000445 main DMI Product Name: System Product Name
00:00:00.000452 main DMI Product Version: System Version
00:00:00.000457 main Firmware type: UEFI
00:00:00.001190 main Secure Boot: Disabled
00:00:00.001234 main Host RAM: 7826MB (7.6GB) total, 2378MB (2.3GB) available
00:00:00.001238 main Executable: /usr/lib64/virtualbox/VBoxAutostart
00:00:00.001239 main Process ID: 9566
00:00:00.001239 main Package type: LINUX_64BITS_GENERIC (OSE)
00:00:00.002388 main IPC socket path: /tmp/.vbox-wolandius-ipc/ipcd

В самом virtualbox виртуальная машина должна будет запуститься

Создайте сервис (смените user — на вашего пользователя):

sudo nano /etc/systemd/system/vmsautostart.service
[Unit]
Description=vms autostart
Before=graphical.target
[Service]
ExecStart=/etc/default/start
Type=oneshot
Group=vboxusers
User=user
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

Выполните следующие команды:

sudo chmod 664 /etc/systemd/system/vmsautostart.service
sudo systemctl daemon-reload
sudo systemctl enable vmsautostart.service
sudo systemctl start vmsautostart.service

При успешном старте сервиса проверьте virtualbox на наличие работающей машины
При перезагрузке системы машина запустится до ввода пароля пользователя

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

vboxmanage modifyvm redos --autostart-enabled off
sudo systemctl disable vmsautostart.service
sudo systemctl stop vmsautostart.service

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email