- Записки системного администратора
- Обо мне
- суббота, 28 мая 2011 г.
- VirtualBox service или Автозапуск виртуальной машины в VirtualBox под windows host
- Как запустить виртуальную машину VirtualBox без входа пользователя в хостовую систему
- Запускаем виртуальную машину VirtualBox как службу Windows
- Использование программы VBoxVmService
- Автоматический запуск виртуальной машины VirtualBox
- Настройка автозапуска виртуальной машины Virtualbox
- Команда для автозапуска
- Создание ярлыка
- Создание задачи в Планировщике
- VirtualBoxVmService
- Важные нюансы
Записки системного администратора
Обо мне
суббота, 28 мая 2011 г.
VirtualBox service или Автозапуск виртуальной машины в VirtualBox под windows host
Столкнувшись с необходимостью запускать виртуальную машину до старта пользователя сразу решить проблему мне не удалось. Пришлось прочитать кучу всякого трэша, собрать воедино и отредактировать. Возможно кому-то это поможет в буущем)
Есть 3 наиболее распространенных варианта автозапуска виртуальной машины:
а) Через планировщик задач, но для этого необходимо написать батник, который и будет запускать машину. В написани батников я не силен, да и в планировщик не верую. [b:page1]
б) Использовать VBoxVmService, но с этой штукой надо еще разобраться. [d] /UPD/ очень хорошо метод описан в этой статье.
в) С помощью 2х файликов из комплекта Windows Resource Kit создать пользовательский процесс, который будет стартовать нашу машину. [b:page2][c]
Рассмотрим третий способ:
1) Добываем файлики Srvany.exe и Instsrv.exe, которые есть в комплекте Windows Resource Kit, я брал отсюда.[a] Оба файла нужно поместить в C:\Windows\system32
2) Запускаем консоль (пуск > выполнить > cmd) и добавляем в нее запись ниже, заменяя выделенное жирным шрифтом на названия нашего будущего сервиса, первое название по идее должно быть без пробела, второе как пожелаете:
sc create ServiceName binPath= «%SystemRoot%\System32\srvany.exe» start= auto DisplayName= «Service Name«
Если все прошло удачно, то ответят что-то вроде success =)
Чтобы проверить работает ли процесс надо открыть services и попробовать стартануть его вручную.
Важно: далее все названия и пути указываем без кавычек (без ‘ example ‘ ).
3) Запускаем `regedit` и ищем наш сервис тут ‘[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr olSet\Services\ServiceName]’
3.1) Добавляем раздел (section) и наываем его ‘Parameters’
3.2) В этом разделе создаем ключ StringValue, называем ‘Application’ изменяем значение на ‘C:\Program Files\Sun\VirtualBox\VBoxHeadless.exe’
3.3) В этом же разделе создаем ключ StringValue, называем ‘AppParameters’ изменяем значение на ‘-s VmName -vrdp=off’
заменив VmName на название вашей виртуальной машины.
3.4) Там же создаем ключ StringValue, называем ‘AppDirectory’ изменяем значение на ‘C:\Program Files\Sun\VirtualBox\’
4) Запускаем `gpedit.msc` и находим ‘Computer Configuration/Windows Settings/Scripts/Shutdown’
Создаем скрипт и называем его ‘C:\Program Files\Sun\VirtualBox\VBoxManage.exe’, либо выбираем путь до него кнопкой browse, параметры задаем ‘vboxmanage controlvm VmNname savestate’
заменив VmName на название вашей виртуалки.
Скрипт должен сохранять состояние виртуалки перед завершением процесса.[e]
5) Копируем папку ‘.VirtualBox’ из ‘C:\Users\YourUser\’ (где YourUser — имя вашей учетной записи) в ‘C:\Windows\System32\config\systemprofil e\’
Важно: 5 пункт нужно повторять после каждого изменения свойств машины, иначе она может не стартануть в следующий раз
Как запустить виртуальную машину VirtualBox без входа пользователя в хостовую систему
VirtualBox — замечательный во многих отношениях бесплатный гипервизор, обладающий, между прочим, рядом скрытых возможностей вроде быстрого увеличения размера динамического виртуального диска в командной строке с помощью встроенного модуля VBoxManage . Но по сравнению с платными продуктами его функционал всё же ограничен, например, он не умеет работать как служба Windows, в фоновом режиме.
Чтобы реализовать такую возможность, понадобится сторонняя утилита VBoxVmService. Для чего? Чтобы иметь возможность запускать виртуальные машины без входа пользователя в учетную запись на хостовом компьютере.
Несмотря на свое «серверное» предназначение, утилита VBoxVmService достаточно проста в использовании.
Установив тулзу, перейдите в расположение установки C:\vms и откройте расположенный там файл VBoxVmService.ini любым текстовым редактором.
В этом файле имеются три блока настроек: [Settings] , [Vm0] и [Vm1] .
- Settings — Основная настройка. Здесь в качестве параметра VBOX_USER_HOME вам нужно указать путь к каталогу с вашими виртуальными машинами.
- Vm0 — Настройки конкретной виртуальной машины. В качестве параметра VmName задаем имя этой VM, параметр ShutdownMethod определяет метод завершения ее работы. По умолчанию используется savestate, означающий автоматическое сохранение виртуальной машины, если же вы выставите acpipowerbutton, то VM будет выключена полностью. Параметр AutoStart отвечает за автозапуск виртуальной машины при загрузке хостового компьютера. Может принимать два значения yes и no. По умолчанию, естественно, выставлено «yes», ведь вы не входите в свою учетную запись Windows.
- Vm1 — Всё то же самое, что и Vm0, только эта гипотетически существующая WM отключена. Если вам нужно запустить две виртуальные машины, тогда редактируем этот блок соответствующим образом и меняем AutoStart с no на yes.
Теперь, чтобы запустить утилиту, а вместе с ней и виртуальные машины, в меню значка VBoxVmService в трее выбираем «Start VBoxVmService».
Или запускаем сервис через командную строку командой VBoxVmService.exe -i , предварительно перейдя в папку с исполняемым файлом.
Указанные виртуальные машины должны запуститься.
Скачать последнюю версию утилиты можно на странице разработчика github.com/onlyfang/VBoxVmService/releases.
Программа совместима с Windows 10 и Windows Server 2012/2016, обычной десктопной «восьмерке» приложение работать не будет.
На данный момент утилита совместима с VirtualBox 6.1, поддержка в будущем новых версий разработчиком не гарантируется.
Запускаем виртуальную машину VirtualBox как службу Windows
VirtualBox — это популярный бесплатный гипервизор, производства компании Oracle. Не смотря на то, что сам программный продукт весьма и весьма богат на всевозможные настройки, некоторых важных вещей он сделать не в состоянии. К примеру — запуск виртуальной машины в фоне, как службу Windows. К счастью, для этой цели есть отдельная программа, и в этой статье мы разберем как ей пользоваться.
Использование программы VBoxVmService
Для запуска виртуальных машин под VirtualBox как службы очень удобно использовать программу под названием VBoxVmService, которую скачать можно здесь. После завершения скачивания, устанавливаем программу, в процессе установки по сути ничего, кроме нажатия кнопки «Далее» делать не нужно.
После установки переходим в папку с установленной программой (по умолчанию — C:\vms), открываем там файл VBoxVmService.ini, и начинаем его переделывать под свои нужды. Ниже описаны обязательные для редактирования настройки:
[Settings]
VBOX_USER_HOME — тут нужно указать путь к папке с виртуальными машинами.
[Vm0]
VmName — указываем имя виртуальной машины;
ShutdownMethod=savestate — метод завершения работы виртуалной машины, которых может быть два — «savestate» или «acpipowerbutton«. Первый при выключении сохраняет состояние виртуальной машины, и при включении как бы продолжит её работу, второй является как бы полноценным выключением компьютера;
AutoStart — запускать виртуальную машину автоматом, при включении компьютера? Возможные варианты — yes и no, в переводе думаю не нуждаются.
Допустим, если целью стоит запуск виртуальной машины с названием Linux-Debian, то файл настроек будет выглядеть следующим образом:
После окончания редактирования сохраняем файл, запускаем исполняемый файл VBoxVmService.exe с параметром -i , и перезагружаем компьютер.
После этих действий указанная виртуальная машина должна запуститься автоматически.
Автоматический запуск виртуальной машины VirtualBox
VirtualBox – бесплатная и самая популярная программа для запуска нескольких виртуальных операционных систем во время работы одной настоящей. В некоторых ситуациях, при наличии у специализированного ПО защиты от пиратства, привязанной к аппаратной части компьютера, например, требуется запускать виртуальную машину регулярно. Но делать это вручную не удобно. О том, как настроить в VirtualBox автозапуск виртуальной машины и расскажет эта статья.
Настройка автозапуска виртуальной машины Virtualbox
Сделать это можно 3 способами:
- создать ярлык со специальными параметрами и поместить его в папку “Автозагрузка”;
- создать задачу в Планировщике заданий Windows;
- с помощью утилиты VirtualBoxVmService.
Команда для автозапуска
Команды, настраивающей в одно действие запуск нужной виртуальной машины при старте компьютера, не существует – VirtualBox не поддерживает эту функцию. Но существует команда, запускающая виртуальную машину через командную строку.
Записывается она так: “C:\Program Files\Oracle\VirtualBox\VBoxManage.exe” startvm Win7. В кавычках указывается путь к программе-менеджеру виртуальных машин. Он входит в состав VirtualBox. Параметр “startvm” обозначает запуск виртуальной машины, а Win7 – ее название.
Ее нужно добавить в автозапуск Windows, на чем и основаны все способы автозапуска виртуальной машины в VirtualBox.
Создание ярлыка
Существует 2 способа это сделать. Первый метод простой и может использоваться в последних версиях VirtualBox. Скачать их можно с нашего сайта.
Порядок действий следующий:
- Запустить VirtualBox.
- Нажать правой кнопкой мыши на виртуальную машину, которая должна запускаться автоматически.
- Выбрать “Создать ярлык”.
- Поместить созданный ярлык в папку “Автозагрузка”:
- Нажать Win+R.
- Ввести команду shell: startup.
- Скопировать в открывшуюся папку ярлык.
- Перезагрузить ПК для проверки правильности настройки.
Второй способ сложнее, но подходит для любой версии VirtualBox. Порядок действий следующий:
Найти файл VboxManage.exe с помощью Проводника. Записать полный путь к нему в Блокнот.
- Запустить Virtualbox и уточнить название запускаемой машины.
- Создать ярлык:
- Нажать правой кнопкой мыши на Рабочем столе.
- Выбрать в меню пункты “Создать” и “Ярлык”.
- Указать в открывшемся окне путь к VboxManage.exe, нажав на “Обзор”, и через пробел добавить к нему строчку “startvm название_машины” (без кавычек).
- Ввести название ярлыка.
- Сменить изображение на ярлыке.
- Выполнить шаги № 4 и 5 из предыдущего способа.
Создание задачи в Планировщике
Порядок действий для создания задания в Windows 7,8 и 10 одинаков и состоит в следующем:
- Запустить Планировщик задач:
- Способ №1: в меню “Пуск” найти одноименную утилиту.
- Способ №2: открыть Панель управления, зайти в подраздел “Администрирование” и выбрать “Планировщик задач”.
- Способ №3: нажать Win+R и в открывшемся окне ввести команду “taskschd.msc” (без кавычек).
- Нажать в левой половине окна на строчку “Библиотека планировщика заданий”.
- Нажать в правой части окна на строчку “Создать задачу”.
- Ввести имя задачи, описание и установить галочку в строке “Выполнить с наивысшими правами” во вкладке “Общие”.
- Переключиться на вкладку “Тригеры”. Нажать “Создать” и в выпадающем списке выбрать “При входе в систему” или “При запуске”.
- Переключиться на вкладку “Действия”. Кликнуть “Создать”.
- В выпадающем списке выбрать “Запуск программы”.
- Нажать на “Обзор” и указать путь к VboxManage.exe.
- Ввести в строку “Добавить аргументы” значение startvm название_виртуальной_машины.
- Нажать Ок и перезагрузить компьютер.
VirtualBoxVmService
Для этого способа потребуется сторонняя утилита – VirtualBoxVmService. Любую из версий этой программы, включая самые новые, можно скачать на нашем сайте.
Порядок действий следующий:
- Создать в корне локального диска папку с названием, не содержащем кириллицы и пробелов.
- Распаковать в нее загруженный архив.
- Открыть файл с расширением .ini – ПКМ на файле => “Открыть с помощью” => “Блокнот”.
- Отредактировать файл согласно таблице.
Параметр | Что означает | Что нужно сделать |
---|---|---|
ServiceName | Имя службы | Ничего |
RunAsUse | Название учетной записи Windows, в которой будет запускаться ВМ | Поменять значение на Имя пользователя |
UserPassword | Пароль от учетной записи | Ввести, если он есть |
VBOX_USER_HOME | Папка с профилями программы | Ничего |
RunWebService | Запускать ли веб-сервер VirtualBox | Изменить на no |
PauseShutdown | Задержка перед выключением ПК для корректного завершения работы ВМ | Ничего |
VmName | Имя запускаемой ВМ | Ввести требуемое значение |
Autostart | Автозапуск | Изменить на yes |
- Сохранить изменения и закрыть редактор.
- Не покидая папку, вызвать командную строку, щелкнув на свободном пространстве ПКМ с зажатой клавишей Shift и выбрав “Открыть окно команд”.
- Ввести в командную строку “VmServiceControl -i” без кавычек.
- Перезагрузить компьютер.
Важные нюансы
Для того, чтобы осуществить автозапуск VirtualBox после первой перезагрузки нужно учесть 3 особенности:
- Название виртуальной машины в свойствах ярлыка или задаче для планировщика должно быть написано правильно: если в названии есть пробел, то его надо заключить в кавычки. Пример: “Windows XP SP3”. Если пробела нет, то кавычки не нужны.
- При создании задачи в Планировщике во вкладке “Параметры” галочку со строки “Останавливать задачу, выполняемую дольше”. Это нужно для того, чтобы Планировщик не выключил виртуальную машину, если она будет работать дольше 3 дней.
- Разные версии VirtualBox и VirtualBoxVmService не совместимы друг с другом, из-за чего при старте ПК могут появляться разные ошибки. Чтобы этого избежать, нужно пользоваться последними версиями этих программ. Их можно скачать с нашего сайта.
Добавление виртуальной машины в автозапуск ОС Windows – несложная для продвинутого пользователя задача, требующая от него умения работать с командной строкой.