6.2 Автостарт виртуальной машины в 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

Содержимое файла:

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

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

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

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

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

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

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

sudo chmod -R 777 /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.0.2_REDSOFT
(C) 2019 Oracle Corporation
All rights reserved.
00:00:00.000376 main     VirtualBox Autostart 6.0.2_REDSOFT r127994 
linux.amd64 (Mar 21 2019 18:17:15) release log
00:00:00.000379 main     Log opened 2019-12-19T20:24:50.402148000Z
00:00:00.000379 main     Build Type: release
00:00:00.000382 main     OS Product: Linux
00:00:00.000383 main     OS Release: 4.19.79-1.el7.x86_64
00:00:00.000384 main     OS Version: #1 SMP Mon Oct 28 16:06:09 MSK 2019
00:00:00.000407 main     DMI Product Name: System Product Name
00:00:00.000413 main     DMI Product Version: System Version
00:00:00.000441 main     Host RAM: 7837MB (7.6GB) total, 5345MB (5.2GB) available
00:00:00.000444 main     Executable: /usr/lib64/virtualbox/VBoxAutostart
00:00:00.000445 main     Process ID: 11211
00:00:00.000445 main     Package type: LINUX_64BITS_GENERIC (OSE)
00:00:00.001441 main     IPC socket path: /tmp/.vbox-User-ipc/ipcd

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

Создайте сервис:

sudo nano /etc/systemd/system/vmsautostart.service
[Unit]
Description=vms autostart
Before=graphical.target
[Service]
ExecStart=/etc/default/start
Type=oneshot
Group=vboxusers
User=admin
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