Il est possible de convertir un fichier .vdi en un .iso qui peut être gravé sur un cd ou un dvd et en faire un installateur. Ou est-il possible de convertir des machines virtuelles en environnements physiques?
Oui et non.
Vous can convertissez un VDI en une image disque avec l'outil VBoxManage. Cette commande clone une image de disque virtuel enregistrée dans un autre fichier image. Si vous souhaitez convertir votre disque virtuel dans un autre format, il s'agit de l'outil officiel VirtualBox à utiliser [*].
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
Mais... ce fichier IMG de sortie n'est pas une image ISO et le système d'exploitation installé ne sera pas configuré pour s'exécuter à partir d'un CD/DVD amorçable. Vous pouvez "graver" (écrire) l'IMG sur un disque dur et ce dernier peut démarrer sur du matériel nu (par exemple, pas sur une machine virtuelle). Mais ce n’est peut-être pas le cas, car le système d’exploitation installé sur cet IMG s’attend à voir le matériel virtuel fourni par VirtualBox, et vous le démarrez sur du matériel réel qu’il n’attend pas.
Certaines versions de Windows ne gèrent pas bien cette situation; certaines distributions Linux le font. Il est parfois possible de configurer un système d'exploitation (avant ou après) pour le migrer d'un environnement à l'autre, mais des étapes spécifiques dépendent totalement du système d'exploitation migré.
Sous Windows, vous devrez peut-être spécifier le chemin complet du programme:
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
Ajoutez C:\Program Files\Sun\VirtualBox à votre CHEMIN pour utiliser la version courte.
[*] Je suppose que l'option "--format RAW" sera convertie en une image disque standard, comme si vous aviez utilisé la commande dd sur un disque dur physique. Mais franchement, je n'ai trouvé aucune documentation qui sauvegarde cela, alors sachez que cela peut ne pas être correct.
[+] Je viens de tester les deux commandes sous VirtualBox 3.1.2. Les deux fichiers de sortie sont identiques selon md5sum, mais je n'ai pas complètement testé les fichiers de sortie.
Voir aussi le "Tout sur les VDI" tutorial sur les forums de VirtualBox.
Si votre fichier vdi contient des partitions et que vous souhaitez en extraire une, utilisez les éléments suivants:
Tout d’abord, comme l’a dit quack quixote précédemment, convertissez le fichier vdi en un fichier image brut:
# VBoxManage clonehd file.vdi file.raw --format RAW
Ensuite, configurez un périphérique de boucle pour l’image:
# loopdev=$(losetup --show -r -f file.raw)
Utilisez kpartx pour créer des périphériques pour chaque partition du fichier brut:
# apt-get install kpartx
# kpartx -a $loopdev
Voir quels appareils nous avons maintenant. Dans cet exemple, il n'y a qu'un seul périphérique car il n'y a qu'une seule partition dans l'image brute:
# ls /dev/mapper/loop*
/dev/mapper/loop0p1
Maintenant montez-le pour vérifier que tout fonctionne correctement:
# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1
Utilisez dd pour copier le contenu de la partition sur une autre partition cible:
# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M
Une fois que vous avez terminé, supprimez à nouveau les mappages de périphériques:
# kpartx -d file.raw
La réponse est oui, dans le cas où votre système hôte et invité est Linux. C'est fait avec les paquets qemu
et TKLPatch
. Vous pouvez utiliser les fichiers VDI ou VMDK.
Lire la suite:
J'ai essayé le VBoxManage clonehd file.vdi output.img --format RAW
de la réponse acceptée mais sans grand succès.
Voici ce qui a fonctionné pour moi avec une machine virtuelle Windows 8.1 sur un hôte Windows 7:
VBoxManage clonehd source.vdi target.vhd --format vhd
Je fais ce processus très rapidement, avec seulement deux lignes de commande sous Linux:
#
VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img
OR
#
VBoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img
#
mv your_disk_virtual.img your_disk_virtual.iso
Mon article complet: http://www.previsioni.com.br/jailsonjan/?p=389
Utilisez la commande suivante pour convertir:
VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK
Voici la sortie:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c