Comment convertir un fichier VMDK en VHDX et l’utiliser dans Hyper-V

Comment convertir un fichier VMDK en VHDX et l’utiliser dans Hyper-V

Il arrive souvent que l’on télécharge une machine virtuelle au format VMDK (format utilisé par VMware), mais que l’on souhaite l’utiliser avec Hyper-V (l’hyperviseur gratuit intégré à Windows).
Le problème ? Hyper-V ne lit pas les fichiers VMDK… Il lui faut un fichier au format VHDX.

Heureusement, il existe un outil gratuit de Microsoft appelé MVMC (Microsoft Virtual Machine Converter) qui permet de faire cette conversion en quelques étapes.
Dans cet article, je vais vous montrer pas à pas comment convertir un fichier VMDK en VHDX puis l’installer sur Hyper-V.

Étape 1 – Télécharger et installer Microsoft Virtual Machine Converter

  1. Rendez-vous sur le site officiel de Microsoft pour télécharger Microsoft Virtual Machine Converter (MVMC) ou  Télécharger MVMC ici
  2. Installez le logiciel normalement (suivant → suivant → terminer).

Note légale : Microsoft Virtual Machine Converter (MVMC) est un outil développé par Microsoft et mis à disposition gratuitement. Cet outil est maintenant en fin de vie et n’est plus supporté par Microsoft. Ce dépôt a pour seul but de préserver l’accès à cet outil pour des besoins d’archivage et de migration historique. Tous les droits sur le logiciel restent la propriété de Microsoft.

Étape 2 – Préparer vos chemins

Avant de lancer la conversion, il est important de bien organiser vos fichiers.

  • Localisez votre fichier .vmdk (exemple : Metasploitable.vmdk).
  • Copiez le chemin du fichier et collez-le dans un notepad pour le garder sous la main.
    Exemple :
C:\Users\lori\Downloads\Metasploitable2-Linux\Metasploitable.vmdk
  • Créez un dossier où sera stocké le fichier converti (exemple : SortieFinale).
  • Copiez aussi le chemin de ce dossier dans votre notepad.
    Exemple :
C:\Users\lori\Downloads\SortieFinale

Remarque importante :
Dans mon exemple, mon utilisateur s’appelle lori. Mais chez vous, le chemin affichera votre nom d’utilisateur Windows.

Étape 3 – Lancer PowerShell et charger le module

  • Ouvrez PowerShell en tant qu’Administrateur (clic droit → Exécuter en tant qu’administrateur).
  • Tapez (ou copiez-collez) la commande suivante puis appuyez sur Entrée :
Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1'

Cela permet de charger les commandes du logiciel dans PowerShell.

Étape 4 – Convertir le fichier VMDK en VHDX

Maintenant, passons à la conversion.
Exemple avec mon fichier Metasploitable.vmdk :

ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Users\lori\Downloads\Metasploitable2-Linux\Metasploitable.vmdk" -VhdType DynamicHardDisk -VhdFormat vhdx -Destination "C:\Users\lori\Downloads\SortieFinale"
  • -SourceLiteralPath → chemin de votre fichier VMDK.
  • -VhdType DynamicHardDisk → crée un disque dynamique (prend moins de place).
  • -VhdFormat vhdx → indique le format final voulu.
  • -Destination → le dossier où vous voulez stocker votre fichier converti.

Tapez Entrée et attendez quelques minutes.
Une fois l’opération terminée, ouvrez le dossier SortieFinale et BOOM : votre fichier .vhdx est prêt.

VhdFormat vhdx

Étape 5 – Créer une machine virtuelle dans Hyper-V

Maintenant que vous avez votre fichier VHDX, il est temps de l’utiliser dans Hyper-V.

  1. Assurez-vous qu’Hyper-V est activé sur votre PC.
    • Si ce n’est pas le cas, activez-le via Activer/Désactiver des fonctionnalités Windows, puis redémarrez votre ordinateur.
  2. Lancez Hyper-V Manager.
  3. Cliquez sur New → Virtual Machine.
  4. Suivez l’assistant :
    • Nom de la VM : donnez le nom que vous voulez.
    • Emplacement : laissez par défaut ou choisissez un dossier spécifique.
    • Génération : sélectionnez Generation 1 (c’est le plus compatible dans la majorité des cas).
    • Mémoire : par exemple, 2048 MB.
    • Réseau : choisissez Default Switch.
    • Disque dur : sélectionnez Use an existing virtual hard disk, puis naviguez vers votre fichier .vhdx dans SortieFinale.
  5. Cliquez sur Finish.

