Comment exécuter une VM VirtualBox en ligne de commande avec VboxManage

Bloqueur de pub détectée - Vous bloquez l'affichage des publicités.
Pour soutenir le site, merci de bien vouloir laisser les publicités s'afficher.

Plus d'informations : Comment désactiver les bloqueurs de publicité sur un site internet.

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.

Comment exécuter une VM VirtualBox en ligne de commande

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.

Récupérer le nom de la 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.

Démarrer la VM VirtualBox en ligne de commandes

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
Suspendre ou mettre en pause la VM VirtualBox en ligne de commandes

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
Suspendre ou mettre en pause la VM VirtualBox en ligne de commandes

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
Suspendre ou mettre en pause la VM VirtualBox en ligne de commandes

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
Reset de la VM VirtualBox en ligne de commandes

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
Arrêter la VM VirtualBox en ligne de commandes

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 :

Accédez aux autres articles de ce dossier :
Créer une VM VirtualBox en ligne de commandes avec VboxManageAccélérer et optimiser une VM VirtualBox
Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article Comment exécuter une VM VirtualBox en ligne de commande avec VboxManage mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum