Cloner une vm VirtualBox

 

Je fais beaucoup de tests avec VirtualBox et souvent j'ai besoins des mêmes bases système : une Debian avec quelques paquets installés (openssh, vim, screen ...) et un peu de config.

Il est donc assez lent pour faire des tests de réinstaller à chaque fois la même vm. Je crée donc une machine virtuelle de base que je clone ensuite.

Le problème c'est que VirtualBox ne propose pas de cloner directement une vm.

La première chose à faire est donc de se faire une install de base, d'installer les paquets nécessaires de faire un peu de conf et de faire un peu de ménage (apt-get clean) et de virer le contenu du fichier /etc/udev/rules.d/70-persistent-net.rules, il faut virer les lignes qui ressemble à ceci :

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:73:e7:77", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

On éteint la machine virtuelle et en console on lance la commande suivante :

# cd ~/.VirtualBox/HardDisks
# VBoxManage clonehd vm_a_cloner.vdi nouveau_nom.vdi
Oracle VM VirtualBox Command Line Management Interface Version 3.2.8
(C) 2005-2010 Oracle Corporation
All rights reserved.

0%...

 

On retourne ensuite dans l'interface de VirtualBox et au lieu de créer un nouveau disque on va utiliser le disque créé.

La seule chose à changer dans la vm se trouve dans les fichiers /etc/hostname et /etc/hosts.

Simple et efficace.