Comment arrêter en toute sécurité le système d'exploitation invité dans VirtualBox en utilisant la ligne de commande

49

J'ai Ubuntu 10.10 et utiliser VirtualBox 3.2. En tant qu'OS invité, j'ai un autre Ubuntu dans VirtualBox.

Je lance automatiquement Guest Ubuntu en utilisant la commande suivante une fois que mon hôte Ubuntu démarre:

VBoxHeadless -startvm Ubuntu --vrdp on

Ensuite, je peux y accéder avec ssh ou tsclient.

Maintenant, je dois arrêter automatiquement Invité Ubuntu une fois que j'arrête mon hôte Ubuntu. Est-ce que quelqu'un connaît une méthode sûre pour arrêter automatiquement Guest Ubuntu avec une ligne de commande? J'ai découvert deux façons d'arrêter le système d'exploitation invité, mais je ne suis pas sûr qu'ils soient sûrs ou non. Voici les voici:

VBoxManage controlvm Ubuntu acpipowerbutton

ou

VBoxManage controlvm Ubuntu poweroff
    
posée Bakhtiyor 13.05.2011 - 13:58
la source

6 réponses

42

Si vous ouvrez les préférences de gestion de Gnome Power, vous pouvez définir les actions à entreprendre lorsque le bouton d’alimentation est activé. Si vous le configurez pour qu’il se ferme, il s’arrêtera normalement lorsque vous appuyez sur le bouton d’alimentation virtuelle avec la commande VBoxManage controlvm Ubuntu acpipowerbutton .

    
réponse donnée Egil 13.05.2011 - 14:14
la source
17

Pour une fermeture sécurisée, utilisez cette commande:

vboxmanage controlvm Ubuntu poweroff soft
    
réponse donnée menzer 08.11.2013 - 22:38
la source
9

Si vous fermez la vm lorsque le serveur le fait, vous devez attendre la vm (s)

(Dans ce shell, "root" est l'invocateur et "theuser" est le propriétaire de "thevm")

Je sais que les vms sont terminées lorsque la sortie de la commande VBoxManage list runningvms renvoie une chaîne vide.

J'utilise ceci dans mon script 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
}
...
    
réponse donnée Jorge Sanchez 15.11.2013 - 17:16
la source
8

Ne faites pas cela:

VBoxManage controlvm Ubuntu poweroff

Cela équivaut à brancher le cordon d’alimentation sur un ordinateur réel. Vous ne voulez pas faire ça!

Utilisez la méthode d’arrêt ACPI (vérifiez le paramètre de gestion de l’alimentation tel que suggéré par Egil) ou essayez peut-être la méthode de sauvegarde ( savestate ).

    
réponse donnée htorque 13.05.2011 - 14:21
la source
6

Vous devriez activer votre Ubuntu virtuel comme vous le faites pour votre vrai matériel. Depuis une ligne de communication sur une session ssh à distance:

sudo poweroff

Si vous souhaitez enregistrer l’état de la machine (similaire à suspend / hibernate), utilisez le deuxième point dans La réponse de @htorque .

    
réponse donnée Takkat 13.05.2011 - 14:36
la source
-1

J'arrête généralement la VM (Linux) en $ sudo shutdown -h now Je suppose que c'est le moyen le plus simple de mettre fin à la VM, car il s'agit d'un arrêt (et non d'une mise hors tension) et fournit le temps de grâce et (éventuellement) le message aux utilisateurs connectés.

    
réponse donnée Woogon Chung 23.02.2017 - 13:09
la source

Lire d'autres questions sur les étiquettes