Автозапуск виртуальной машины VirtualBox
Если вы запускаете виртуальные машины 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. Как видите, всё очень просто и удобно. Теперь ваши виртуальные машины будут всегда запущены.
Как настроить автозапуск виртуальной машины VirtualBox при включении хоста?
Добрый день
Система: Ubuntu 14.04.2 LTS + VirtualBox 4.3.28
Пользователь запускающий Виртуальные машины: vbox
Виртуальные машины:
Задача: Настроить автозапуск Виртуалки «1C: при запуске хоста. В процессе настройки использую вот этот мануал в котором описываться новые возможности появившиеся в virtualbox 4.2.
Пробовал настроить несколько раз все равно получаю одно и то же:
1 — Как я понимаю когда я пишу команду vboxmanage modifyvm VM_NAME —autostart-enabled on — то в папке VBOXAUTOSTART_DB (/etc/vbox) должен появится файл USERNAME.start. Так вот у меня этот файл появляется только если я выполню команду vboxmanage modifyvm VM_NAME —autostart-enabled on для обеих своих существующих машин. Соответственно когда я запускаю service vboxautostart-service start то он либо ничего не делает (когда файла нет), либо запускает обе машины (когда файл есть), запустить только одну машину у меня не получается.
2 — Если оставить этот файл и перезапустить хост то ни одна из машин всё равно не запустится и их статусы останутся такими, какими были до перезагрузки, то есть получается что даже попыток запустится не происходит.
Не совсем понял как Вы делали, но просто запустить ВМ можно так:
Создать файл
nano /etc/init.d/vm_start.sh
Со следующим содержимым:
Затем сделать скрипт исполняемым и добавить в автостарт:
После рестарта машины запустятся две указанные виртуалки.
Ubuntu 14.04 LTS+ VirtualBox + Автозапуск виртуалки
далее
дал файлу 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. хотел.
прошу прощения , но не понял что вы имеете ввиду.
Полные пути?
в 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
также есть второе — оба эти вышеописанные способы запуска выполняются до старта иксов. я не знаю, надо ли вам иксы или нет, но это тоже может быть причиной неудачи.
Решение
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
Понадобилось настроить на компьютере с windows 7 виртуальную машину на virtualbox и запускать ее автоматически после загрузки операционной системы. Задача простая, но сразу готового решения не нашлось, пришлось испробовать разные способы.
В интернете самый популярный способ это использовать программу VBoxVmService. Я установил, проверил, вроде работает. Мне необходимо было настроить несколько подобных систем. Во время настройки версия virtualbox обновилась и с новой версией указанная выше программа перестала работать. Да и в целом заметил, что она не всегда запускала виртуальные машины. Еще один ее минус — после запуска виртуальная машина запускалась как служба в фоне, к ней нельзя было обратиться. При запуске консоли управления виртуальными машинами Oracle VM VirtualBox, запущенная виртуалка засыпала.
Стал искать другое решение. Оно оказалось очень простым и не требовало никаких дополнительных средств. Просто создаем батник:
и добавляем его в автозагрузку пользователя. vm-name — имя виртуальной машины для запуска.
Нужно понимать один нюанс. С программой VBoxVmService виртуальная машина запускается как сервис даже без логина пользователя в систему. Батник срабатывает только после входа пользователя в систему. Так как у меня был автологин пользователя, то мне подходил вариант с bat файлом. Мне так даже удобно было. После запуска сразу консоль виртуальной машины доступна на рабочем столе.
Автозапуск виртуальной машины virtualbox в linux
Столкнулся с проблемой, начали шалить электрики и после перезагрузки сервера на Ubuntu виртуальные машины (VirtualBox) не запускались автоматически. Решение проблемы — настроить автозагрузку виртуальных машин VirtualBox в Ubuntu.
Самое простое решение автозапуска виртуальных машин (VirtualBox) в Ubuntu:
в файле /usr/rc.local написать команды для запуска виртуальных машин без графической оболочки, вот мой пример файла:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo su -c «VBoxManage startvm WinServer2003 —type headless» username
sudo su -c «VBoxManage startvm dc-ubuntu —type headless» username
sudo su -c «VBoxManage startvm ubuntu-srv-16.04-x64 —type headless» username
exit 0
Здесь необходимо пояснить строку sudo su -c «VBoxManage startvm ubuntu-srv-16.04-x64 —type headless» username . Дело в том, что команды выполняются от имени root и команда VBoxManage startvm ubuntu-srv-16.04-x64 —type headless вызовет ошибку, а файлы VirtualBox, с вашими виртуальными машинами находятся в окружении другого пользователя. Значит, необходимо запустить виртуальные машины VirtualBox от имени другого пользователя, что собственно и происходит благодаря sudo su -c «команда» username