Vous avez installé Oracle VM VirtualBox et créez votre VM.
Maintenant, vous souhaitez exécuter la VM depuis la ligne de commandes.
Par exemple pour créer un script afin de contrôler votre VM.
Cela fonctionne pour Windows ou Linux.
VirtualBox fournit un utilitaire en ligne de commandes VboxManage.
Avec ce outil, vous pouvez démarrer, arrêter, suspendre une VM très simplement.
Voici comment exécuter une VM VirtualBox à partir de la ligne de commande.
Table des matières
Comment exécuter une VM VirtualBox à partir de la ligne de commande
La commande VboxManage fonctionne en indiquant le nom de la machine virtuelle.
Il faut donc au préalable récupérer celle-ci.
On peut l’obtenir directement dans la liste des VM ou dans la configuration ou propriétés d’Oracle VM VirtualBox.
Il faut ouvrir une invite de commandes (mais pas administrateur).
Pour ce faire, suivez ce guide : Comment ouvrir l’invite de commandes sur Windows.
Dans les exemples, on travaille avec la VM Windows-10.
Les commandes sont données avec le chemin complet de vboxmanage sur un Windows 10 64-bits.
Il faut adapter le chemin selon votre installation.
Démarrer la VM
La sous-commande startvm permet de démarrer une VM arrêtée ou suspendue.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm <Nom de la VM>
Par exemple ci-dessous, on démarre la VM Windows-10 depuis l’invite de commandes de Windows.
Pour un terminale en Linux, c’est le même principe.
La commande startvm prend le paramètre –type avec :
- gui : Démarre une machine virtuelle affichant une fenêtre GUI. C’est la valeur par défaut.
- headless : Démarre une machine virtuelle sans fenêtre pour l’affichage à distance uniquement.
- separate : Démarre une machine virtuelle avec une interface utilisateur amovible. Techniquement, il s’agit d’une VM sans tête avec une interface utilisateur dans un processus séparé. Il s’agit d’une fonctionnalité expérimentale car il manque certaines fonctionnalités, telles que l’accélération 3D.
Par exemple pour démarrer la VM sans fenêtre GUI :
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm Windows-10 --type headless
Suspendre ou mettre en pause la VM
Pour mettre temporairement une machine virtuelle en attente, sans changer définitivement son état.
La fenêtre VM est grise, pour indiquer que la VM est actuellement en pause. Cela équivaut à sélectionner l’élément Pause dans le menu Machine de l’interface graphique.
On utilise pour cela la commande pause.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> pause
Puis pour réactiver la VM en pause, on utilise resume.
La VM redevient alors active.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> resume
Enfin il est possible d’enregistrer l’état actuel de la machine virtuelle sur le disque, puis d’arrêter la machine virtuelle.
Cela équivaut à sélectionner l’élément Fermer dans le menu Machine de l’interface graphique ou à cliquer sur le bouton de fermeture de la fenêtre VM, puis à sélectionner Enregistrer l’état de la machine dans la boîte de dialogue affichée.
On utilise alors l’option savestate.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> savestate
Pour la redémarrer, il faut utiliser startvm ou la relancer manuellement depuis l’interface graphique.
Reset de la VM
On peut aussi forcer la réinitialisation del a machine virtuelle.
Cela va couper celle-ci qui va se relancer.
Pratique lorsque l’OS est planté.
Il faut alors utiliser l’option reset :
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> reset
Arrêter la VM
Enfin on peut arrêter complètement la machine virtuelle avec l’option poweroff.
Elle est alors considérée comme n’étant plus démarré.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> poweroff
Enfin il peut arriver que la VM ne répond plus.
On peut alors forcer l’arrêt avec l’option acpipowerbutton.
Cela envoie un signal d’arrêt ACPI à la VM, comme si le bouton d’alimentation d’un vrai ordinateur avait été enfoncé.
Tant que la VM exécute un système d’exploitation invité assez moderne fournissant une prise en charge ACPI, cela devrait déclencher un mécanisme d’arrêt approprié à partir de la VM.
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm <Nom de la VM> acpipowerbutton
Liens
Retrouvez toutes les commandes VboxManage dans mon article :