Outils pour utilisateurs

Outils du site


app:virtualbox:deplacer-vm

Ajouter VM pré-existante

Imports/Exports

Le plus simple est d'utiliser les commandes d'import/export qui se chargeront de créer les archives contenant tous les fichiers nécessaires pour que l'opération puisse se faire automatiquement.

Manuellement

Cette procédure a été établie suite à une migration du système hôte. Les VMs n'avaient pas été exportées. Après migration du système hôte et réinstallation de la nouvelle version de Virtualbox, les machines virtuelles préexistantes n'apparaissaient plus dans la GUI, ni via la commande

$ vboxmanage list vms

Depuis la GUI, menu Machine option Ajouter… On parcours ensuite le système de fichier pour fournir le fichier MaVM.xml ou MaVM.vbox selon la version de Virtualbox avec laquelle la VM fut créée.

ou via la commande vboxmanage

$ vboxmanage registervm /data/virtualbox/VMs/xubuntu/xubuntu.xml
Utiliser un chemin absolu pour l'argument de registervm sinon le chemin sera automatiquement complété avec le path du dossier de configuration de virtualbox et le fichier souhaité sera certainement introuvable.

Cette procédure se déroule sans accrocs à la condition que les chemins n'aient pas évolués. Dans le cas contraire certaines erreurs peuvent se produire, elles sont détaillées ci dessous.

Echec de l'enregistrement

L'enregistrement échoue car controleur virtuel référence un fichier disque inaccessible. Avant d'ajouter de la VM, on peut éditer le fichier XML pour supprimer les balises référençant le disque manquant. On supprime les informations encadrées parles balises AttachedDevice

<StorageController>
  <AttachedDevice>...</AttachedDevice>
</StorageController>

Une fois la VM enregistrée, via la GUI il suffit de rajouter un disque au controleur virtuel en spécifiant un fichier disque pré-existant.

Autre erreur rencontrée lors de l'enregistrement d'une VM, le message affiché:

VBoxManage: error: A differencing image of snapshot {770bbbe3-40ef-42ff-a3e5-63842881d2fe} could not be found. Could not find an open hard disk with UUID {8d445433-f0a6-4e33-969f-ff214a26d7b8}
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component SnapshotMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "OpenMachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 88 of file VBoxManageMisc.cpp

Le Snapshot doit utiliser une fichier disque image introuvable

$ vboxmanage showhdinfo /data/virtualbox/v-store/xubuntu.vdi

Relancer la commande d'enregistrement de la VM une fois le ficheir disuqe déclaré:

$ vboxmanage registervm /

Echec d’exécution VM

La VMs refuse de s 'exécuter. Le fichier XML qui a servit lors de l'enregistrement de la VM à créé un fichier disque actuellement non disponible (il a pu être déplacé). Même si on a détaché le fichier disque de la VM via la GUI (dans la configuration de la VM, le disque n'est plus lié au controleur virtuel), il existe encore dans le gestionnaire de médias:

Via la GUI, menu FichierGestionnaire de médias…. Dans l'onglet Disques durs supprimer le disque virtuel en erreur (boutons Libérer puis supprimer ou directement Supprimer. Puis retourner dans la configuration de la VM, et attacher un fichier disque préexistant au controleur.

Les mêmes opérations sont faisable en ligne de commande, on liste ici les fichiers disques:

$  vboxmanage list hdds
...
UUID:           ea29a9d6-35bb-4dc5-a770-ea5b57f1b9a6
Parent UUID:    base
State:          inaccessible
Type:           normal (base)
Location:       /data/v-store/gw-ecole.vdi
Storage format: VDI
Capacity:       0 MBytes
...

Le disque qui nous intéresse est en effet inaccessible (sont chemin ayant été modifié), on va supprimer l'enregistrement du gestionnaire de média:

$ vboxmanage closemedium disk --delete ea29a9d6-35bb-4dc5-a770-ea5b57f1b9a6

L'utilisation de la commande showhdinfo avec le path complet sur le fichier disque créera automatiquement une entrée dans le gestionnaire de média:

$ vboxmanage showhdinfo /data/virtualbox/v-store/gw-ecole.vdi

Maintenant que le fichier disque correct existe dans le gestionnaire de média il peut etre attaché au controleur virtuel de la VM:

$ vboxmanage storageattach gw-ecole --storagectl "SATA"  --port 0 --device 0 --type hdd --medium /data/virtualbox/v-store/gw-ecole.vdi

On démarre la VM dans la jubilation et l'allégresse:

$ vboxmanaga startvm gw-ecole

Références

app/virtualbox/deplacer-vm.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1