Pour cloner un disque virtuel (.VDI) on ne peut pas se contenter de faire une simple copie de fichier.

La raison en est que le Gestionnaire de supports virtuels refuse d’enregistrer un disque virtuel existant si son UUID correspond à celui d’un disque virtuel déjà enregistré.

Pour ce faire, VirtualBox est livré avec l’utilitaire VBoxManage qui, lorsqu’il est utilisé avec l’option clonehd ou clonevdi, permet de cloner un disque virtuel en lui associant un nouvel UUID.

Un défaut dans le version 2.2.2 de VirtualBox fait que cette possibilité ne fonctionne plus correctement.

Le problème est donc de savoir comment modifier l’UUID d’un disque virtuel que l’on vient de copier pour que le Gestionnaire de supports virtuels accepte de l’enregistrer.

C’est fort heureusement possible et c’est même très simple.

Voici donc une procédure qui m’a été inspirée par la lecture de l’article How To: Properly Backup a VirtualBox Machine (.VDI)

Clonage sous Ubuntu

  1. lancez un terminal ;
  2. exécutez une commande cd suivie du nom du répertoire contenant le disque virtuel à cloner – par exemple cd /home/bernard/.VirtualBox/HardDisks/ ;
  3. exécutez la commande cp hd.vdi hd-clone.vdi pour copier le disque virtuel hd.vdi sous le nom hd-clone.vdi ;
  4. exécutez la commande VBoxManage internalcommands setvdiuuid hd-clone.vdi pour affecter un nouvel UUID au disque virtuel hd-clone.vdi.

Clonage sous Windows

  1. lancez une invite de commandes ;
  2. exécutez une commande cd suivie du nom de répertoire contenant le disque virtuel à cloner – par exemple cd "C:\Documents and Settings\Bernard\.VirtualBox\HardDisks" ;
  3. exécutez la commande copy hd.vdi hd-clone.vdi pour copier le disque virtuel hd.vdi sous le nom hd-clone.vdi ;
  4. exécutez la commande "C:\Program Files\Sun\xVM VirtualBox\VBoxManage" internalcommands setvdiuuid hd-clone.vdi pour affecter un nouvel UUID au disque virtuel hd-clone.vdi.

Vous pouvez maintenant enregistrer le disque virtuel hd-clone.vdi en utilisant le Gestionnaire de supports virtuels.

Addendum : Suite à la rédaction de cet article, compte-tenu des commentaires reçus et des recherches complémentaires effectuées, il est apparu que l’option clonehd ou clonevdi fonctionnait bien à condition que le disque virtuel à cloner soit désigné par son chemin d’accès complet. Pour plus de détails, je vous suggère de lire les messages ci-après.