O que sobrou

O que sobrou

Objetivo

Quero executar este comando VBoxManage startvm MyVM --type headlessno sistema de inicialização exatamente como um serviço (postgres, apache).

O que eu tentei

1. Tentei criar umserviçousandosccomando

Descobri na internet que poderia ser a solução então tentei todas essas versões:

  • 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"

Sem sucesso, então tentei suprimir a saída detalhada do comando

  • 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"

Ainda sem resultados. Toda esta versão me retornou um1053erro. Então a última chamada foi adicionar o comando Virtualbox ao Path


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

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

suprimindo saída

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

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

Nenhum resultado positivo sempre1053erro.

2. Atribuir scripts de inicialização do computador

Eu segui issotutorialcom minha última esperança, mas sem sucesso.

O que sobrou

Estou pensando em baixar o Visual Studio e tentar algo relacionado acriar um projeto de serviço.


Então pessoal, onde está o meu erro? Existe esperança para mim?


Perguntas frequentes

  1. Você pode mudar seu sistema operacional para Linux?

    • Não. Está fora de questão.
  2. Por que você precisa desta VM para inicializar o sistema?

    • Infelizmente, este host do Windows 7 é um pequeno servidor para o aplicativo executado na VM. A máquina não é minha e é a única opção que me deram para fazer o deploy.
  3. Por que você não está fazendo o deploy da aplicação dentro do host windows?

    • Não estou executando PHP ou qualquer coisa do .NET, então não.

Responder1

eu corro comNSSM.

Crie um serviço NSSM no prompt como:

  1. nssm/win64/nssm.exe install vbox

  2. Selecione exec VBoxHeadless.exe como imagem:

    Serviço de instalação NSSM

  3. Use sua conta do Windows no logon (isso é muito importante)

  4. Instalar serviço

Funciona para mim.

Responder2

Não consegui encontrar um mecanismo para iniciar uma VM como serviço com o comando VBoxManager sem que ninguém precisasse fazer login primeiro.

Habilitei que minha VM do Ubuntu Server fosse executada como serviço usando a VBoxVmServiceferramenta: https://github.com/onlyfang/VBoxVmService

Breve descrição: VBoxVmService é um aplicativo do Windows que permite executar VMs VirtualBox da Oracle a partir de uma entidade de serviço nativa do Windows.

O principal motivo pelo qual exigi isso é iniciar a VM sem que ninguém precise fazer login. Sendo a minha estação de trabalho de desenvolvedor, ela é reiniciada para atualizações e às vezes esqueço de iniciar a VM até que alguém me cutuca.

Veja como funciona:

  • Primeiro, certifique-se manualmente de que a VM necessária seja iniciada e funcione bem sem erros. Caso contrário, será difícil depurar examinando os logs.

  • Após VMBoxServiceo conjunto de instalação, ele é executável como um serviço do Windows

  • Edite seu arquivo INI de configuração (consulteaquipara amostra documentada completa)

  • Reinicie a máquina ou apenas inicie o VMBoxService'sserviço Windows instalado

  • A seguir está um exemplo de INI

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

ATUALIZAÇÃO: Suporta apenas Win 10+

informação relacionada