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

Понадобилось настроить на компьютере с windows 7 виртуальную машину на virtualbox и запускать ее автоматически после загрузки операционной системы. Задача простая, но сразу готового решения не нашлось, пришлось испробовать разные способы.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

В интернете самый популярный способ это использовать программу VBoxVmService. Я установил, проверил, вроде работает. Мне необходимо было настроить несколько подобных систем. Во время настройки версия virtualbox обновилась и с новой версией указанная выше программа перестала работать. Да и в целом заметил, что она не всегда запускала виртуальные машины. Еще один ее минус - после запуска виртуальная машина запускалась как служба в фоне, к ней нельзя было обратиться. При запуске консоли управления виртуальными машинами Oracle VM VirtualBox, запущенная виртуалка засыпала. 

Стал искать другое решение. Оно оказалось очень простым и не требовало никаких дополнительных средств. Просто создаем батник:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm vm-name

и добавляем его в автозагрузку пользователя. vm-name - имя виртуальной машины для запуска.

Нужно понимать один нюанс. С программой VBoxVmService виртуальная машина запускается как сервис даже без логина пользователя в систему. Батник срабатывает только после входа пользователя в систему. Так как у меня был автологин пользователя, то мне подходил вариант с bat файлом. Мне так даже удобно было. После запуска сразу консоль виртуальной машины доступна на рабочем столе.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

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

  1. Владимир

    Есть вариант через планировщик заданий делать проверку запущена ли VM и потом запускать батик включения VM, а так же при запуске ОС.

  2. Михаил

    Осталось еще узнать команду ,чтоб виртуалка ВЫКЛЮЧАЛАСЬ сама, при выключении хоста.

  3. Если добавить параметр "--type headless", то виртуальная машина хорошо запускается в фоне без графического окна вообще. При этом её можно открыть через VirtualBox и при надобности снова свернуть в фон.

    Батник будет выглядить так:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm vm-name --type headless

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

  4. здравствуйте, не много не по теме, вопрос такой, как сделать так, чтобы работали одновременно 2-3 и более виртуальных машин на VM?
    сейчас запускаю одну машину не важно какую она работает, пытаюсь запустить параллельно вторую пишет ошибку

    Locking of attached media failed. A possible reason is that one of the media is attached to a running VM.

    Код ошибки: VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
    Компонент: SessionMachine
    Интерфейс: IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}

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

    • Судя по тексту, вы подключаете к виртуальной машине какой-то объект, который уже используется в другой. Может диск один и тот же назначаете? Я не использую последнее время virtualbox, трудно что-то посоветовать конкретно.

  5. для запуска в фоне можно использовать
    c:\......\VBoxHeadless.exe -s "6a9ca1ca-d5a8-42ce-8de7-449318ce5f75"

  6. Добрый день.

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

    У меня на Win 8.1 здесь C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp лежит ярлык запуска виртуальной машины.

    В свойствах самого ярлыка можно в поле объекта увидеть и команду запуска непосредственно этой машины: "C:\Program Files\Oracle\VirtualBox\VirtualBox.exe" --comment "Ubuntu server" --startvm "6a9ca1ca-d5a8-42ce-8de7-449318ce5f75", которую можно засунуть хоть в батник, хоть в реестр.

  7. ах да забыл cmdow @ /HID - прячет выпонение окна бантика с помощью утилиты cmdow.exe

  8. Сам нашел как сделать, если кому надь
    Скачиваете утилиту nircmd, в ее справке еще скачиваете утилиту WinExplorer, с помощью которой определяете class запущенного окна программы которую надо свернуть (в большом окне WinExplorer находите свою запущенную программу, а ниже, примерно посередине, смотрите Class: копируете эту информацию и вставляете в строку в bat. Утилиту nircmd.exe положить в system32.
    Пример:
    cmdow @ /HID
    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm Server-2
    "nircmd.exe" win min class "Qt5QWindowIcon"

  9. Эт все замечательно, еще бы хотелось чтоб в панель задая сворачивалась, ась?

  10. Хороший вариант. Жаль, что как сервис так не запускается.

    • Можно попробовать приведенную мной программу VBoxVmService. В целом, она работала на тот момент, когда я проверял.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar