Come arrestare in sicurezza il SO Guest in VirtualBox usando la linea di comando

49

Ho Ubuntu 10.10 e uso VirtualBox 3.2. Come sistema operativo guest ho un'altra Ubuntu nel VirtualBox.

Sto iniziando Guest Ubuntu usando il seguente comando una volta che il mio host Ubuntu si avvia:

VBoxHeadless -startvm Ubuntu --vrdp on

Quindi posso accedervi con ssh o tsclient.

Ora ho bisogno di spegnere automaticamente Guest Ubuntu una volta chiuso il mio host Ubuntu. Qualcuno conosce un metodo sicuro per spegnere automaticamente Guest Ubuntu con una riga di comando? Ho scoperto due modi in cui è possibile arrestare il sistema operativo guest, ma non sono sicuro che siano sicuri o meno. Eccoli:

VBoxManage controlvm Ubuntu acpipowerbutton

o

VBoxManage controlvm Ubuntu poweroff
    
posta Bakhtiyor 13.05.2011 - 13:58

6 risposte

42

Se apri le preferenze di gestione di Gnome Power, puoi impostare quali azioni intraprendere quando il pulsante di accensione. Se lo imposti per lo spegnimento, si spegnerà con garbo quando premi il pulsante di alimentazione virtuale con il comando VBoxManage controlvm Ubuntu acpipowerbutton .

    
risposta data Egil 13.05.2011 - 14:14
17

Per sicurezza shutdown vm usa questo comando:

vboxmanage controlvm Ubuntu poweroff soft
    
risposta data menzer 08.11.2013 - 22:38
9

Se stai spegnendo il vm quando il server lo fa, devi aspettare il vm (s)

(In questa "radice" della shell è l'invocatore e "theuser" è il proprietario di "thevm")

So che i vms hanno finito quando l'output del comando VBoxManage list runningvms restituisce una stringa vuota.

Lo uso nel mio script di 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
}
...
    
risposta data Jorge Sanchez 15.11.2013 - 17:16
8

Non farlo:

VBoxManage controlvm Ubuntu poweroff

È equivalente a tirare la spina di alimentazione su un computer reale. Non vuoi farlo!

Utilizza il metodo di spegnimento ACPI (controlla le impostazioni di risparmio energia come suggerisce Egil) o dai un tentativo di provare il metodo dello stato di salvataggio ( savestate ).

    
risposta data htorque 13.05.2011 - 14:21
6

Dovresti spegnere la tua Ubuntu virtuale proprio come fai con il tuo vero hardware. Da una riga di comando su una sessione ssh in remoto:

sudo poweroff

Se vuoi salvare lo stato della macchina (simile a sospensione / ibernazione) usa il secondo punto in @ risposta di htorque .

    
risposta data Takkat 13.05.2011 - 14:36
-1

Di solito spengo la VM (Linux) di %codice% Immagino che sia il modo più elegante di terminare la VM perché è shutdown (non poweroff) e fornisce il tempo di grazia e (possibilmente) il messaggio agli utenti di login.

    
risposta data Woogon Chung 23.02.2017 - 13:09

Leggi altre domande sui tag