У меня в Ubuntu12.04 много виртуальных машин, каждый раз, когда я выключаюсь или перезагружаюсь, я должен запускать их одну за другой.
Я хочу помочь в написании скрипта для автоматического запуска машин VBox при загрузке.
boot
scripts
virtualbox
autostart
Maythux
источник
источник
Ответы:
Вы можете использовать сервис автоматического запуска VirtualBox. Хороший учебник, описывающий, как это сделать, размещен в блоге «Life of a Geek Admin» .
Следующие шаги адаптированы из связанного сообщения в блоге:
Сначала вам нужно создать файл
/etc/default/virtualbox
и добавить несколько переменных.VBOXAUTOSTART_DB, который содержит абсолютный путь к каталогу базы данных автозапуска, и
VBOXAUTOSTART_CONFIG, который содержит расположение параметров конфигурации автозапуска. Файл должен выглядеть примерно так:
Теперь нам нужно создать
/etc/vbox/vbox.cfg
файл и добавитьПримечание: если имя файла
vbox.cfg
не работает выше, попробуйте назвать егоautostart.cfg
.Если вы единственный пользователь, вы можете просто добавить строку
default_policy = allow
вvbox.cfg
файл.Установите права доступа к каталогу для группы vboxuser и убедитесь, что пользователи могут писать в каталог, а также прикреплять биты.
Добавьте каждого пользователя в
vboxusers
группу.(заменить
USERNAME
на имя пользователя)ПРИМЕЧАНИЕ . Если вы изменили разрешения группы для текущего пользователя, выйдите из системы и снова войдите в нее, чтобы обновить разрешения. (кредит @ кР105)
Каждый пользователь, который хочет включить автозапуск для отдельных машин, должен указать путь к каталогу базы данных автозапуска с помощью
и включить автозапуск для отдельной виртуальной машины с
Это создаст
myuserid.start
файл в/etc/vbox
каталогеТеперь перезапустите vboxautostart-service, чтобы прочитать изменения.
Перезагрузите систему и ваша виртуальная машина должна запуститься
источник
У меня были похожие несчастные случаи, когда я пытался выполнить эту операцию на ванильном LTS.
В этой версии файл ключа /etc/init.d/vboxautostart-service не был установлен.
Насколько я знаю, все VitualBox и требования были введены с помощью apt-get, поэтому я не могу сказать, почему файл 'vboxautostart-service' также не был предоставлен. Но чтобы преодолеть это, вот мое обновление к посту kdmurray.
1) файл / etc / default / virtualbox для меня существовал. Итак, должны добавить переменные:
2) Необходимо создать /etc/vbox/autostart.cfg, как указано в OP.
6б) Нужно получить скрипт vboxautostart-service и сделать его исполняемым.
6c) Оповещение контроллера rc.d, но я использовал 24 в качестве времени запуска. Ставлю только 20 и он не запускается. Возможно, он работал еще до того, как Virtualbox работал.
Затем перезагрузка запустила виртуальную машину правильно.
источник
vboxdrv
в# Required Start
/# Required Stop
строки наvirtualbox
. Кажется, они переименовали службу, поэтому ОС не может правильно определить приоритеты запуска / остановки. Я думаю, вам не нужен шаг 6с, если вы заменили эти строки.Вы можете использовать
vboxmanage startvm "my virtual machine" --type=headless|gui|sdl
(один из них). Используйте «безголовый», если они являются серверами, к которым вы подключаетесь не с помощью графического интерфейса.Чтобы на самом деле запустить эти команды в нужное время во время загрузки, вам нужно прочитать об Upstart.
источник
После многих несчастных часов, пытаясь заставить работать процедуры из kdmurray выше, я безуспешно нашел способ, который работал просто.
Сначала мой хост Linux (Mint 17) был настроен во время загрузки для автоматического входа в мою основную учетную запись.
Во-вторых, я использовал средства VirtualBox GUI (v4.3.12), чтобы создать ярлык для каждой виртуальной машины на рабочем столе. {щелкните правой кнопкой мыши виртуальную машину в левом столбце и выберите «Создать ярлык на рабочем столе»}
Далее: я уже обнаружил, что при вызове Меню-> Центр управления -> Запускаемые приложения -> Добавить и добавлении ярлыков на рабочем столе были получены файлы, которые не работали, я заметил из другого ответа на этой странице, что местоположение стартапов - / home /USERNAME/.config/autostart, поэтому я щелкнул правой кнопкой мыши по каждому ярлыку виртуальной машины на рабочем столе, а затем вставил их в эту папку, переписав более ранние файлы дерьма. Теперь они разработали «красивые» иконки VirtualBox.
И, конечно же, при перезапуске хост-компьютера 3 виртуальные машины запускались автоматически.
:-)
Билл Уильямс
PS: увы, у меня все еще чего-то не хватает, потому что часто виртуальные машины не запускаются при загрузке, вместо этого они генерируют диалоговое окно с сообщением об ошибке, в котором говорится, что они заблокированы, даже если я сказал им отключиться до перезагрузки хоста.
источник
В дополнение к хорошему описанию vboxautostart-службы выше, вы можете сделать
автоматически останавливать гостя при выключении. Для Ubuntu 14.04 мне пришлось добавить спящий режим 30 в раздел остановки vboxautostart-service, чтобы он ожидал, пока guest не будет полностью сохранен.
источник
Я нашел более простой способ под Ubuntu 16.04 с VBox 5.1.34.
Находясь в VBox, щелкните правой кнопкой мыши на работающей или неиспользуемой виртуальной машине в списке и выберите «Создать ярлык на рабочем столе». Как только вы увидите значок на рабочем столе, откройте его любым инструментом, который позволит вам увидеть основную команду, созданную VBox (на моем Система, я щелкаю правой кнопкой мыши и выбираю «Свойства») Скопируйте это в буфер обмена.
Откройте программу для обновления «автозапуска приложений» и создайте новое приложение, которое запускается во время загрузки, вставив команду, скопированную из ссылки на рабочем столе, созданной VirtualBox.
источник
Чтобы запустить ВМ при входе в нашу сессию, мы можем определить файл .desktop:
Когда этот файл был скопирован или перемещен в наш каталог автозапуска, он будет выполнен после того, как мы войдем в систему:
Запуск Virtual Box в пользовательском пространстве может помочь избежать нежелательных побочных эффектов запуска их во время загрузки (например, виртуальная машина работает от имени пользователя root, время загрузки невероятно увеличивается, ...).
источник
Это можно сделать с помощью интерфейса управления VirtualBox. Просто запустите следующий скрипт при запуске.
Есть хороший учебник для получения дополнительной информации.
источник
Аддон к ответу @kdmurray.
Если вы получили сообщение об ошибке:
Чтобы решить эту проблему, мне пришлось вручную создавать файлы «username» .start и «username» .stop с:
И сменить владельца с помощью:
перезапускать:
затем перезапустите сервис:
проверить все в порядке с:
и вы должны увидеть процесс "VBox ..." в списке, если виртуальная машина работает
источник
Вы также можете получить описанный здесь менеджер сессий gnome. Gnome Session Manager Это в центре программного обеспечения, или вы можете просто пойти в терминал и набрать
sudo apt-get install gnome-session-common
Затем вы можете создать небольшой скрипт для запуска и использовать менеджер сессий gnome для его запуска. Вот небольшой пример сценария, который поможет вам ...
источник
Вот так я запускаю свой Centos (имя моей виртуальной машины), когда моя хост-машина перезагружается. Я использую crontab для этой работы. Вот моя запись в crontab:
источник
Для сервера Ubuntu 16.04.1 LTS я решил это, выполнив:
Сначала активируйте rc-local.service
Добавьте следующую строку в
/etc/rc.local
Обратите внимание, что virtual_box_user - это тот, который видит, как виртуальная машина (которую вы хотите запустить) выполняет команду:
Пример:
Модифицированный
/etc/rc.local
должен выглядеть такЕсли вы не выбрали правильного владельца virtualbox, вы должны увидеть ошибку, набрав команду:
Я надеюсь, что это может помочь
источник
1 - Создать файл:
Вставьте это:
/bin/su validuser -c "/usr/bin/vboxmanage startvm MACHINENAME2--type headless" /bin/sleep 1
2 - Сделать файл vm-start исполняемым:
3 - Редактировать rc.local
Добавь это:
4 - перезагрузка.
источник