VBoxManage – Le frontend caché de VirtualBox

Cet article a pour but de vous informer d’une commande souvent ignorée des utilisateurs de VirtualBox (Ose ou Full) mais qui pourtant plus que primordiale. Elle est en fait le frontend ultime de VirtualBox. En fait, virtualbox contient :
– Un interface graphique QT – VirtualBox
– Un “Plain Gui” basé sur SDL – VBoxSDL
– Une interface RDP – VBoxHeadless
– Command Line – VBoxManage
Les trois implémentes les fonctions de la librairie VBoxVMM.dll ou VBoxVMM.so sous linux.
Ainsi on peut lancer une VM avec le GUI, fermer ce GUI, VirtualBox lance dans un process indépendant les VMs donc l’instancieur est indépendant de la VM, puis éteindre la VM avec VBoxManage, grâce au gestionnaire VBoxSVC qui se fait interface entre l’implémentation des fonctions et la VM. On a donc basiquement, de manière shématique 3 process, un FrontEnd (GUI, RDP, CLI, …), un COMProcess, une VM.

VBoxManage est donc un frontend au même titre que le GUI sauf qu’il donne accés à TOUTES les fonctionnalitées de VirtualBox… et elles sont nombreuses. Faisons un rapide tour du proprio.
Premièrement, VboxManage doit toujours être utilisé avec une sous commande tel que “list”, “createvm”, “startvm”. Nous passons ensuite à cette sous commande des arguments. Par exemple pour demarrer ma VM nomé 404VirtualMachine je fais donc :
VBoxManage startvm “404VirtualMachine”
Ou alors utiliser son UUID. Passons rapidement en revue les sous commande disponibles et leurs fonctions.

list : Renvoi des informations sur le système et la configuration de VirtualBox
showvminfo : Renvoi des informations sur une vm en particulier
registervm/unregistervm : importe/exporte une VM Définition de VirtualBox
createvm : créé une VM
modifyvl : modifie la configuration de la VM
import : importe une appliance au format OVF et en fait une VM
export : exporte une VM en appliance OVF
startvm : démarre une VM
controlvm : permet de prendre le contrôle de l’etat la VM
snapshot : gére les snapshot de vm (créé, supprimer, replacer, restorer, etc)
openmedium/closemedium : permet de gérer les images de HDD, DVD, Disquette,…
storagectl/storageattach : Permet de gérer les contrôleurs de storage attribué aux VM
showhdinfo : renvoi des informations sur le HDD de la VM
createhd : créé un nouveau HDD virtuel.
modifyhd : modifie un HDD virtuel
clonehd : clone un HDD virtuel
convertfromw : converti une image disque en fichier VDI (VirtualBox Disk Image)
addiscsidisk : ajoute un storage reseau iscsi a virtualbox
getextradata/setextradata : permet de modifier la configuration du système
setproperty : permet de modifier des paramètres globaux
usbfilter : permet de travailler avec des filtres usb
sharedfolder : permet de gérer le partage de dossier entre une VM et le système grâce à virtualbox
metrics : permet de monitorer le système
guestproperty :  permet de modifier les propriètées d’une machine virtuelle déjà lancée.
guestcontrol : permet depuis l’hôte de modifier le guest
dhcpserver : permet de gerer le serveur DHCP attaché a virtualBox

Voila en gros la liste (résumée) des sous-commandes disponible avec VBoxManage. Pour  ces sous commandes, je n’ai pas détaillé les paramètres. Le but n’étant pas de réécrire la documentation, mais de montrer très basiquement que VBoxManage permet de gérer entièrement le système et de manière beaucoup plus performante, rapide et pointue que le frontend QT.

La documentation complète sur VBoxManage peut être lue ici : http://www.virtualbox.org/manual/ch08.html
Concernant les frontend, voici une brêve description :
http://www.virtualbox.org/manual/ch01.html#frontends

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s