O comando VMware Workstation “vmrun” não funciona em um arquivo .bat de inicialização

0

Eu preciso iniciar uma máquina virtual no Windows Startup e ler sobre como mover a máquina virtual para a guia "Shared VMs". Isso funcionou para mim desde agora, quando eu preciso iniciar automaticamente uma máquina virtual com uma referência de disco físico. Por padrão, o VMware Workstation não permitirá que você faça isso se estiver carregando um disco físico (da máquina host).

Comecei a procurar uma solução e encontrei algumas informações sobre o comando "vmrun", que permite iniciar uma máquina virtual usando o Console do Windows (cmd.exe). Acontece que funciona! Se você executar algo assim:

vmrun.exe -T ws inicia "D: \ VM \ Name.vmx"

A máquina virutual é iniciada imediatamente. Até agora estamos bem. Agora, se eu criar um script de lote (.bat) com a mesma linha e configurar o sistema para executar esse arquivo de lote na inicialização, nada acontece e recebi este prompt do sistema:

Também tenho minha VM bloqueada e forço-me a Assumir a propriedade , o que não posso e finalmente me oferece a alternativa para Remover a VM da biblioteca.

Isso me confunde porque eu posso iniciar a VM a partir de um prompt de comando, mas não posso fazer o mesmo usando um arquivo .bat.

PS: modifiquei as variáveis de ambiente do Windows para permitir que eu digite somente o comando vmrun sem apontar o caminho inteiro para o .exe. De alguma forma, o sistema tenta executar a Máquina Virtual (que diz que o .bat é executado) e, finalmente, não pode fazê-lo completamente.

** Edição de postagem: estou usando o programa NSSM para definir outros programas para serem executados como serviços, que, a propósito, encontrei nessa ótima plataforma.

    
por Ophion 15.12.2016 / 20:50

1 resposta

1

Se você agendou uma tarefa para ser executada sem um usuário estar conectado (o que você tem, porque ninguém está conectado enquanto o sistema está inicializando), o programa não pode exibir nenhuma interface de usuário porque é executado em uma sessão planejada para apenas serviços de segundo plano. O Windows informa sobre essa situação com essa mensagem.

Para iniciar uma VM com o comando vmrun sem interface do usuário, adicione nogui no final, assim:

vmrun.exe -T ws start "D:\VM\Name.vmx" nogui

(Fonte: este manual do PDF VMWare .)

Para consertar a VM pensando que ela está em uso, você precisa excluir ou mover as pastas .lck ou .lock files de onde a máquina virtual está armazenada enquanto a VMWare Workstation não está em execução. (Fonte: fóruns VMWare .)

    
por 15.12.2016 / 21:27