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

Обновлено: 07.07.2024

Virtualbox-запуск определенной машины при старте системы (автозагрузка определенной виртуальной машины)

Virtualbox-запуск определенной машины при старте системы

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Читал это вчера вечером, но ничего полезного там найти не смог.

Это хорошо, взять и послать на 4 буквы. Сразу чувствуется рука мастера.
У меня нету катологов /etc/default/virtualbox, а каталог /etc/vbox/
полностью пустой.
Что именно писать в VBOXAUTOSTART_DB в /etc/default/virtualbox
Что писать в VBOXAUTOSTART_CONFIG в /etc/default/virtualbox
Что писать в /etc/vbox - испрлняемый файл скрипта или просто текст?

ЗЫ Всё что у меня получилось - это через /etc/xdg/autostart,
хотя это наверно не по феншую.

Значит читайте документацию дистрибутива, которая в /usr/share/doc/*, если там ответа не найдёте — смотрите инитскрипт, откуда он берёт настройки.

Что именно писать в VBOXAUTOSTART_DB в /etc/default/virtualbox
Что писать в VBOXAUTOSTART_CONFIG в /etc/default/virtualbox The first one is VBOXAUTOSTART_DB which contains an absolute path to the autostart database directory. The directory should have write access for every user who should be able to start virtual machines automatically. Furthermore the directory should have the sticky bit set. The second variable is VBOXAUTOSTART_CONFIG which points the service to the autostart configuration file which is used during boot to determine whether to allow individual users to start a VM automatically and configure startup delays.

Писать пути к этим самым каталогу и файлу, которые надо предварительно создать. Если, конечно, это заранее не сделано сопровождающими дистрибутива.

Если вы запускаете виртуальные машины VirtualBox на сервере, то скорее всего, захотите, чтобы они оставались запущенными даже после неожиданной перезагрузки сервера.

В этой небольшой статье мы рассмотрим как настроить автозапуск виртуальной машины VirtualBox с помощью системы инициализации systemd, которая сейчас используется повсеместно.

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

Давайте создадим файл юнита, который будет управлять автозагрузкой. Для этого выполните такую команду:

sudo systemctl edit vbox@.service --full --force

В открывшемся редакторе вставьте такой текст:

Description=Virtual Box Guest %I
After=network.target vboxdrv.service
Before=runlevel2.target shutdown.target
[Service]
User=root
Group=root
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


С помощью этого юнита мы и будем делать автозапуск virtualbox linux. В этом примере я запускаю виртуальную машину от имени пользователя root, но вам нужно запускать её от того пользователя, к которому добавлены виртуальные машины и от имени которого VirtualBox обычно работает.

Сохраните изменения в файле и выполните следующую команду, чтобы система инициализации перечитала конфигурационные файлы с диска:

В нашем юнит файле мы предусмотрели возможность использования параметра, в котором передается имя или UUID идентификатор виртуальной машины. Если в имени машины есть пробел, то лучше использовать UUID, а иначе можно и имя.

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

VBoxManage list vms

Теперь давайте запустим машину Ubutnu1804 с UUID ed0ce7dd-0ddb-46bf-913c-876671c4d1f1 с помощью systemd:

sudo systemctl start vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1

Если во время запуска произошла ошибка, вы можете посмотреть её выполнив:


В данном случае машина уже была запущена. Я остановил её и запустил ещё раз с уже помощью systemd. Смотрим статус виртуальной машины:

sudo systemctl status vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1


Если всё хорошо, то всё, что нам осталось, это добавить этот сервис в автозагрузку:

sudo systemctl enable vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1

Выводы

В этой статье мы разобрались как делается автозагрузка виртуальной машины virtualbox. Как видите, всё очень просто и удобно. Теперь ваши виртуальные машины будут всегда запущены.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

(7 оценок, среднее: 5,00 из 5)

Об авторе

9 комментариев

добрый день сделал все как у вас, но при перезагрузки не запускается что может быть не подскажите?

Почему, после того, как я перенес систему с HDD на SSD виртуальная машина перестала автоматически запускаться?

Скорее всего сменился UUID

класс
работает
СПС

Спасибо за статью, очень пригодилось. Ещё нашёл в интернетах, что в ExecStop можно вместо acpipowerbutton указать savestate
В таком случае вместо выключения виртуальной машины, будет выполнено сохранение текущего состояния.

Доброго времени суток. У меня вот такая ошибка (No files found for vbox@.service.)
Как быть ?

Все уже придумано ораклом, перевод выдержки из официального мануала:
9.21. Запуск виртуальных машин во время загрузки системы

Вы можете запускать виртуальные машины автоматически во время загрузки системы на платформах Linux, Oracle Solaris и Mac OS X для всех пользователей.
9.21.1. Linux: запуск службы автозапуска с помощью init

В Linux служба автозапуска активируется установкой двух переменных в /etc/default/virtualbox. Первый - это VBOXAUTOSTART_DB, который содержит абсолютный путь к каталогу автозапуска базы данных. Каталог должен иметь доступ на запись для каждого пользователя, который должен иметь возможность автоматически запускать виртуальные машины. Кроме того, в каталоге должен быть установлен липкий бит. Вторая переменная - это VBOXAUTOSTART_CONFIG, которая указывает службе на файл конфигурации автозапуска, который используется во время загрузки, чтобы определить, разрешить ли отдельным пользователям запускать виртуальную машину автоматически и настроить задержки запуска. Файл конфигурации может быть помещен в / etc / vbox и содержит несколько опций. Один из них - default_policy, который определяет, разрешает или запрещает служба автозапуска запуск виртуальной машины для пользователей, которых нет в списке исключений. Список исключений начинается с exception_list и содержит список с именами пользователей, разделенных запятыми. Кроме того, для каждого пользователя может быть настроена отдельная задержка запуска, чтобы избежать перегрузки хоста. Ниже приведен пример конфигурации:

Любой пользователь, который хочет включить автозапуск для отдельных компьютеров, должен указать путь к каталогу базы данных автозапуска с помощью следующей команды:

VBoxManage setproperty autostartdbpath каталог_автозапуска

8.8.9. Автозапуск виртуальных машин во время загрузки хост-системы

Эти параметры настраивают функцию автозапуска виртуальной машины, которая автоматически запускает виртуальную машину при загрузке хост-системы. Обратите внимание, что есть предварительные условия, которые необходимо выполнить перед использованием этой функции. См. Раздел 9.21, «Запуск виртуальных машин во время загрузки системы».

--autostart-enabled on | off: включает и отключает автозапуск виртуальной машины при загрузке хост-системы с использованием указанного имени пользователя.

--autostart-delay : указывает задержку в секундах после загрузки хост-системы перед автозапуском виртуальной машины.

при опросе статуса
вьідает такое

вер 07 18:45:46 serv1vvc systemd[1]: Started vbox@VM_1.service.
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
lines 1-17/17 (END)

далее
дал файлу chmod +x autostart
chmod 755 autostart
и указал путь к этому файлу в rc.local
из консоли запускаю скрипт все ок, машина стартует.
Ребучу комп, хост загружается - скрипт не отрабатывает( машина не стартует)

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

VirtualBox Фиксированое разрешение при запуске виртуалки
Итак есть ПК с Windows Seven Pro на борту. Разрешение єкрана на данной машине -- 1366х768.


Ресурсы ПК выделенные для VirtualBox будут отняты у хоста до удаления виртуалки или только на время работы ?
Ресурсы которые я выделяю для VirtualBox будут полностью отняты и хоста до момента удаления.

Ubuntu 10.04 LTS
вот вышел релиз убунту 10.04 и тут же у меня возникла проблема. хотелосьбы узнать это только у меня.

Ubuntu 12.04 LTS
всем здравствуйте! установил ubuntu 12.04 LTS через инсталлятор wubi. подключился к wi-fi. хотел.

попробуй скрипт кинуть в /etc/init.d/ , затем sudo update-rc.d <имя скрипта> defaults а) прописать полные пути
б) кинуть команду в автозапуск десктопа

прошу прощения , но не понял что вы имеете ввиду.
Полные пути?
в rc.local
/home/amd/autostart
exit 0
-----------------------
Вчера пробовал сделать так

vim /etc/init.d/autostart
VboxManage startvm "test"
-----------------------------
Далее chmod +x autostart
update-rc.d autostart defaults
.
PROFIT. Но не выходит!

Решение

странно, прописать в rc.local полный путь к вашему скрипту - вы поняли. а как прописать в самом скрипте полный путь к VboxManage или к вашей машине test - "не понятно".

поймите первое - что запуск через rc.local, что через init.d - они происходят от имени рута. и как минимум - машину test при этом будут искать в папке виртуальных машин рута, а не юзера amd
также есть второе - оба эти вышеописанные способы запуска выполняются до старта иксов. я не знаю, надо ли вам иксы или нет, но это тоже может быть причиной неудачи.

Решение

учитывая что при старте системы VboxManage запускается от рута, а виртуалка создавалась пользователем, то оно ничего не знает о вашей ВМ тк пытается читать конфиги не из вашей домашней дирректории а из /root/
а так все описано в справке VirtualBox

9.23.1. Linux: starting the autostart service via init

On Linux, the autostart service is activated by setting two variables in /etc/default/virtualbox.
The first one is VBOXAUTOSTART_DB which contains an absolute path to the autostart database directory.
The directory should have write access for every user who should be able to start virtual machines automatically. Furthermore the directory should have the sticky bit set.
The second variable is VBOXAUTOSTART_CONFIG which points the service to the autostart configuration file which is used during boot to determine whether to allow individual users to start a VM automatically and configure startup delays.
The configuration file can be placed in /etc/vbox and contains several options.
One is default_policy which controls whether the autostart service allows or denies to start a VM for users which are not in the exception list.
The exception list starts with exception_list and contains a comma separated list with usernames.
Furthermore a separate startup delay can be configured for every user to avoid overloading the host.
A sample configuration is given below:

Every user who wants to enable autostart for individual machines has to set the path to the autostart database directory with

]]> Virtualbox ]]> - полноценный сервер виртуализации, аналог Vmware Server. Cистема виртуализации на Virtualbox на данный момент одна из наилучших бесплатных программных продуктов виртуализации. Лично тестировал работу гостевых: XP, Windows 2003, 2008, Debian, Ubuntu работает стабильно.
]]> phpVirtualBox ]]> - AJAX реализация пользовательского интерфейса VirtualBox, написанного на PHP. Это веб-интерфейс для получения удалённого доступа к виртуальным машинам.

Данная инструкция сделана на многочисленные просьбы пользователей.

Для установки Virtualbox используем Ubuntu 12.04 Precise

Необходимо настроить репозиторий с оффициального сайта Virtualbox.

Добавляем в source.list репозиторий для Ubuntu 12.04

Либо же добавить репозиторий командой:

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

Обновляем репозиторий и запускаем установку virtualbox командами:

Обновляем систему до самых свежих версий командой:

После обновления перезагружаемся, чтобы загрузиться в обновленное ядро командой:

Запускаем установку Virtualbox 4.2 командой соглашаясь на требования установщика:

Для того, чтобы у нас работал доступ к RDP через web интерфейс и USB2 для виртуальной машины, необходимо скачать и установить дополнительный пакет virtualbox

Но перед тем как установить пакет дополнений, необходимо узнать версию установленного virtualbox командой:

Для этого скачиваем дополнительный пакет командой:

Устанавливаем скачанный пакет для работы rdp и usb2 командой:

После установки необходимо перезагрузить сервис vboxweb-service командами:

Для работы Virtualbox необходимо создать пользователя под которым будут работать виртуальные машины.
Добавляем пользователя vbox в систему командой:

Указываем пароль пользователя vbox, предварительно записав его в свой блокнот для паролей.

Создаем файл отвечающий на каком айпи и порту будет работать virtualbox

Внимание. можно указать IP 127.0.0.1, но для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP , например 192.168.0.1(внутренний адрес сервера)
Перезагружаем virtualbox командой:

Для того, чтобы работал phpvirtualbox через веб интерфейс, необходимо установить веб сервер с поддержкой PHP.
Устанавливаем програмное обеспечение командой:

Далее качаем сам phpvirtualbox (предварительно удостоверившись на ]]> странице ]]> , что это на данный момент самая последняя версия) командой:

распаковываем содержимое архива phpvirtualbox-4.2-8.zip в папку /var/www/ предварительно удалив в ней все с помощью программы mc.

Меняем права на файлы phpvirtualbox для веб сервера командой:

Перегружаем веб сервер командой:

Далее переходим в папку /var/www/ командой:

Создаем конфигурационный файл из дефолтного командой:

где pass - ваш пароль введенный при создании пользователя vbox

Внимание. Для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP , например 192.168.0.1(внутренний адрес сервера)

Открываем в браузере адрес нашего сервера:

Откроется веб интерфейс на английском языке, который можно изменить в настройках на русский, кстати настоятельно рекомендую изменить у пользователя пароль, а лучше создать администратора с не типичным именем и сложным паролем, а текущий удалить, тогда если у Вас интерфейс глядит в инет (что не рекомендуется для безопасности) пароль и логин будет гораздо сложнее (практически не возможно) подобрать.

Ubuntu 12.04 c установленным сервером виртуализации Virtualbox c веб интерфейсом phpvirtualbox

Интерфейс веб интерфейса практически ничем не отличается от десктопной версии Virtualbox.

Создаем виртульную машину с помощью мастера нажав на кнопку создать, и подключив образ нужного диска и выбрав в сдроме образ выполняем установку операционной системы.

Ubuntu 12.04 c установленным сервером виртуализации Virtualbox c веб интерфейсом phpvirtualbox и созданной виртуальной машиной test

Делаем автозапуск виртуальных машин при включении сервера, сохранение текущего состояния гостевой машины (не выключение) при выключении физическогосервера с восстановлением текущего состояния при включении сервера.

Автозапуск гостевой машины Virtualbox

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

В этом файле необходимо изменить только переменную VM, в ней нужно указать название вашей виртуальной машины, которая отображается в веб интерфейсе phpvirtualbox.
Делаем файл исполняемым и добавляем его в автозагрузку командами:

Для каждой гостевой машины необходимо сделать свой файл запускающий и сохраняющий виртуальную машину при включении-выключении сервера.

. Если при открытии веб интерфейса выдает ошибку:

необходимо запустить команду под пользователем vbox:

Затем перезагрузить virtualbox командой:

. Если выдает такую ошибку при подключении к RDP:

Необходимо: Свойства виртуальной машины - Дисплей - Удаленный дисплей - Дополнительные возможности - поставить галочку на Разрешить несколько подключений

. Если Вы в виртуальной машине вместо образа установочного диска выбрали использовать физический привод CD/DVD и Вам веб интерфейс PHPVirtualbox выдал ошибку:

Ошибка при запуске виртуальной машины: Cannot open host device

Это значит, что пользователю под которым мы запускаем виртуальную машину, в нашем случае это vbox нет прав на пользование физическим приводом CD/DVD.

Для лечения этой ошибки достаточно добавить пользователя vbox в группу cdrom командой:

Задача выполнена, Virtualbox установлен на сервер с Ubuntu 12.04 Precise, установлен и настроен веб интерфейс PHPVirtualbox, настроен автозапуск виртуальных машин.

Сделаем небольшой перерывчик в работе, посмотрим на физические достижения 5-ти летнего мальчика:

Читайте также: