Menu Fermer

VirtualBox : Gérer une VM en ligne de commandes avec VboxManage

Cette entrée fait partie d'une série de 9 sur 20 dans la série VirtualBox : créer et utiliser une machine virtuelle

VBoxManage est la commande VirtualBox qui vous permet d’administrer et gérer vos VM.
Avec cet utilitaire vous pouvez tout faire, créer, arrêter, configurer et modifier une machine virtuelle.
VBoxManage prend en charge toutes les fonctionnalités auxquelles l’interface utilisateur graphique vous donne accès, mais il prend en charge bien plus que cela.
Il expose toutes les fonctionnalités du moteur de virtualisation, même celles qui ne sont pas accessibles à partir de l’interface graphique.
En clair donc, cet outil en ligne de commandes vous donne le contrôle totale de VirtualBox.

Dans cet article, nous allons voir les principales utilisations de VBoxManage afin de gérer une VM.

Gérer une vm VirtualBox en ligne de commandes avec vboxmanage

VboxManage : comment ça marche

VboxManage fonctionne selon deux principes :

  • une sous-commande comme list or createvm or startvm. Le tableau plus bas dans l’article donne la liste
  • le nom de la machine virtuelle sur laquelle on travaille

Le nom de la VM se récupère à différents endroits comme dans la liste des VM, dans la configuration ou les propriétés de celle-ci.

Configurer l'authentification VRDP en externe sur VirtualBox

Ce qui donne donc l’exemple suivant :

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm Windows-10
  • la sous commande est startvm afin de démarrer la VM
  • Le nom de la VM est Windows-10

Liste des commandes VboxManage

Oracle fournit une documentation complète des sous-commandes VboxManage disponible depuis ce lien.

Voici la liste des sous-commandes.

Sous-commande VboxManageDescription
listLister les VM créées
showvminfoDonner les propriétés de la VM
registervm/unregistervmImporter une définition de machine virtuelle dans un fichier XML dans Oracle VM VirtualBox
createvmCréér une VM
modifyvmModifier la configuration de la VM
movevmDéplacer une machine virtuelle vers un nouvel emplacement sur l’hôte.
importImporter une machine virtuelle
exportExporter une machine virtuelle
startvmDémarrer une VM
controlvmPermettre de changer l’état d’une machine virtuelle en cours d’exécution
discardstateRejetter l’état enregistré d’une machine virtuelle qui n’est pas en cours d’exécution. Cela entraînera le redémarrage du système d’exploitation de la VM la prochaine fois que vous le démarrerez. Cela équivaut à retirer le câble d’alimentation d’une machine physique et doit être évité si possible
adoptstateSi vous disposez d’un fichier d’état enregistré (.sav) distinct de la configuration de la machine virtuelle, vous pouvez utiliser cette commande pour adopter le fichier. Cela changera la machine virtuelle en état enregistré et lorsque vous la démarrerez, Oracle VM VirtualBox tentera de la restaurer à partir du fichier d’état enregistré que vous avez indiqué. Cette commande ne doit être utilisée que dans des configurations spéciales
closemediumSupprimer un disque dur, un DVD ou une image de disquette d’un registre de supports Oracle VM VirtualBox
storageattachAttacher, modifier et supprimer un support de stockage connecté à un contrôleur de stockage qui a été précédemment ajouté avec la commande storagectl
storagectlAttacher, modifier et supprimer un contrôleur de stockage. Après cela, le support virtuel peut être attaché au contrôleur avec la commande storageattach
bandwidthctlCréer, supprimer, modifier et afficher les groupes de bande passante de la machine virtuelle donnée
showmediuminfoAfficher des informations sur un support, notamment sa taille, sa taille sur disque, son type et les machines virtuelles qui l’utilisent.
createmediumCréer un nouveau support
modifymediumModifier les caractéristiques d’une image disque après sa création
clonemediumDuplique un disque virtuel, un DVD ou un support de disquette sur un nouveau support, généralement un fichier image, avec un nouvel identifiant unique (UUID). La nouvelle image peut être transférée vers un autre système hôte ou réimportée dans Oracle VM VirtualBox à l’aide de Virtual Media Manager
mediumpropertyCette commande définit, obtient ou supprime une propriété moyenne
encryptmediumCréer un support ou une image crypté DEK
checkmediumpwdVérifier le mot de passe de cryptage actuel sur un support ou une image crypté DEK
convertfromrawConvertir une image disque brute en un fichier d’image disque (VDI) Oracle VM VirtualBox
getextradata/setextradataAttacher et de récupérer des données de chaîne pour une machine virtuelle ou pour une configuration Oracle VM VirtualBox, en spécifiant global au lieu d’un nom de machine virtuelle
setpropertyModifier les paramètres globaux qui affectent l’ensemble de l’installation d’Oracle VM VirtualBox. Certains d’entre eux correspondent aux paramètres de la boîte de dialogue Paramètres globaux de l’interface utilisateur graphique
usbfilter add/modify/removeModifier les filtres USB dans des machines virtuelles ou des filtres globaux qui affectent l’ensemble de la configuration d’Oracle VM VirtualBox
guestpropertyObtenir ou de définir les propriétés d’une machine virtuelle en cours d’exécution
guestcontrolLes commandes guestcontrol permettent le contrôle de l’invité depuis l’hôte
metricsPrendre en charge la surveillance de l’utilisation des ressources système. Les ressources sont représentées par diverses métriques associées au système hôte ou à une machine virtuelle particulière
natnetworkConfigurer les réseaux NAT
hostonlyifModifier la configuration IP d’une interface réseau d’hôte uniquement
usbdevsourceAjouter et de supprimer des périphériques USB globalement
unattendedInstallation du système d’exploitation invité sans assistance
snapshotGérer les instantanés de la machine virtuelle Oracle VM VirtualBox
clonevmCréer un clone d’une machine virtuelle Oracle VM VirtualBox existante
sharedfolderAjouter et supprimer des dossiers partagés
extpackGestion des packages d’extension
dhcpserverGestion du serveur DHCP
debugvmIntrospection et débogage invité
cloudprofileGérez les profils cloud
cloudGérer les entités cloud
Liste des commandes VBoxManage de VirtualBox

Comme vous pouvez le voir, c’est très complet car on peut tout faire en ligne de commandes sur VirtualBox.
Il serait don compliqué d’énumérer tous les cas.
Toutefois voici quelques exemples de ce que l’on peut faire avec VboxManage.

Gérer une VM VirtualBox en ligne de commandes

Créer une VM en ligne de commandes

Il est tout à fait possible d’ajouter une nouvelle VM et installer un OS en ligne de commandes.
L’article suivant vous guide avec toutes les commandes et syntaxes à utiliser.

Exécuter une VM avec VBoxManage

Enfin toutes les commandes pour exécuter, arrêter, suspendre une machine virtuelle :

Afficher les propriétés d’une VM

On peut aussi lister les VM installées, pour cela on utilise la commande VBoxManage de cette manière :

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" list vms
Obtenir des informations sur les VM installées en ligne de commandes

Mais la sous-commande list propose beaucoup d’options.
On peut par exemple lister les disques dur, obtenir des informations sur les réseaux VirtualBox
La liste complète est disponible dans le manuel VirtualBox.

Par exemple list hdds donnent la liste des disques virtuels.

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" list hdds
Lister les disques d'une VM en ligne de commandes
"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" showvminfo "Windows-10"
Afficher les propriétés d'une VM en ligne de commandes

Créer, restaurer et supprimer un instantané

On peut aussi très facilement gérer les snapshots en ligne de commandes.
La sous-commande showvminfo donne la liste des instantanées à la fin avec leurs identifiants (UUID)

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" showvminfo "Windows-10"

Pour les gérer, on utilise la sous-commande snapshot :

  • edit vous permet de changer le nom ou la description d’un instantané spécifié.
  • list : liste les instantanés
  • restore pour restaurer un instantané
  • restorecurrent : restaure l’instantané actuel
  • take prend un instantané de l’état actuel de la machine virtuelle.
  • delete pour supprimer un snapshot

Ainsi on peut aussi lister les instantannés avec snaphost list :

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" snapshot "Windows-10" list
Lister les instantanés d'une VM en ligne de commandes

Puis il est possible de créer un snapshot avec la commande take.
Il faut spécifié le nom du snapshot.
L’option –live indique de ne pas arrêter la VM.

"C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" snapshot "Windows-10" take "Super instant" --live
Créer un instantané d'une VM en ligne de commandes

Ensuite pour revenir à un instantané :

vboxmanage snapshot <nom de la VM> restore <UUID du snapshot>

Et puis pour restaurer un intantané de la VM Windows-10 et l’instannée avec l’UUID 2bc2ece2-f08d-4b0d-a1b1-6651742eb2d4 :

vboxmanage snapshot "Windows-10" restore 2bc2ece2-f08d-4b0d-a1b1-6651742eb2d4
Restaurer un instantané d'une VM en ligne de commandes

Enfin pour supprimer un snapshot en ligne de commandes :

vboxmanage snapshot <nom de la VM> delete <UUID du snapshot>

Cloner la VM

Enfin on peut aussi cloner la VM.
Cela consiste à dupliquer celle-ci par exemple pour effectuer des textes.
Pour cela, on utilise la commande clonevm.

VBoxManage clonevm Windows-10 --name="Windows-10-001" --register --mode=all --options=keepallmacs --options=keepdisknames --options=keephwuuids

Le paramètre –options permet de garder les adresses MAC, utilsiateurs et UUID.