Como encerrar com segurança o SO convidado no VirtualBox usando a linha de comando

49

Eu tenho o Ubuntu 10.10 e uso o VirtualBox 3.2. Como um sistema operacional convidado, eu tenho outro Ubuntu no VirtualBox.

Estou iniciando o Guest Ubuntu automaticamente usando o seguinte comando assim que o meu Host Ubuntu inicializar:

VBoxHeadless -startvm Ubuntu --vrdp on

Então eu posso acessá-lo com ssh ou tsclient.

Agora eu preciso desligar automaticamente o Guest Ubuntu assim que eu desligar meu Host Ubuntu. Alguém conhece algum método seguro para desligar automaticamente o Guest Ubuntu com uma linha de comando? Descobri duas maneiras de desligar o sistema operacional convidado, mas não tenho certeza se elas são seguras ou não. Aqui estão eles:

VBoxManage controlvm Ubuntu acpipowerbutton

ou

VBoxManage controlvm Ubuntu poweroff
    
por Bakhtiyor 13.05.2011 / 13:58

6 respostas

42

Se você abrir as preferências de gerenciamento do Gnome Power, poderá definir quais ações executar quando o botão liga / desliga. Se você configurá-lo para desligar, ele será encerrado normalmente quando você pressionar o botão de energia virtual com o comando VBoxManage controlvm Ubuntu acpipowerbutton .

    
por Egil 13.05.2011 / 14:14
17

Para o desligamento seguro, vm use este comando:

vboxmanage controlvm Ubuntu poweroff soft
    
por menzer 08.11.2013 / 22:38
9

Se você está desligando o vm quando o servidor, você tem que esperar pelo vm (s)

(Neste 'shellscript' root 'está o invocador, e' theuser 'é o dono de' thevm ')

Eu sei que o vms terminou quando a saída do comando VBoxManage list runningvms retornar uma string vazia.

Eu uso isso no meu script de shell

...
stop(){
    su -c "VBoxManage controlvm thevm acpipowerbutton" -s /bin/bash theuser
    while [ "'su -c 'VBoxManage list runningvms' -s /bin/bash theuser'" != "" ]
    do
        echo waiting for VMs to shutdown
        sleep 3
    done
}
...
    
por Jorge Sanchez 15.11.2013 / 17:16
8

Não faça isso:

VBoxManage controlvm Ubuntu poweroff

É equivalente a puxar o plugue de energia em um computador real. Você não quer fazer isso!

Use o método de desligamento da ACPI (verifique a configuração de gerenciamento de energia, como sugere o Egil) ou, talvez, dê uma chance ao método do estado de salvamento ( savestate ).

    
por htorque 13.05.2011 / 14:21
6

Você deve desligar seu Ubuntu virtual da mesma forma que faz o poweroff do seu hardware real. De uma questão de commanline em uma sessão ssh remotamente:

sudo poweroff

Se você quiser salvar o estado da máquina (semelhante a suspender / hibernar), use o segundo ponto em @ htorque's answer .

    
por Takkat 13.05.2011 / 14:36
-1

Eu normalmente desligo a VM (Linux) %código% Eu acho que é a maneira mais elegante de encerrar a VM, porque é o desligamento (não poweroff) e fornece tempo de graça e (possivelmente) a mensagem para os usuários de login.

    
por Woogon Chung 23.02.2017 / 13:09