Автозапуск виртуальной машины virtualbox при включении компьютера

Обновлено: 05.07.2024

Предположим, вы попробовали новую операционную систему в VirtualBox. Она вам понравилась, но вы ещё не решаетесь перейти на неё. Тем не менее, вам хочется попробовать «пожить» внутри этой новой операционной системы, полностью погрузиться в неё.

3 января стартует курс «SQL-injection Master» © от команды The Codeby

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Запись на курс до 10 января. Подробнее .

Маленький лайфхак от меня. Можно добиться эффекта загрузки компьютера в виртуальный компьютер. Предположим на вашем реальном компьютере установлена ОС Windows, вы тестировали новую ОС в VirtualBox, например, последнюю версию Linux Mint. И теперь вы хотите сделать так, чтобы ваш компьютер загружался прямиком в Linux Mint, но не хотите удалять Windows и ставить Linux Mint в качестве второй системы.

Это можно сделать, причём довольно просто:

1) Загрузитесь в виртуальную машину, расширьте окно до максимума. Это делается клавишей Хост + F. В качестве клавиши Хост, если вы не меняли настройки, выступает правый Ctrl.

2) Выключите виртуальную машину обычный способом, через меню операционной системы.

3) Откройте VirtualBox, кликните правой кнопкой мыши по названию вашей виртуальной машине и выберете там «Создать ярлык на рабочем столе»:

01

4) Убедимся, что ярлык создан:

02

5) Копируем этот ярлык в каталог автозагрузки. Если вы не знаете, где этот каталог, то посмотрите в папке пользователя по адресу AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Например, в моём случае (у меня Windows 8, этот каталог размещён здесь:

C:UsersAlexAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

03

Всё, перезагружаемся и смотрим, что получилось. Как я уже сказал, у меня Windows 8 и, хотя жёсткий диск шуршал дольше обычного, я у себя на экране после перезагрузки увидел плитки Windows. Если свернуть плитки, то там во весь экран, без возможности закрытия через Alt+Tab, Linux Mint. Т.е. уже почти получилось, но всё равно не совсем то, что нам хотелось — как мы будем «погружаться» в Linux, если при включении компьютера нас встречают плитки. Поэтому:

6) Идём к этой инструкции и настраиваем свою Windows 8 или 8.1 так, чтобы компьютер сразу же переходил бы на рабочий стол. Этим рабочим столом и будет ОС виртуальной машины.

1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .

VirtualBox – отличная платформа виртуализации, но в ней совершенно не заложен механизм автозапуска виртуальных машин. Иногда критически необходимо автоматизировать запуск виртуальной машины. В качестве примера разберем автостарт виртуальной машины при запуске Windows. Это отлично пригодится для того, чтобы автоматически запускать виртуальные машины после аварийной перезагрузки.

Режимы запуска виртуальных машин в VBoxManage

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

Запускаем Планировщик заданий, для Windows 10 проще всего запустить через комбинацию «Win+R», затем taskschd.msc .



Создаем задачу для пользователя. Выбираем пункт «Выполнять только для пользователей, вошедших в систему» и - Настроить для Windows 10.



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



Затем настраиваем действие «Запуск программы». В аргументах к запуску указываем команду с именем виртуальной машины. startvm "Name VM" --type headless .



На этом настройка задачи завершена.

Настройка автовхода в Windows 10

Autologon

Скачиваем с сайта Microsoft программу Autologon.



Вводим свой пароль и жмем «Enable». В отличии от включения автовхода через ручную правку реестра, эта утилита сохраняет пароль пользователя в зашифрованном виде.

Настройка автоматической блокировки Windows 10

Чтобы не оставлять компьютер разблокированным, настроим автоматическую блокировку сеанса.
Для этого опять открываем планировщик заданий Windows и добавляем действие в задание по запуску виртуальной машины. rundll32.exe user32.dll,LockWorkStation .



Это действие должно находится после действия по запуску машины.


avtomaticheskiy-zapusk-virtualnoy-mashiny-virtualbox

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

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

Сделать это можно 3 способами:

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

Команда для автозапуска

Команды, настраивающей в одно действие запуск нужной виртуальной машины при старте компьютера, не существует – VirtualBox не поддерживает эту функцию. Но существует команда, запускающая виртуальную машину через командную строку.

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

Создание ярлыка

Порядок действий следующий:

Второй способ сложнее, но подходит для любой версии VirtualBox. Порядок действий следующий:

Найти файл VboxManage.exe с помощью Проводника. Записать полный путь к нему в Блокнот.

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

Создание задачи в Планировщике

Порядок действий для создания задания в Windows 7,8 и 10 одинаков и состоит в следующем:

VirtualBoxVmService

Для этого способа потребуется сторонняя утилита – VirtualBoxVmService. Любую из версий этой программы, включая самые новые, можно скачать на нашем сайте.

Порядок действий следующий:

Важные нюансы

Для того, чтобы осуществить автозапуск VirtualBox после первой перезагрузки нужно учесть 3 особенности:

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

Если вы запускаете виртуальные машины 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)

Запускаем виртуальную машину VirtualBox как службу Windows

VirtualBox - это популярный бесплатный гипервизор, производства компании Oracle. Не смотря на то, что сам программный продукт весьма и весьма богат на всевозможные настройки, некоторых важных вещей он сделать не в состоянии. К примеру - запуск виртуальной машины в фоне, как службу Windows. К счастью, для этой цели есть отдельная программа, и в этой статье мы разберем как ей пользоваться.

Использование программы VBoxVmService

Разработчики гарантируют работу данная программы работает только под Windows 10, Windows Server 2012, 2012 R2 и 2016.

Для запуска виртуальных машин под VirtualBox как службы очень удобно использовать программу под названием VBoxVmService, которую скачать можно здесь. После завершения скачивания, устанавливаем программу, в процессе установки по сути ничего, кроме нажатия кнопки "Далее" делать не нужно.

После установки переходим в папку с установленной программой (по умолчанию - C:\vms), открываем там файл VBoxVmService.ini, и начинаем его переделывать под свои нужды. Ниже описаны обязательные для редактирования настройки:

[Settings]
VBOX_USER_HOME
- тут нужно указать путь к папке с виртуальными машинами.

[Vm0]
VmName
- указываем имя виртуальной машины;
ShutdownMethod=savestate - метод завершения работы виртуалной машины, которых может быть два - "savestate" или "acpipowerbutton". Первый при выключении сохраняет состояние виртуальной машины, и при включении как бы продолжит её работу, второй является как бы полноценным выключением компьютера;
AutoStart - запускать виртуальную машину автоматом, при включении компьютера? Возможные варианты - yes и no, в переводе думаю не нуждаются.

Допустим, если целью стоит запуск виртуальной машины с названием Linux-Debian, то файл настроек будет выглядеть следующим образом:

После окончания редактирования сохраняем файл, запускаем исполняемый файл VBoxVmService.exe с параметром -i , и перезагружаем компьютер.

После этих действий указанная виртуальная машина должна запуститься автоматически.

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