89 votes

Est-il possible de convertir des machines virtuelles en environnements physiques ?

Est-il possible de convertir un fichier .vdi en fichier .iso pouvant être gravé sur un CD ou un DVD et en faire un programme d'installation ? Ou est-il possible de convertir des machines virtuelles en environnements physiques ?

71voto

user12786 Points 454

Oui, et non.

Vous pouvez convertir un VDI en une image de disque avec l'outil VBoxManage. Cette commande clone une image de disque virtuel enregistrée vers un autre fichier image. Si vous souhaitez convertir votre disque virtuel dans un autre format, c'est l'outil officiel de VirtualBox à utiliser[*].

VBoxManage clonehd fichier.vdi sortie.img --format RAW
  • Si vous utilisez un VDI dynamique et que vous avez une ancienne version de VirtualBox, clonehd peut ne pas fonctionner correctement. L'outil internalcommands de VBoxManage inclut converttoraw, qui peut convertir un VDI dynamique en une image de disque brut (source)[+].

    VBoxManage internalcommands converttoraw fichier.vdi sortie.img

Mais... ce fichier IMG en sortie n'est pas une image ISO, et le système d'exploitation installé ne sera pas configuré pour fonctionner à partir d'un CD/DVD bootable. Vous pouvez "graver" (écrire) l'IMG sur un disque dur, et il pourrait démarrer sur un matériel nu (c'est-à-dire pas dans une machine virtuelle). Mais cela pourrait ne pas fonctionner, 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 un vrai matériel auquel il ne s'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 comme cela, mais les étapes spécifiques dépendent entièrement du système d'exploitation en cours de migration.


Sous Windows, vous devrez peut-être spécifier le chemin complet vers le programme:

"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]

Ajoutez C:\Program Files\Sun\VirtualBox à votre PATH pour utiliser la version abrégée.


[*] Je suppose que l'option "--format RAW" convertira en une image de disque standard, comme si vous aviez utilisé la commande dd sur un disque dur physique. Mais franchement, je n'ai trouvé aucune documentation qui le confirme, soyez conscient que cela pourrait ne pas être correct.

[+] Je viens de tester les deux commandes sous VirtualBox 3.1.2. Les fichiers de sortie sont identiques selon md5sum, mais je n'ai pas entièrement testé les fichiers de sortie.

Voir aussi le tutoriel "All about VDIs" sur les forums de VirtualBox.

22voto

dmoebius Points 321

Si votre fichier VDI contient des partitions et que vous voulez en extraire seulement une, utilisez la commande suivante :

Tout d'abord, comme l'a dit précédemment quack quixote, convertissez le fichier VDI en un fichier d'image brute :

# VBoxManage clonehd file.vdi file.raw --format RAW

Ensuite, configurez un périphérique en boucle pour l'image :

# loopdev=$(losetup --show -r -f file.raw)

Utilisez kpartx pour créer des périphériques pour chaque partition dans le fichier brut :

# apt-get install kpartx
# kpartx -a $loopdev

Voyez quels périphériques sont disponibles 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

Montez-le maintenant 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 vers une autre partition cible :

# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M

Une fois que vous avez terminé, supprimez à nouveau les mappings de périphériques :

# kpartx -d file.raw

13voto

Pradeep Points 2647

La réponse est définitivement oui, si votre système hôte et invité est Linux. Cela se fait avec les packages qemu et TKLPatch. Vous pouvez utiliser des fichiers VDI ou VMDK.

En savoir plus :

7voto

Jan H Points 191

J'ai essayé la VBoxManage clonehd file.vdi output.img --format RAW de la réponse acceptée mais sans grand succès.

Ce qui a fonctionné pour moi avec une machine virtuelle Windows 8.1 sur un hôte Windows 7 est le suivant :

  1. Créez une machine Windows 8.1 dans VirtualBox, installez et utilisez-la comme vous le feriez normalement avec une VM.
  2. Convertissez le disque dur Virtual Box .vdi en VHD de Windows avec VBoxManage clonehd source.vdi target.vhd --format vhd
  3. Montez le VHD dans la machine hôte Windows en tant que lecteur (vous pouvez monter un VHD dans le gestionnaire de disques dans la Gestion de l'ordinateur.
  4. Clonez le VHD (monté en tant que lecteur) vers un autre nouveau disque dur (un HD de laptop USB dans mon cas) DriveImage XML ou un outil de clonage de disque similaire. Vous avez maintenant essentiellement cloné le disque dur virtuel .vdi vers du matériel nu.
  5. Installez le nouveau disque dur dans une machine. (dans mon cas, remplacez le HDD du laptop)
  6. Insérez une clé USB/CD d'installation Windows 8.1, démarrez à partir de celle-ci, choisissez Options avancées et Réparation automatique. La réparation automatique rendra le nouveau disque dur bootable.
  7. Démarrez à partir du nouveau disque dur avec Windows 8.1 cloné et exécutez les mises à jour Windows. Cela téléchargera les pilotes pour le matériel de votre ordinateur qui n'étaient pas connus lorsque vous avez exécuté Windows dans VirtualBox. Vous devrez installer manuellement les pilotes manquants s'il y en a.
  8. Désinstallez les Additions Invité de VirtualBox. Installez éventuellement VirtualBox afin que votre Windows 8.1 sur du matériel nu puisse être un hôte VirtualBox.

3voto

JoeBilly Points 2070

Je fais ce processus très rapidement, avec juste deux lignes de commande sur Linux :

#VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img

OU

#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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X