Como você configura o Virtualbox VM para iniciar automaticamente após a reinicialização do Windows 10?


37

Em 2013, localizei como iniciar / desligar automaticamente uma VM do Virtualbox quando o host é Linux. O processo foi oficialmente documentado e exigiu algumas etapas.

No momento, estou interessado em como você configura o Virtualbox VM para iniciar automaticamente após a reinicialização do Windows 10?

Existe um processo oficialmente documentado? Caso contrário, quais são as soluções testadas de algumas pessoas?

Minha tentativa ingênua seria algo como:

  • done: configure as janelas para fazer login automático após a reinicialização

  • TODO: criar script em lote com: sleep 120 && vboxmanage startvm my_vm_name

  • TODO: Coloque o script em lote no diretório de inicialização do meu usuário. (Eu não vi nenhum diretório "startup" no Windows 10 ...)


Eu não tinha certeza sobre o uso do menu de inicialização ... porque é muito windows-9x-ish (talvez seja mais antigo). No linux, usei sysvinit / systemd, mas não estou familiarizado com o Windows (talvez o agendador de tarefas ou algo parecido).
Trevor Boyd Smith

Pode ser útil se você adicionar um link para The process was officially documentedno Linux ;-)
Philippe Gachoud

@PhilippeGachoud como por seu pedido, eu editei a pergunta e adicionou um link para a documentação
Trevor Boyd Smith

THX! Achei isso mais adequado, porque menos sensível a alterações na configuração de gerenciamento de pacotes, como parece ser o caso, qual é a sua experiência com isso?medium.com/@bharatman/…
Philippe Gachoud

Respostas:


35

O diretório de inicialização ainda existe, embora em um local bem escondido ...

Acesse-o abrindo a caixa "Executar" (Win + R) e digitando

shell:startup

Minimize isso por enquanto.

Abra o VirtualBox e clique com o botão direito do mouse na VM que deseja iniciar automaticamente, clique na opção para criar um atalho na área de trabalho e feche o VirtualBox.

Simplesmente corte o atalho da área de trabalho e cole-o na pasta aberta anteriormente, e ele deve estar perfeitamente bem.


4
shell: a inicialização está no login, não na inicialização do sistema, correto? Como fazer isso na inicialização do sistema?
alexei 01/01

1
Você precisa executá-lo como um serviço #
AKi

1
Não necessariamente. Você sempre pode configurar o logon automático, abrir um cmd e digitar control userpasswords2. Você encontrará o seu caminho através do resto.
Eduardo

13

Você pode realmente iniciar uma VM sem cabeça sem recorrer a um VBoxVmService de terceiros agora. Basta criar um atalho para <VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headlesse colocar na sua pasta de inicialização.

No manual do VirtualBox .


5
Isso ainda não tem a desvantagem de exigir login em vez de apenas ser executado na inicialização?
HorusKol

Claro. Um serviço ainda é uma necessidade, se você deseja executar alguma coisa sem ter que logar-se.
rustyx

2
Use uma tarefa agendada para isso em vez de atalho na pasta de inicialização.
de Bruno Dedo

11

Experimente o VBoxVmService

Certifique-se de ler o Howto.txt e editar o VBoxVmService.ini


1
Muito obrigado! isso parece muito promissor. No Windows, a falta de integração do Virtualbox com o início / desligamento do sistema sempre foi um grande ponto negativo quando você queria comparar o windows-virtualbox e o linux-virtualbox (mesmo que a integração do linux virtualbox seja apenas sysvinit ... e o IMO não seja muito robusto ( o encerramento de VMs não espera que a VM seja encerrada antes que o sistema emita o SIGKILL e, em seguida, faça o encerramento do sistema)).
Trevor Boyd Smith

1
Eu tentei isso cerca de um ano atrás. Esta solução requer que você atualize o virtualbox na etapa de bloqueio com o código do wrapper que presta serviços no Windows. E então você tem que ter cuidado. Também uma atualização do Windows, acho que quebrou essa funcionalidade para mim. E então eu acabei desinstalando esse código de serviço vbox.
Trevor Boyd Smith

Eu olhei para este projeto. O grande volume de erros de ortografia me preocupa com problemas semelhantes no código. Campo minado + canário.
user2066657

