Objetivo
Quero executar este comando VBoxManage startvm MyVM --type headless
no 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
Você pode mudar seu sistema operacional para Linux?
- Não. Está fora de questão.
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.
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:
nssm/win64/nssm.exe install vbox
Selecione exec VBoxHeadless.exe como imagem:
Use sua conta do Windows no logon (isso é muito importante)
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 VBoxVmService
ferramenta:
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
VMBoxService
o conjunto de instalação, ele é executável como um serviço do WindowsEdite seu arquivo INI de configuração (consulteaquipara amostra documentada completa)
Reinicie a máquina ou apenas inicie o
VMBoxService's
serviço Windows instaladoA 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+