Étape 6 – Lancer votre machine virtuelle

Dans Hyper-V Manager :

  • Faites un clic droit sur votre VM.
  • Cliquez sur Connect.
  • Cliquez sur Start.

Et voilà, votre machine virtuelle démarre à partir du fichier VHDX que vous avez converti !

Avec ce guide, vous savez maintenant :

  • Télécharger et installer MVMC
  • Préparer vos chemins correctement
  • Convertir un fichier VMDK en VHDX via PowerShell
  • Créer et lancer une machine virtuelle Hyper-V

Une fois que vous avez compris la logique, vous pouvez refaire ces étapes pour n’importe quel fichier VMDK.

Pour aller plus loin, découvrez aussi nos autres guides pratiques sur DiGiProUnic.

Pour ceux qui utilisent Metasploitable (comme dans mon exemple)

Si vous utilisez Metasploitable2 (mon cas dans l’exemple), voici les identifiants par défaut :

  • username : msfadmin
  • password : msfadmin

Pour trouver l’adresse IP de la machine (depuis le terminal de la VM), utilisez la commande :

ifconfig

Cherchez la ligne inet addr: ou inet qui contient l’adresse IP, par exemple :

inet addr:192.X.X.X

192.X.X.X est un exemple ; votre IP peut être différente selon votre réseau.

Comment faire apparaître eth0 dans Metasploitable (Hyper-V)

Si tu utilises Metasploitable dans Hyper-V, tu peux rencontrer un souci : la VM est vieille et Hyper-V lui a fourni une carte réseau moderne qui n’est pas reconnue. La solution est d’utiliser une Legacy Network Adapter (adaptateur réseau hérité) — qui émule du vieux matériel compatible avec Metasploitable.

Important

  • Arrête la VM avant toute modification (Shutdown).
  • Les Legacy Network Adapters sont disponibles pour les VM Generation 1. Si ta VM est Generation 2, recrée-la en Gen 1 ou utilise une autre solution.

Étapes (Hyper-V GUI)

  1. Shutdown la VM Metasploitable depuis Hyper-V.
  2. Dans Hyper-V Manager → sélectionne la VM → Settings.
hyper-v-metasploitable-step1
  1. Supprime toute carte réseau existante (Network Adapter).
  2. En haut, clique sur Add Hardware.
  3. Choisis Legacy Network Adapter puis Add.
hyper-v-metasploitable-step2
  1. Démarre la VM.

Après le boot, tu devrais voir l’interface eth0.

Vérifier et configurer l’IP (dans la VM Metasploitable)

Vérifier la présence de l’interface

Ouvre un terminal dans Metasploitable et tape :

ifconfig -a
# ou avec iproute2
ip addr show

Tu dois voir eth0 listée.

Attribuer une IP temporaire (immédiate)

Pour tester rapidement :

sudo ifconfig eth0 192.168.1.50 netmask 255.255.255.0 up
# ou équivalent moderne
sudo ip addr add 192.168.1.50/24 dev eth0
sudo ip link set eth0 up

# définir la passerelle par défaut (remplace 192.168.1.1 par ta gateway)
sudo route add default gw 192.168.1.1
# ou moderne
sudo ip route add default via 192.168.1.1

Teste la connectivité :

ping -c 4 8.8.8.8
ping -c 4 google.com

Rendre la configuration persistante (Méthode classique pour Metasploitable)

Metasploitable étant ancienne — tu peux éditer /etc/network/interfaces pour une IP statique persistante :

  1. Ouvre le fichier :
sudo nano /etc/network/interfaces
  1. Ajoute (ou modifie) ceci :
auto eth0
iface eth0 inet static
    address 192.168.1.50
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
  1. Sauvegarde et quitte (Ctrl+O, Enter, Ctrl+X).
  2. Redémarre le réseau :
sudo /etc/init.d/networking restart
# ou
sudo systemctl restart networking

Dépannage rapide

  • Si eth0 n’apparaît pas après ces opérations : vérifie que tu as bien supprimé les anciens adaptateurs avant d’ajouter le Legacy NIC.
  • Si la VM est Generation 2 → recrée la VM en Generation 1 ou exporte/importe la VM en Gen1 (plus simple : créer une nouvelle VM Gen1 et attacher le disque).
  • Si ping vers l’extérieur échoue, vérifie la configuration du Virtual Switch (ExternalSwitch) sur l’hôte Hyper-V et que l’hôte a accès au réseau.
  • Utilise dmesg | grep eth0 pour voir si le kernel signale une erreur d’interface.

Laisser un commentaire