Что осталось

Что осталось

Цель

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

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

1. Я пытался создатьуслугас использованиемподкожнокоманда

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

  • 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 в Path


  • 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, так что нет.

решение1

Я бегу сНССМ.

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

  1. nssm/win64/nssm.exe install vbox

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

    Установка службы NSSM

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

  4. Установить службу

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

решение2

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

Я включил работу виртуальной машины Ubuntu Server в качестве службы с помощью VBoxVmServiceинструмента: https://github.com/onlyfang/VBoxVmService

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

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

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

  • Во-первых, вручную убедитесь, что требуемая виртуальная машина запускается и работает без ошибок. Иначе будет сложно отлаживать, копаясь в журналах.

  • После установки VMBoxServiceон исполняется как служба Windows.

  • Отредактируйте INI-файл конфигурации (см.здесьдля полного документированного образца)

  • Перезагрузите компьютер или просто запустите VMBoxService'sустановленную службу Windows.

  • Ниже приведен пример INI.

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

ОБНОВЛЕНИЕ: Поддерживает только Win 10+

Связанный контент