4

Задача

Я хочу выполнить эту команду VBoxManage startvm MyVM --type headless в загрузочной системе, как это делает служба (postgres, apache).

Что я пробовал

1. Я пытался создать сервис с помощью команды sc

Я нашел в Интернете, что может быть решением, поэтому я попробовал все эти версии:

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

Безуспешно, поэтому я попытался подавить подробный вывод команды

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

По-прежнему нет результатов. Вся эта версия вернула мне ошибку 1053 . Таким образом, последний вызов был добавить команду Virtualbox в путь


  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless"

подавление выхода

  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless > NUL"

Нет положительного результата всегда 1053 ошибка.

2. Назначить сценарии запуска компьютера

Я последовал этому уроку с последней надеждой, но безуспешно.

Что осталось

Я думаю о том, чтобы загрузить Visual Studio и попробовать что-то связанное с созданием сервисного проекта.


Так, ребята, где моя ошибка? Есть ли у меня надежда?


Вопросы и ответы

  1. Можете ли вы переключить свою ОС на Linux?

    • Нет, это не подлежит сомнению.
  2. Зачем вам эта виртуальная машина для запуска с системой?

    • К сожалению, этот хост Windows 7 является небольшим сервером для приложения, работающего на виртуальной машине. Машина не моя, и это единственный вариант, который мне дали для развертывания.
  3. Почему вы не делаете развертывание приложения внутри хоста Windows?

    • Я не использую PHP или другие вещи .NET, так что нет.

2 ответа2

7

Я бегу с NSSM.

Создайте службу NSSM в приглашении, например:

  1. nssm/win64/nssm.exe install vbox

  2. Выберите exec VBoxHeadless.exe как изображение:

    Служба установки NSSM

  3. Используйте свою учетную запись Windows при входе в систему (это очень важно)

  4. Установить сервис

Работает для меня.

3

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

Я включил виртуальную машину Ubuntu Server в качестве службы с помощью инструмента VBoxVmService. http://vboxvmservice.sourceforge.net/

Краткое описание: VBoxVmService - это приложение Windows, которое позволяет вам запускать виртуальные машины Oracle VirtualBox изнутри сущности службы Windows.

Основная причина, по которой я требовал этого, - запуск виртуальной машины без необходимости входа в систему. Моя рабочая станция для разработчиков перезапускается для обновлений, и я иногда забываю запускать виртуальную машину, пока кто-нибудь не ткнет меня.

Вот как это работает:

  • Убедитесь, что требуемая виртуальная машина запускается и работает без ошибок. Иначе будет сложно отлаживать копаться в логах.
  • После установки VMBoxService set он исполняется как служба Windows.
  • Редактировать это конфигурация INI - файл (см здесь для полного документированного образца)
  • Перезагрузите компьютер или просто запустите установленную службу Windows VMBoxService
  • Ниже приводится пример INI

    [Settings]
    VBOX_USER_HOME=C:\Users\YOUR_NAME_HERE\.VirtualBox
    PauseShutdown=8000
    [Vm0]
    VmName=ubuntu-server                                              
    ShutdownMethod=savestate                                    
    AutoStart=yes
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .