Comment convertir un fichier VHD en fichier VMDK : guide étape par étape
VMware vSphere et Microsoft Hyper-V sont deux des plateformes de virtualisation les plus populaires. Chaque solution utilise des formats de fichiers de disque virtuel différents pour les VMs. Cela signifie que vous devez convertir les fichiers de disque virtuel lorsque vous déplacez des VMs entre VMware et Hyper-V. Par exemple, vous pouvez avoir besoin de migrer des VMs entre des hyperviseurs à des fins de test. Dans d’autres cas, vous pouvez avoir besoin de changer le format si vous avez choisi le mauvais lors de la création de la VM.
Hyper-V utilise les formats VHD et VHDX pour les VMs, tandis que VMware utilise le format VMDK. Lisez cet article pour découvrir comment migrer des VMs depuis Hyper-V vers un environnement VMware en convertissant un fichier VHD en VMDK.
Formats de disques virtuels
VHD fait référence au format d’image disque qui a été introduit comme format de disque virtuel des Virtuelles Maschinen pour Connectix Virtual PC. Plus tard, Microsoft a racheté Virtual PC et a poursuivi le développement de ce produit de virtualisation. Microsoft a ensuite présenté Hyper-V comme substitut à Microsoft Virtual PC. Les principales fonctionnalités du VHD sont les suivantes :
- La taille maximale prise en charge des fichiers VHD est de 2 To (2^32*512 octets), où 32 bits correspondent à la quantité et 512 octets à la taille du secteur.
- Le format VHD des disques virtuels est également pris en charge par VirtualBox et est toujours utilisé dans le cloud Microsoft Azure.
- Les VMs Hyper-V de génération 1 peuvent uniquement utiliser des disques virtuels au format VHD.
VHDX est la nouvelle version du format de disque virtuel fourni par Microsoft, qui succède au format VHD. Le format VHDX a un large champ d’application : disques virtuels des machines virtuelles Hyper-V et volumes partagés en cluster Microsoft. VHDX est un format de fichier semi-ouvert et vous pouvez télécharger les spécifications de ce format de fichier sur le site Web de Microsoftet créer vos propres applications compatibles avec les fichiers VHDX. Les principales fonctionnalités du format VHDX sont les suivantes :
- La capacité maximale du disque est de 64 To, contre 2 To pour le format VHD.
- Prend en charge les secteurs de 4 Ko
- Offre une meilleure protection contre les pannes causées par une coupure de courant, par rapport aux disques VHD
Les VMs de génération 2 prennent en charge les disques virtuels VHDX et VHD. Cependant, les VMs Azure ne peuvent utiliser que des disques virtuels au format VHD. Les disques virtuels VHDX peuvent être créés dans la fenêtre Gestion des disques sous Windows 10 et Windows Server 2016. Les images VHDX peuvent également être montées (connectées) en tant que lecteur de disque, affichées dans l’Explorateur Windows (Poste de travail) dans les dernières versions de Windows grâce au pilote VHDX intégré.
VMDK est un format ouvert d’images de disques virtuels utilisé par les hyperviseurs VMware, VirtualBox, QEMU, etc., et qui n’est pas pris en charge par Hyper-V. Les fichiers image VMDK peuvent être considérés comme des conteneurs permettant de stocker des données de la même manière que sur des disques durs physiques, et offrent une grande compatibilité avec divers logiciels de virtualisation. La taille maximale du disque virtuel VMDK est passée de 2 To à 62 To. Les disques virtuels VMDK peuvent être divisés en plusieurs types et variantes : monolithiques, fractionnés, sparses, plats, ainsi que provisionnés en mode thin et thick. Les disques Delta VMDK sont créés lors de la prise de instantanés de VM. Les fichiers VMDK peuvent être mappés (montés) sur le point de montage spécifié sur votre machine hôte si VMware Workstation est installé. Un haut niveau de fiabilité est assuré. La prise en charge des secteurs natifs de 4 Ko est effectuée pour les disques virtuels VMDK, utilisés par les dernières versions des produits VMware avec VMF S6.
Vérifiez le contenu du VHD avant de convertir le VHD en VMDK
Il s’agit d’une étape facultative qui vous permet de vous assurer que le disque virtuel VHD ou VHDX source est en bon état et d’afficher les fichiers qu’il contient. Cette approche vous évite de vous tromper et de perdre du temps à convertir le mauvais disque virtuel. Si vous souhaitez uniquement extraire des fichiers à partir d’images VHD, cette section est faite pour vous. Les fichiers VHD peuvent être montés dans un répertoire sous Linux et mappés à une lettre de lecteur spécifiée sous Windows.
Comment ouvrir VHDX sous Linux
Sous Linux VHD et VHDX, les fichiers peuvent être montés dans un répertoire spécifié (point de montage) dans la console par libguestfs tools. Ainsi, vous pouvez afficher le contenu des fichiers VHD et VHDX sous Linux avant de commencer à convertir VHD en VMDK. Voyons comment afficher le contenu des images de disque virtuel VHD et VHDX sous Linux.
Installez le paquet nécessaire :
sudo apt-get install libguestfs-tools
Créez le répertoire dans lequel vous souhaitez monter les images VHD ou VHDX, par exemple /mnt/vhd/:
sudo mkdir /mnt/vhd/
Exécutez la commande pour monter une image disque VHD dans le répertoire spécifié. Nous sommes dans le répertoire où se trouve le fichier VHD requis et exécutons la commande en tant qu’administrateur :
guestmount --add test-disk.vhd --ro /mnt/vhd/ -m /dev/sda1
Où :
-add – ouvre un disque virtuel.
--ro – un disque virtuel est monté en mode lecture seule.
/mnt/vhd/ est le chemin d’accès au fichier VHD que vous souhaitez monter.
-m /dev/sda1/ est le nom de la partition existant sur le disque virtuel VHD. Il y a une partition NTFS sur le disque virtuel VHD utilisé dans cet exemple.
Vous pouvez voir toutes les commandes disponibles en exécutant guestmount --help
Remarque : Si vous exécutez la commande dans un autre répertoire, spécifiez le chemin d’accès complet à votre fichier VHD, par exemple :
guestmount --add /media/user1/data/test-disk.vhd --ro /mnt/vhd/ -m /dev/sda1
Vérifiez le contenu de l’image VHD montée :
ls -al /mnt/vhd/
Pour démonter le disque virtuel, utilisez la commande :
guestunmount /mnt/vhd/
De même, vous pouvez monter des fichiers VHDX dans le répertoire /mnt/vhd/ créé précédemment, et copier le contenu du disque virtuel monté :
guestmount --add /media/user1/data/WinServer2016.vhdx --ro /mnt/vhd -m /dev/sda2
Où : /dev/sda2 est utilisé car /dev/sda1/ est la partition de service créée par défaut par le programme d’installation de Windows.
Vous pouvez voir le contenu de la partition système Windows (disque C:) du disque virtuel VHDX dans la console Linux (voir la capture d’écran ci-dessous).
Comment ouvrir un disque dur virtuel (VHD) sous Windows
Ouvrez la fenêtre GESTION de l’ordinateur (cliquez avec le bouton droit sur Poste de travail et sélectionnez Gérer dans le menu contextuel).
Dans la GESTION de l’ordinateur fenêtre, sélectionnez Gestion des disques, puis cliquez sur Action > Attacher un disque dur virtuel.
Dans la fenêtre contextuelle, définissez le chemin d’accès à votre fichier VHD ou VHDX. Cochez la case Read-only si vous ne souhaitez pas écrire de données sur le disque virtuel. Cette option protège également les données stockées sur le disque virtuel contre toute corruption accidentelle.
Le disque est maintenant monté et affiché dans la fenêtre Gestion des disques et dans l’Explorateur Windows (le lecteur X: dans ce cas).
Remarque : Windows ne peut déterminer que les partitions avec des systèmes de fichiers pris en charge : NTFS, FAT32, exFAT, ReFS. Si votre disque virtuel contient des partitions Linux avec ext3, ext4 et d’autres systèmes de fichiers, vous ne pourrez pas afficher le contenu des fichiers VHD ou VHDX montés sur votre système Windows sans outils tiers.
Pour démonter un disque virtuel VHD ou VHDX de votre système Windows, ouvrez l’Explorateur Windows, cliquez avec le bouton droit sur la lettre attribuée à votre disque virtuel et, dans le menu contextuel, cliquez sur Eject.
Maintenant que vous avez vérifié le contenu du disque virtuel VHD (VHDX) et que vous êtes sûr qu’il s’agit bien du disque dont vous avez besoin, vous pouvez commencer à convertir le VHD en VMDK. Il existe deux méthodes très abordables pour convertir un VHD en VMDK : utiliser qemu-img et utiliser VBoxManage. Les deux solutions envisagées sont gratuites et sont expliquées ci-dessous.
Comment convertir un VHD en VMDK avec qemu-img
QEMU est une plateforme open source d’émulation et de virtualisation de machines. Qemu-img est un utilitaire du kit logiciel QEMU qui peut être utilisé pour convertir des disques virtuels d’un format à un autre. Qemu-img peut être utilisé pour convertir des disques VHD en disques VMDK. L’utilisation de cet utilitaire est la première méthode de conversion de disques virtuels Hyper-V en disques virtuels VMware que nous aborderons dans cet article. Qemu-img peut être exécuté à la fois sous Windows et sous Linux.
Utilisation de qemu-img sous Linux
Ubuntu Linux est utilisé dans cet exemple pour exécuter qemu-img.
Commencez par installer qemu-img à partir des référentiels logiciels en ligne :
sudo apt-get install qemu-utils
Accédez au répertoire dans lequel sont stockées les images de disque virtuel (dans cet exemple, les fichiers de disque virtuel VHD et VHDX sont stockés dans /media/user1/data/) :
cd /media/user1/data/
Vérifiez le fichier VHDX
Obtenez les privilèges root (avec la commande sudo su ) et affichez les informations sur l’image VHD :
qemu-img info test-disk.vhd
De même, vous pouvez vérifier les informations sur le disque virtuel VHDX :
qemu-img info /media/user1/data/WinServer2016.vhdx
Convertir un VHD en VMDK sous Linux
Pour convertir un VHD en VMDK avec qemu-img sous Linux, exécutez la commande en tant qu’administrateur :
qemu-img convert /media/user1/data/WinServer2016.vhdx -O vmdk /media/user1/data/WinServer2016qemu.vmdk -p
Où :
-O – définit le format du fichier de sortie
-p – affiche la barre de progression
Attendez que le processus de conversion soit terminé.
Utilisation de qemu-img sous Windows
Téléchargez qemu-img from le site web officiel (des programmes d’installation 32 bits et 64 bits sont disponibles au téléchargement). Dans l’exemple actuel, qemu-img-win-x64-2_3_0 est utilisé. Extrayez les fichiers de l’archive téléchargée, par exemple vers C:Programsqemu-img. Lancez ensuite la ligne de commande Windows (CMD) – Appuyez sur Windows+R pour ouvrir la boîte de dialogue «Run». Tapez «cmd» dans la boîte et appuyez sur Ctrl+Maj+Entrée pourrunlacommandeen tant qu’administrateur.
Accédez au répertoire qemu-img :
cd C:Programsqemu-img
Les commandes qemu-img sous Linux et Windows sont identiques.
Convertir un VHD en VMDK sous Windows
Exécutez CMD en tant qu’administrateur et accédez au répertoire où qemu-img est installé.
Affichez les informations du disque virtuel :
qemu-img.exe info c:VirtualHyper-Vtest-disk.vhd
Convertissez l’image disque VHD au format VMDK :
qemu-img.exe convert -p c:VirtualHyper-Vtest-disk.vhd -O vmdk c:VirtualHyper-Vtest-disk.vmdk
Où :
-p – afficher la progression
-O – le fichier de sortie
Warten, bis der Prozess der Konversion beendet ist.
Comment convertir un fichier VHD en VMDK avec VBoxManage
VBoxManage est l’interface de ligne de commande (CLI) permettant de gérer l’hyperviseur VirtualBox et les Virtuelles Machines. VBoxManage est l’outil multiplateforme qui est installé lorsque vous installez VirtualBox (comme vous vous en souvenez, VirtualBox est une solution de virtualisation multiplateforme). L’une des fonctionnalités les plus intéressantes de VBoxManageest sa capacité à convertir plusieurs formats de disques virtuels. Vous pouvez convertir un disque VHD en disque VMDK à l’aide de VBoxManage.
Si vous utilisez Windows comme système d’exploitation hôte, exécutez CMD en tant qu’administrateur et accédez au répertoire d’installation de VirtualBox pour exécuter VBoxManage. Dans l’exemple actuel, VirtualBox est installé dans le répertoire par défaut.
cd C:Program FilesOracleVirtualBox
Vous pouvez ajouter le chemin d’installation de VirtualBox à la variable d’environnement Path afin d’éviter d’avoir à vous rendre manuellement dans le répertoire d’installation de VirtualBox chaque fois que vous souhaitez exécuter VBoxManage.
Exécutez la commande pour convertir Hyper-V VHD en VMware VMDK comme suit :
VBoxManage clonehd --format vmdk C:virtualHyper-VWinServer2016.vhdx С:virtualHyper-VWinServer2016vbox.vmdk
La syntaxe est compréhensible : vous définissez le format du disque virtuel de destination (vmdk) et définissez la source vhdx et les noms des fichiers de destination vmdk .
Warten bis der Prozess der Konvertierung abgeschlossen ist.
Wenn Sie Linux auf Ihrer Maschine verwenden, auf der VirtualBox installiert ist, verwenden Sie die gleichen Befehle (aber beachten Sie die Struktur der Linux-Partitionen und -Repertoires).
Erstellung einer virtuellen Maschine VMware durch Verwendung des konvertierten Disks
Die Conversion von VHD in VMDK ermöglicht die Conversion von Hyper-V-Maschinen in VMware-Maschinen. Sie müssen den konvertierten virtuellen Disk in Ihren manuell erstellten VMware-VM importieren, um die vollständige Conversion der Maschine durchzuführen. Diese Methode kann für VMware Workstation und VMware ESXi verwendet werden. Die restlichen Details zur Conversion von Hyper-V in VMware werden in dieser Section erläutert.
VMware Poste de travail
Si vous souhaitez créer une machine virtuelle à l’aide d’un disque virtuel converti du format VHD (VHDX) au format VMDK dans VMware Workstation, il vous suffit de créer une nouvelle machine virtuelle (ou d’ouvrir une machine virtuelle existante si vous souhaitez ajouter un disque virtuel converti en tant que disque virtuel supplémentaire) et de sélectionner l’option permettant d’utiliser un disque virtuel existant.
Par exemple, créons une nouvelle machine virtuelle dans VMware Workstation. Cliquez sur Fichier > Nouvelle machine virtuelle.
Vous trouverez une explication détaillée sur la création d’une nouvelle machine virtuelle VMware Workstation dans l’article de blog consacré à VMware Home Lab. Dans cette section de l’article de blog d’aujourd’hui, l’accent est mis sur les étapes nécessaires à l’importation d’un disque virtuel VHD converti dans la machine virtuelle VMware Workstation. Vous devez donc porter une attention particulière aux étapes suivantes :
Sélectionnez «Je vais installer un système d’exploitation plus tard », et choisissez la version du système d’exploitation invité (OS) qui était installée sur la machine virtuelle Hyper-V source dont vous avez converti le disque virtuel (Windows Server 2016 dans ce cas). Si vous utilisez une version plus ancienne de VMware Workstation, sélectionnez Windows 10 comme version du système d’exploitation invité.
Le VM-Name est Win2016converted dans notre exemple. Les fichiers de la nouvelle VM sont stockés dans C:VirtualWin2016converted.
Sélectionnez «Utiliser un disque virtuel existant» à l’étape Sélectionner un disque .
Spécifiez le chemin d’accès au fichier VMDK existant ou parcourissez le fichier. Dans ce cas, le chemin d’accès au fichier VMDK est :
C:VirtualHyper-VWinServer2016qemu2.vmdk
Si une fenêtre de dialogue s’affiche et vous propose de convertir un disque virtuel existant vers un format plus récent, le choix vous appartient. Vous devez convertir un disque virtuel vers un format plus récent si vous ne prévoyez pas d’utiliser ce disque virtuel pour des Virtuelles Maschinen de versions VM plus anciennes (qui disposent d’un matériel virtuel plus ancien).
Sélectionnez BIOS comme type de micrologiciel dans les options de la machine virtuelle si votre machine virtuelle Hyper-V source a été configurée pour utiliser le BIOS. Sinon, la machine virtuelle VMware à laquelle vous avez attaché un disque virtuel converti du format Hyper-V au format VMware ne démarrera pas. Après la création de la VM, vous pouvez vérifier ce paramètre en accédant à VM > Paramètres, en sélectionnant l’onglet Options > Avancé.
Votre VM devrait maintenant s’amorcer correctement. Après que votre système d’exploitation invité ait été démarré, installez VMware Tools.
VMware ESXi
Vous pouvez également convertir un fichier VHD en fichier VMDK et importer un disque virtuel converti dans une machine virtuelle VMware fonctionnant sur un hôte VMware ESXi. Cependant, le format de disque virtuel VMware pour VMware Workstation et VMware ESXi est différent. Un disque virtuel au format VMware Workstation possède un descripteur de disque intégré dans un seul fichier . Un disque virtuel au format ESXi se compose de deux fichiers distincts : un fichier de données (.vmdk) et un fichier descripteur de disque (-flat.vmdk). Afin d’utiliser un disque virtuel que vous avez converti à partir du format Hyper-V avec qemu-img ou VBoxManage pour une machine virtuelle fonctionnant sur ESXi, vous devez convertir ce disque virtuel du format poste de travail au format ESXi. Sinon, vous obtiendrez l’erreur suivante : «Type de disque non pris en charge ou non valide 2».
Découvrons comment utiliser un disque virtuel converti à partir du format VHD pour une machine virtuelle fonctionnant sur ESXi.
Conversion du format VMDK au format ESXi
Téléchargez le fichier VMDK converti vers le magasin de données connecté à un hôte VMware ESXi. Utilisez un client SCP, l’interface Web de VMware Host Client ou VMware vSphere Client pour télécharger le disque virtuel converti vmdk vers le magasin de données VMware ESXi.
Dans notre exemple, le fichier WinServer2016qemu.vmdk est téléchargé vers le SSD1 Magasin de données qui est attaché à l’hôte ESXi dont l’adresse IP est 10.10.10.74.
Assurez-vous que l’accès SSH est activé sur votre hôte ESXi (Gérer > Services > TSM-SSH).
Connectez-vous à votre hôte ESXi via SSH par l’intermédiaire d’un client SSH (par exemple, PuTTY) en tant qu’administrateur.
Accédez au répertoire dans lequel est stocké le fichier de disque virtuel VMDK converti à partir du format VHD Hyper-V (dans cet exemple, le fichier vmdk est stocké dans /vmfs/volumes/SSD1/converted/) :
cd /vmfs/volumes/SSD1/converted/
Utilisez vmkfstools pour convertir un disque virtuel au format de poste de travail en un disque virtuel au format ESXi. Dans notre exemple, un disque virtuel à allocation dynamique au format ESXi est le type de disque virtuel de destination.
vmkfstools -i WinServer2016qemu.vmdk WinServer2016thin.vmdk -d thin
Comme vous pouvez le voir sur la capture d’écran, la conversion postérieure du VMDK du format de poste de travail au format ESXi avec vmkfstools s’est déroulée avec succès et deux nouveaux fichiers ont été créés :
WinServer2016thin-flat.vmdk
WinServer2016thin.vmdk
Importation d’un disque VMDK vers une machine virtuelle sur ESXi
Ouvrez VMware Host Client (il est préférable d’utiliser VMware vSphere Client si le déploiement de vCenter a lieu, mais vous pouvez utiliser VMware Host Client dans presque tous les cas d’utilisation, y compris dans un scénario avec
L’assistant de nouvelle machine virtuelle s’ouvre.
1. Sélectionnez le type de création. Cliquez sur Créer une nouvelle machine virtuelle. Cliquez sur Suivant à chaque étape pour continuer.
2. Sélectionnez un nom et un système d’exploitation invité. Sélectionnez la version de la machine virtuelle, la famille du système d’exploitation invité et la version du système d’exploitation invité. Dans cet exemple, le VM-Name est Win2016converted. La VM est compatible avec ESXi 6.5 ou version ultérieure, Windows est la famille du système d’exploitation invité et la version du système d’exploitation invité est Microsoft Windows 2016 (64 bits).
3. Sélectionnez le stockage. Sélectionnez le magasin de données dans lequel stocker les fichiers VM. Le nom du magasin de données utilisé dans cet exemple est SSD2.
4. Personnalisez les paramètres. Cette étape est la plus importante dans notre cas. Supprimez le disque virtuel qui a été créé par défaut avec la nouvelle machine virtuelle. Cliquez ensuite sur Ajouter un disque dur > Disque dur existant.
Dans le navigateur du magasin de données, sélectionnez le disque virtuel que vous avez converti de VHD à VMDK, puis converti de VMDK au format VMware Workstation au format VMware ESXi (allocation dynamique). Comme vous vous en souvenez peut-être, votre disque virtuel converti se compose de deux fichiers (.vmdk et -flat.vmdk), mais dans le navigateur du magasin de données, seul un fichier vmdk s’affiche. Ne vous inquiétez pas, il s’agit d’une fonctionnalité de VMware Host Client. Les deux fichiers copiés dans le magasin de données VMware ESXi sont présents. Vous pouvez les vérifier dans la console ESXi ou par connexion SSH. Dans l’exemple actuel, vous pouvez voir que la taille actuelle du disque virtuel est de 9,11 Go, mais que la taille maximale provisionnée de ce disque est de 30 Go.
Après avoir ajouté le disque virtuel VMDK converti, vous pouvez voir le champ inactif où la taille de 9 Go (la taille actuelle) du disque virtuel de 30 Go est affichée. Il n’est pas nécessaire de prêter attention au fait que le type de disque virtuel est affiché de manière incorrecte sur la capture d’écran ci-dessous ; en effet, le disque virtuel est importé en tant que disque mince, comme prévu.
5. Prêt à terminer. À cette étape, vous pouvez vérifier vos paramètres. Si tout est correct, cliquez sur Terminer pour créer une nouvelle machine virtuelle.
Vous pouvez maintenant mettre la machine virtuelle sous tension (cliquez avec le bouton droit sur le VM-Name de la machine virtuelle et sélectionnez dans le menu contextuel Power > Power On).
La machine virtuelle avec le disque virtuel converti a démarré correctement et le réseau fonctionne correctement. Vous pouvez maintenant installer VMware Tools sur le système d’exploitation invité.
Conclusion
Si vous souhaitez convertir Hyper-V en VMware au niveau des virtuelles Maschinen, vous pouvez convertir VHD en VMDK, puis attacher un disque virtuel VMDK converti à une nouvelle machine virtuelle VMware. Qemu-img
Si vous souhaitez utiliser des outils semi-automatisés ou entièrement automatisés pour convertir l’ensemble de la machine virtuelle Hyper-V en machine virtuelle VMware, vous pouvez utiliser gratuitement VMware vCenter Converter Standalone.
Quel que soit l’hyperviseur que vous utilisez, la protection des données est importante. NAKIVO Backup & Replication offre une fonctionnalité de récupération multiplateforme qui vous permet de convertir des disques VHD à partir de sauvegardes de machines virtuelles en disques VMDK et de restaurer des machines virtuelles Hyper-V sur des hyperviseurs VMware.





