@ user2066657 bem, você pode ler meus comentários e ver que eu tentei e funcionou um pouco e depois foi quebrado. suas preocupações com erros ortográficos indicando a qualidade do código provavelmente são bem fundamentadas. eu ainda não voltaria hoje.
Trevor Boyd Smith

7

Embora ter um serviço seja bom, você pode fazê-lo com uma tarefa agendada. Tome a inicialização do sistema como acionador, marque a opção para executar a tarefa sem um usuário conectado e defina a ação como<VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headless . Certifique-se de remover a verificação da opção incompreensivelmente padrão "interrompa a tarefa se estiver executando por mais de 3 dias". Srsly, MS, o que você estava pensando, que nenhum computador com Windows duraria tanto tempo sem reiniciar?

Há uma ressalva: se uma VM for iniciada na inicialização dessa maneira, você a verá no VirtualBox Manager como "desligada"; portanto, não há botão para mostrar a exibição da VM. Existe apenas o botão "Iniciar" e você provavelmente estragará tudo ao tentar iniciar duas vezes.

Você pode definir uma porta de exibição remota para poder acessar o console da VM através do RDC (mstsc.exe), sem o VirtualBox Manager, mas você ainda precisa se lembrar de não acreditar nas informações "desligadas". Não sei se isso funciona melhor com um serviço real.


1
re "ter um serviço é bom". infelizmente, o serviço VirtualBox é interrompido toda vez que há uma pequena atualização do virtualbox. então eu acabei desinstalando o serviço e agora minha VM não inicia mais na inicialização.
Trevor Boyd Smith

re "[a VM aparece como] desligada [no VirtualBox Manager]" acredito que isso seja causado pela maneira como você está iniciando a VM. Eu suspeito que você está iniciando a VM como usuário root. se você tentar iniciar a VM com uma "runas" para o seu usuário ... seu gerente do VirtualBox poderá funcionar.
Trevor Boyd Smith

1
agora que penso nisso ... o serviço VirtualBox ... TAMBÉM aparece como "desligado" quando você o inicia através do serviço.
Trevor Boyd Smith

1
Isso parece muito promissor, mas não consigo fazê-lo funcionar ... Criei o trabalho, com dois comandos - para iniciar minhas VMs "principais" também. Eu vejo isso no agendador. Posso clicar nele e escolher "Executar" - o estado muda de "Pronto" para "Em execução", mas as VMs não iniciam. Nem eles começam na inicialização ... Deve haver algo mais ...
Mikhail T.

FUNCIONA , testado no Windows 10 + Virtualbox 6.0.2. Receita: tecla Windows, digite SCHED e inicie o agendador de tarefas, Criar Tarefa Básica, Acionador: Quando o computador iniciar, Ação: Iniciar um programa, Programa (vá para VBoxManage.exe), argumentos: startvm "vmname" --tipo sem cabeça, tick "Abra a caixa de diálogo de propriedades para esta tarefa. e termine, marque Executar se o usuário estiver conectado ou não , talvez remova Condições / Iniciar apenas se o computador estiver com energia CA e Configurações / Interrompa a tarefa se executar mais que. (embora realmente isso não importe aqui, já que o lançamento é rápido).
fgrieu 18/01

2

Conforme declarado anteriormente por chad e gonesoft, você pode usar o VboxManage.exe para iniciar a VM no lançamento; no entanto, se você não especificar "--type headless", ele realmente aparecerá no VirtualBox Manager como executando etc., assim como se você o iniciou normalmente, sem cabeça é o que o esconde - não é algo que você provavelmente desejaria fazer em todos os casos ...

Postando como resposta, pois não tenho reputação suficiente para escrever um comentário nas respostas anteriores


2

Experimente o VBoxHeadlessTray .
É realmente fácil de usar, que restaura automaticamente o estado da VM quando o Windows é inicializado e salva quando o Windows é desligado ou reiniciado. O mais impressionante é que você pode usar o VBoxHeadlessTray para configurar cada uma das suas VMs.


isso parece incrível. vou ter que experimentar quando tiver tempo. obrigado.
Trevor Boyd Smith
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.