VirtualBox – это мощное, но бесплатное программное обеспечение для виртуализации, которое позволяет запускать несколько операционных систем на одной машине. Это универсальный инструмент для тестирования, разработки или изучения новых сред ОС.
Однако одна функция, которая может значительно повысить удобство и эффективность использования VirtualBox, – это возможность настроить автоматический запуск виртуальных машин (ВМ) на хост-системе Linux.
VM Autostart
Представьте себе сервер на виртуальной машине, который должен работать круглосуточно, или приложение, требующее частого тестирования на разных операционных системах.
В этих и многих других сценариях возможность автоматического запуска виртуальных машин при загрузке системы может сэкономить вам огромное количество времени и хлопот.
Кроме того, вам больше не нужно вручную запускать каждую виртуальную машину при каждом перезапуске хост-системы. С помощью нескольких простых настроек ваши виртуальные машины могут оживать автоматически и быть готовыми к использованию в любой момент.
VirtualBox: Как автозапускать виртуальные машины при загрузке Linux
Добавление пользователя в группу vboxusers
Прежде чем мы перейдем к основной задаче, нам нужно проверить несколько вещей. Самое важное – убедиться, что пользователь, с правами которого виртуальные машины VirtualBox будут автоматически запускаться при загрузке, должен быть членом группы vboxusers
.
Мы предполагаем, что это ваша учетная запись пользователя, которую вы используете для всех действий на рабочем столе Linux. Чтобы узнать, в каких группах она состоит, выполните эту команду:
groups $USER
Вы должны увидеть vboxusers в списке результатов, как на изображении выше. Если вы его не видите, не волнуйтесь! Вы можете быстро добавить своего пользователя в эту группу с помощью следующей команды:
sudo usermod -a -G vboxusers $USER
Перезагрузите компьютер или перезайдите в свою учетную запись, чтобы изменения вступили в силу.
Создание необходимых служб Systemd
Для достижения нашей цели, а именно, чтобы виртуальные машины VirtualBox запускались самостоятельно после перезагрузки системы, мы будем использовать некоторые функции, предоставляемые systemd. Как я объясню, сделать это довольно просто.
Необходимо создать файл name@example.com в каталоге /etc/systemd/system/
. Затем скопируйте и вставьте в него следующее содержимое.
sudo nano /etc/systemd/system/name@example.com
[Unit] Description=VBox Virtual Machine %i Service Requires=systemd-modules-load.service After=systemd-modules-load.service [Service] User=linuxiac Group=vboxusers ExecStart=/usr/bin/VBoxManage startvm %i --type headless ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton RemainAfterExit=yes [Install] WantedBy=multi-user.target
Не забудьте в части User=… заменить пользователя на того, которого вы используете.
Но теперь давайте разберем, что мы только что сделали, особенно для тех, кто, возможно, не очень хорошо знаком с systemd. Что означает символ @ в имени файла?
В systemd @ обозначает имя экземпляра файла шаблонов. Шаблонные файлы модулей позволяют создавать службы, которые можно запускать с разными экземплярами, каждый из которых имеет отдельную конфигурацию или окружение.
Это особенно полезно, когда вы хотите запустить несколько экземпляров одной и той же службы, каждый из которых настроен немного по-разному, без необходимости создавать отдельный файл модулей для каждого экземпляра. Это как раз наш случай.
Теперь давайте перечислим доступные виртуальные машины VirtualBox:
VBoxManage list vms
Как видно из изображения выше, у нас есть два варианта: debian и ubuntu. Мы упомянули эти имена, потому что нам нужно будет выбрать одно из них для следующей службы systemd, которую мы создаем. Мы решили выбрать ubuntu.
Чтобы настроить его автоматический запуск, просто выполните приведенную ниже команду. После символа @ добавьте имя, которое вы выбрали из списка виртуальных машин VirtualBox. Для нас это имя – ubuntu.
sudo systemctl enable vboxvmservice@ubuntu
Как видите, наш новый сервис systemd, vboxvmservice@ubuntu, был автоматически привязан к name@example.com. Это означает, что все, что следует за символом @, в данном случае ubuntu, будет использовано в службе и заменено на место переменной %i.
И наконец, перезагрузите конфигурационные файлы systemd:
sudo systemctl daemon-reload
Тестирование автозапуска виртуальной машины VirtualBox
Итак, настал ответственный момент. Перезагрузите свою систему Linux. Когда вы снова войдете в систему, вы обнаружите, что виртуальная машина VirtualBox запущена. Поздравляем с хорошо выполненной работой!
Дополнительно вы можете проверить состояние службы systemd, выполнив:
sudo systemctl status vboxvmservice@ubuntu
Заключение
Настройка автоматического запуска виртуальных машин VirtualBox в Linux-системе дает значительные преимущества пользователям, желающим получить эффективную и упрощенную виртуализацию.
Успешная реализация означает отсутствие необходимости вручную запускать каждую ВМ при перезагрузке хост-системы, что экономит время и сокращает количество ручных операций.
Кроме того, этот метод обеспечивает постоянную доступность основных служб, работающих на ВМ, что делает его бесценным дополнением к набору инструментов любого пользователя VirtualBox.
Комментарии (0)