Lancer/Arrêter une machine virtuelle sous VirtualBox en ligne de commande

virtualbox en ligne de commande

I – Présentation

Dans cet tutoriel, nous allons voir ensemble comment utiliser VirtualBox en ligne de commande (CLI), démarrer/arrêter une machine, etc ….

Le mode CLI permets en outre de de lancer une machine virtuelle sans pour autant lancer la GUI.

Grâce à cet article vous allez pouvoir gérer votre machine en vous affranchissant totalement de l’interface graphique ce qui est vraiment pas mal !!!

Voici la méthode, dans un premier temps.

Il faut lancer la commande avec l'utilisateur qui a créé la machine virtuelle vous aller comprendre pourquoi au fur et à mesure du tutorial.

II – Démarrer une machine virtuelle en ligne de commande

Sans GUI :

 root@server:~# VBoxManage startvm "MY VM" --type headless 

Explications :

VboxManage startvm « LE NOM DE LA MACHINE » –type headless (pour le mode silencieux)

Avec GUI :

 root@server:~# VBoxManage startvm "MY VM" 

Nous avons juste enlevé –type headless, le paramètre par défaut lance la fenêtre.

III -Arrêter une machine virtuelle

 root@server:~# VBoxManage controlvm "MY VM" poweroff 

IV – Mettre en pause une machine virtuelle

 root@server:~# VBoxManage controlvm "MY VM" pause 

Je pense que nous avons vu les principales commandes pour gérer votre machine en cli.

V – Lancer les machines virtuelles automatiquement au démarrage

Maintenant, nous allons voir comment lancer les machines virtuelles au démarrage de la machine hôte et les mettre en pause lors de l’arrêt de notre machine hôte.

Nous allons d’abord créer le script suivant (en root):

root@server:~# vim /etc/init.d/vbox_scripts
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: manage vm
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop: 0 6
# Manage Vm virtualbox by florian.
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
name_of_vm=$2
current_user=xbmc

startvm() {
su - $current_user -c 'VBoxManage startvm "MY VM" --type headless'

}

stopvm() {
su - $current_user -c 'VBoxManage controlvm "MY VM" pause'

}

killallvm() {
su - $current_user -c 'VBoxManage controlvm "MY VM" poweroff'
su - $current_user -c 'VBoxManage startvm "MY VM" --type headless'

}

killvm() {
su - $current_user -c 'VBoxManage controlvm "$name_of_vm" poweroff'
su - $current_user -c 'VBoxManage startvm "$name_of_vm" --type headless'

}

case "$1" in
start)
startvm
;;

stop)
stopvm
;;

killallvm)

killallvm
;;

killvm)

killvm
;;

*)

echo "Usage: /etc/init.d/networking {start|stop|killallvm|killvm name}"

exit 1

;;

esac

exit 0

On positionne les droits adéquates sur le fichier :

 root@server:~# su chmod 700 /etc/init.d/vbox_scripts

Activation/Mise en place du script au démarrage/arrêt  de la machine.

 root@server:~# update-rc.d vbox_scripts start 99 2 3 4 5 . stop 20 0 1 6

Explications : Il faut choisir 99 pour le boot car il faut que l’ensemble des services associés à VirtualBox soit lancé, j’avoue ne pas mettre penché sur ce point et j’ai utilisé abusivement le chiffre 99.

On reboot le système, et on vérifie que la machine est lancée, vous devriez avoir ceci :

virtualbox en ligne de commande

Donc maintenant vous ne pouvez plus utiliser l’interface d’administration pour cette machine !!! mais avec ce que je vous ais appris cela ne devrait pas être un problème 😉

Liens Externes :

https://doc.ubuntu-fr.org/virtualbox

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.