Como executar uma VM sem cabeçalho com o VBoxManager como um serviço do Windows

4

Objetivo

Eu quero executar este comando VBoxManage startvm MyVM --type headless no sistema de inicialização, assim como um serviço (postgres, apache) faz.

O que eu tentei

1. Eu tentei criar um serviço usando o comando sc

Eu descobri pela internet que poderia ser a solução, então eu 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 eu 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 essa versão me retornou um erro 1053 . Então, a última chamada foi adicionar o comando do Virtualbox ao caminho

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

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

suprimindo a 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 sempre 1053 erro.

2. Atribuir scripts de inicialização do computador

Segui este tutorial com a minha última esperança, mas sem sucesso.

O que sobrou

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

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

FAQs

  1. Você pode mudar seu sistema operacional para o linux?

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

    • Infelizmente, esse host do Windows 7 é um pequeno servidor para o aplicativo em execução na VM. A máquina não é minha e é a única opção que me deram para fazer a implantação.
  3. Por que você não está implementando o aplicativo dentro do host do Windows?

    • Eu não estou executando PHP, ou qualquer coisa .NET, então não.
por vyscond 03.06.2015 / 00:52

2 respostas

6

Eu corro com NSSM .

Crie um serviço NSSM em um prompt como:

  1. nssm/win64/nssm.exe install vbox

  2. Selecione exec VBoxHeadless.exe como imagem:

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

  4. Instalar serviço

Funciona para mim.

    
por 04.03.2017 / 02:23
3

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

Eu habilitei minha VM do Ubuntu Server para executar como serviço usando a ferramenta VBoxVmService. link

Brief Description: VBoxVmService is a Windows application that allows you to run Oracle's VirtualBox VMs from within a native Windows service entity.

A principal razão que eu exigi isso é, para iniciar a VM sem que ninguém precise fazer o login. Sendo 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 cutuque.

Veja como funciona:

  • Garanta que a VM necessária seja iniciada e funcione bem sem erros. Outra coisa será difícil de depurar através dos registros.
  • No momento da instalação do conjunto VMBoxService, ele é executável como um serviço do Windows
  • Edite o arquivo INI de configuração (consulte aqui para obter informações completas amostra)
  • Reinicialize a máquina ou apenas inicie o serviço de janelas instaladas do VMBoxService
  • A seguir, um exemplo de INI

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