3.9.15.1.3 Автостарт виртуальной машины в VirtualBox при запуске системы
Скачать документ Окружение
- Версия РЕД ОС: 8
- Конфигурация: Рабочая станция
- Версия ПО: VirtualBox-7.0.20-1
Вы можете подробнее рассмотреть автоматический запуск ВМ в VirtualBox, просмотрев наши обучающие видео:
на RuTube — Автостарт виртуальной машины в VirtualBox при запуске системы;
в Яндекс.Дзен — Автостарт виртуальной машины в VirtualBox при запуске системы;
в VK Видео — Автостарт виртуальной машины в VirtualBox при запуске системы.
На наших каналах вы также сможете найти много другой полезной информации.
Настройка сервиса автозапуска виртуальной машины
Запустите терминал и выполните команду с привилегиями пользователя root:
echo -e "VBOXAUTOSTART_DB=/etc/vbox\nVBOXAUTOSTART_CONFIG=/etc/vbox/autostartvm.cfg" | sudo tee /etc/default/virtualbox
VBOXAUTOSTART_DB - определяет абсолютный путь к каталогу базы данных автозапуска, обычно это /etc/vbox.
VBOXAUTOSTART_CONFIG - определяет путь к конфигурации автозапуска виртуальной машины.
Для настройки конфигурации автостарта создайте файл:
sudo nano /etc/vbox/autostartvm.cfg
Содержимое файла (смените user - на вашего пользователя):
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.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
Дата последнего изменения: 10.10.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.