Embora ter um serviço seja bom, você pode fazê-lo com uma tarefa agendada. Tome a inicialização do sistema como o 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 de "matar a tarefa se estiver executando por mais de 3 dias". Srsly, MS, o que você estava pensando, que nenhum computador Windows duraria tanto tempo sem reiniciar?
Há uma ressalva: se uma VM for iniciada na inicialização dessa maneira, você a verá no Gerenciador de VirtualBox como "desligada", portanto, não há nenhum botão para mostrar a exibição da VM. Há apenas o botão "Iniciar" e você provavelmente vai estragar tudo quando você tentar iniciá-lo novamente.
Você pode definir uma porta de exibição remota para poder acessar o console da VM por meio do RDC (mstsc.exe), sem o VirtualBox Manager, mas ainda é preciso lembrar de não acreditar nas informações "desligadas". Não sei se isso funciona melhor com um serviço real.