Comment ouvrir, monter et extraire les données d’un fichier VMDK

Un fichier VMDK stocke le contenu du disque dur d’une machine virtuelle. Si une machine virtuelle ne parvient pas à démarrer en raison d’une corruption du système d’exploitation, de mises à jour ayant échoué, d’un logiciel malveillant ou d’erreurs de configuration, vous pouvez tout de même accéder aux données contenues dans son disque virtuel.</p>
<p> Ce guide explique comment ouvrir, monter et extraire des données d’un fichier VMDK à l’aide des outils VMware et d’autres méthodes pour Windows et Linux. Ces approches vous permettent d’accéder aux fichiers sans nécessairement mettre la machine virtuelle sous tension. Notez que les méthodes décrites ne s’appliquent qu’aux fichiers VMDK qui ne sont ni chiffrés ni gravement corrompus.

NAKIVO pour la sauvegarde de VMware vSphere

NAKIVO pour la sauvegarde de VMware vSphere

Protection complète des données pour les machines virtuelles VMware vSphere et options de récupération instantanée. Cibles de sauvegarde sécurisées sur site, hors site et dans le cloud. Fonctionnalités anti-ransomware.

Qu’est-ce qu’un fichier VMDK ?

Le format VMDK (Virtual Machine Disk) est un format de fichier de disque virtuel ouvert développé par VMware. Les fichiers de ce format utilisent l’extension .vmdk et sont pris en charge par VMware et VirtualBox.

Sur les serveurs VMware ESXi, un fichier VMDK est généralement stocké sous la forme de deux fichiers distincts sur le Magasin de données : un petit fichier descripteur de disque virtuel et un fichier d’extension de disque virtuel contenant les données brutes du disque. Le fichier descripteur suit généralement le modèle de nommage diskname.vmdk, tandis que le fichier d’extension qui contient les données réelles est nommé diskname-flat.vmdk.

Dans VMware Workstation, un disque virtuel est souvent stocké sous la forme d’un seul fichier diskname.vmdk (format monolithique clairsemé). Dans ce cas, les informations du descripteur sont intégrées dans le même fichier que celui qui stocke les données du disque. Le descripteur de disque virtuel définit la structure du disque, sa géométrie, la version du matériel virtuel et ses identifiants uniques.

Fichier descripteur de disque virtuel

Un descripteur de disque virtuel est stocké sous forme de texte brut. Sur la capture d’écran ci-dessous, la partie gauche montre un fichier descripteur au format ESXi (un fichier .vmdk pouvant être ouvert avec n’importe quel éditeur de texte). À droite, vous pouvez voir les données du descripteur intégrées dans un seul fichier .vmdk créé au format VMware Workstation. Dans ce cas, le fichier est ouvert dans un éditeur hexadécimal.

Comparing ESXi and Workstation descriptor files

Comme illustré, les données du descripteur intégrées dans un fichier monolithique au format de poste de travail .vmdk commencent à l’offset 0x200 (adresse d’octet). La conversion de 0x200 du système hexadécimal au système décimal donne : 0x200 (hexadécimal) = 512 (décimal). Cela signifie que pour extraire le descripteur intégré du fichier VMDK, vous devez copier la partie des données à partir de l’octet 512.

Remarque : Vous pouvez consulter l’article de blog consacré à la conversion Machines virtuelles VMware vers VMs Hyper-V pour obtenir des instructions détaillées sur l’extraction, la modification et l’importation d’un descripteur de disque intégré.

Fichier de données de disque virtuel

Dans la capture d’écran ci-dessous, deux fichiers de disque virtuel sont ouverts dans un éditeur HEX. Le même système d’exploitation est installé sur les deux disques, et la première partition a été créée et formatée à l’aide d’un utilitaire de disque intégré à Windows. Sur le côté gauche de la capture d’écran, un fichier -flat.vmdk (format ESXi) est affiché. Dans ce fichier, les données brutes du disque commencent à l’offset 0x00000000.

Sur le côté droit, un fichier VMDK au format VMware poste de travail est affiché. Dans ce cas, les données du disque commencent à l’offset 0x00150000 plutôt qu’au début du fichier, car le descripteur et les métadonnées sont intégrés avant le contenu réel du disque.

Storing data in flat vmdk files and sparse monolithic vmdk files

Avant de procéder à l’ouverture et au montage d’un fichier VMDK, assurez-vous de sauvegarder vos données afin d’éviter tout dommage potentiel au disque.

2 méthodes pour ouvrir des fichiers VMDK en démarrant une machine virtuelle

Commençons par les méthodes permettant d’ouvrir un fichier VMDK en démarrant une machine virtuelle. Ces approches sont simples et largement applicables. Elles nécessitent toutefois qu’un hyperviseur (VMware ESXi, VMware Workstation, VMware Player ou Oracle VirtualBox) soit installé sur le système hôte.

Méthode 1 : Utilisation d’un DVD Live même si le système d’exploitation de la machine virtuelle est hors service

Cette méthode suppose que la machine virtuelle peut encore effectuer l’amorçage à partir d’un support externe. Au lieu d’un DVD physique, vous pouvez monter une image ISO sur le lecteur DVD virtuel de la machine virtuelle et effectuer l’amorçage à partir de celle-ci.

Après avoir démarré le système d’exploitation à partir du DVD Live, vous pouvez monter les partitions du fichier VMDK et copier les données sur une clé USB connectée à la machine virtuelle, sur la machine hôte ou sur un autre système via le réseau. Certaines distributions de DVD Live montent les partitions automatiquement.

Cette approche est similaire à la procédure de récupération de fichiers sur un ordinateur physique lorsque le système d’exploitation installé ne parvient pas à effectuer l’amorçage. Elle peut être utilisée pour extraire des données à partir de fichiers VMDK sur VMware ESXi et VMware Workstation/Player.

Assurez-vous que le système d’exploitation « Live » prend en charge les systèmes de fichiers utilisés au sein du disque virtuel. Par exemple, Windows ne prend pas en charge nativement les systèmes de fichiers Linux tels que EXT3, EXT4 ou ReiserFS. Les distributions « Live » basées sur Linux, en revanche, prennent généralement en charge les systèmes de fichiers Windows tels que NTFS et FAT32, ce qui en fait un choix pratique pour la récupération de données à partir d’une machine virtuelle Windows qui ne démarre pas.

Exemple : ouverture de fichiers VMDK sur ESXi

Considérons le scénario suivant : une machine virtuelle exécutant Windows Server 2016 sur un Hôte ESXi ne parvient pas à démarrer, mais vous devez récupérer les fichiers stockés sur son fichier VMDK. Le disque virtuel contient deux partitions NTFS : une partition pour l’amorçage et le lecteur C: principal. Dans cet exemple, l’ISO d’installation officielle d’Ubuntu 18 est utilisée comme DVD Live pour accéder au disque virtuel et copier les données requises.

Remarque : La même approche s’applique aux versions plus récentes des produits, notamment VMware Workstation 17, ESXi 9.0, Windows Server 2025 et Ubuntu Linux 24.04. Même si certains éléments de l’interface peuvent varier légèrement, le déroulement de la procédure reste le même.

  1. Téléchargez l’image ISO vers le magasin de données accessible à l’hôte VMware ESXi sur lequel s’exécute la machine virtuelle.
  2. Ouvrez VMware vSphere Client, accédez à « Hôtes et clusters », sélectionnez votre machine virtuelle, puis cliquez sur « Modifier les paramètres ».Editing VM settings
  3. Dans la fenêtre des paramètres de la machine virtuelle, accédez aux options du lecteur CD/DVD. Sélectionnez « Fichier ISO du magasin de données » si le fichier ISO requis se trouve sur le magasin de données. Cliquez ensuite sur « Parcourir » et sélectionnez le fichier ISO approprié. Dans ce cas, le nom du fichier est ubuntu-18.04.1-desktop-amd64.iso .Inserting a bootable ISO image into a virtual optical drive
  4. Démarrez la machine virtuelle, démarrez à partir de l’image ISO et sélectionnez « Essayer Ubuntu sans l’installer ». Une fois qu’Ubuntu a démarré à partir du support DVD Live, ouvrez la console (Terminal).
  5. Obtenez les privilèges root :
    sudo -i
  6. Répertoriez les périphériques de disque dur disponibles :
    ls -al /dev/sd*

    Il y a deux partitions : /dev/sda1 et /dev/sda2.

  7. Créez des répertoires qui serviront de points de montage pour chaque partition :
    mkdir /mnt/win-disk1
    mkdir /mnt/win-disk2
  8. Montez les partitions du disque virtuel dans les répertoires appropriés :
    mount /dev/sda1 /mnt/win-disk1/
    mount /dev/sda2 /mnt/win-disk2/
  9. Affichez ensuite la liste des fichiers et répertoires des partitions montées :
    ls -al /mnt/win-disk2/
    ls -al /mnt/win-disk1/

    Accessing files stored inside the VMDK file

    Comme vous pouvez le voir sur la capture d’écran ci-dessus, la partition montée sur /mnt/win-disk2 est celle utilisée comme disque C: sous Windows.

    Vous pouvez connecter un disque dur USB (HDD) à l’hôte ESXi et le relier à la machine virtuelle via le passthrough USB afin de copier les fichiers requis depuis le fichier VMDK monté. Vous pouvez également utiliser un partage SMB (CIFS) et transférer les fichiers via le réseau.

    Dans cet exemple, les données sont copiées vers un partage SMB hébergé à l’adresse 192.168.17.125. Le chemin d’accès au partage est \192.168.17.125share, et l’utilisateur user10 dispose de droits d’écriture.

  10. Montons le partage SMB (CIFS) sous Linux à partir du DVD live. Commencez par créer un répertoire qui servira de point de montage.
    mkdir /mnt/smb-share
  11. Montez ensuite le partage SMB (CIFS) sur ce répertoire :
    mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share
  12. Saisissez le mot de passe de l’utilisateur.
  13. Votre système Linux est désormais connecté au partage SMB, et vous pouvez copier le contenu nécessaire stocké dans le fichier VMDK vers le partage SMB via le réseau.

    Accédons au répertoire dans lequel le partage SMB est monté et copions le fichier bootmgr depuis la partition montée du disque virtuel (le fichier VMDK sur le Magasin de données ESXi) vers le répertoire actuel (partage SMB).

    cd /mnt/smb-share
    cp /mnt/win-disk-2/bootmgr

    Copying files from the mounted VMDK file

  14. Assurez-vous que les fichiers nécessaires ont bien été copiés, puis vérifiez le contenu de votre partage SMB.
    ls -al /mnt/smb-share

Comme Comme le montre la capture d’écran ci-dessus, le fichier bootmgr a été copié avec succès. Cela illustre la première méthode permettant de copier des données à partir d’un fichier VMDK lorsque le système d’exploitation d’une machine virtuelle ne parvient pas à démarrer. La même approche peut être utilisée dans VMware Player et VMware Workstation.

Méthode 2 : monter un fichier VMDK en tant que disque virtuel sur une machine virtuelle en bon état (ESXi/Workstation/Player)

Cette méthode est similaire à la précédente, mais au lieu d’effectuer l’amorçage à partir d’un support externe, vous connectez le fichier VMDK à une machine virtuelle existante dotée d’un système d’exploitation fonctionnel. Le fichier VMDK peut être ajouté en tant que disque virtuel supplémentaire à une machine virtuelle s’exécutant sur VMware ESXi, VMware Workstation ou VMware Player.

Si vous devez ouvrir un fichier VMDK provenant d’une machine virtuelle ESXi dans VMware Workstation ou Player, copiez à la fois le fichier descripteur et le fichier d’extension (vmdk et -flat.vmdk) sur un disque local accessible à l’hôte VMware ESXi sur lequel Workstation ou Player est installé. Si la machine virtuelle source dispose de instantanés, veillez à copier également les fichiers VMDK delta (différentiels) associés, en plus des fichiers du disque parent.

Les exemples suivants illustrent cette approche :

  • Exemple 1 : ouvrez un fichier VMDK d’une machine virtuelle en le connectant à une autre machine virtuelle sur le même hôte VMware ESXi.
  • Exemple 2 : extrayez des données d’un fichier VMDK d’une machine virtuelle ESXi en le connectant à une machine virtuelle s’exécutant sous VMware Workstation.

Assurez-vous que le système d’exploitation de la machine virtuelle en bon état prend en charge les systèmes de fichiers utilisés dans le fichier VMDK connecté. Sinon, les partitions pourraient ne pas être accessibles.

Exemple 1 : Montage d’un disque virtuel sur une machine virtuelle s’exécutant sous ESXi

  1. Mettez hors tension la machine virtuelle dont vous souhaitez accéder au disque virtuel pour en extraire des fichiers.
  2. Localisez le disque virtuel dans le datastore ESXi.
  3. Copiez le disque virtuel dans un autre répertoire du même datastore ou vers un datastore différent afin d’éviter les problèmes liés au verrouillage du disque. Dans cet exemple, nous ouvrons un fichier VMDK nommé Win-test2.vmdk, qui appartient à la machine virtuelle Windows Win-test2. L’hôte ESXi est géré par vCenter. Si vous utilisez un hôte VMware ESXi autonome sans vCenter, la procédure est identique ; seule l’interface utilisateur diffère.
  4. Ouvrez VMware vSphere Client, accédez à Stockage et sélectionnez le magasin de données où se trouve le fichier VMDK requis. Sélectionnez le fichier VMDK et cliquez sur « Copier vers ».

    Remarque : Si vous utilisez un hôte VMware ESXi autonome sans vCenter, ouvrez VMware Host Client en saisissant l’adresse IP de l’hôte VMware ESXi dans un navigateur Web. Accédez ensuite à Stockage > [Datastore Name] > Navigateur de magasins de données, sélectionnez le fichier VMDK et cliquez sur Copier. Choisissez la destination et confirmez l’opération.

    Vous pouvez également copier les fichiers par accès direct à la console ESXi ou par connexion SSH.

    Copying virtual disk and descriptor vmdk files

  5. Dans la fenêtre qui s’ouvre, sélectionnez la destination. Vous pouvez copier le fichier VMDK vers un emplacement situé sur le même magasin de données ou vers un autre magasin de données. Dans cet exemple, le fichier est copié dans le répertoire racine du même Magasin de données. Le fichier descripteur .vmdk et le fichier -flat.vmdk sont tous deux copiés.Selecting destination
  6. Attachez le fichier VMDK à une machine virtuelle en bon état dotée d’un système d’exploitation opérationnel. Dans cet exemple, une machine virtuelle (WinServer2016) exécutant Windows Server 2016 sur le même hôte ESXi est utilisée. Le disque virtuel peut être attaché pendant que la machine virtuelle est en cours d’exécution.

    Dans vSphere Client, accédez à « Hôtes et clusters », sélectionnez la machine virtuelle en bon état, cliquez dessus avec le bouton droit de la souris, puis cliquez sur « Modifier les paramètres ».

    Editing the settings of the healthy VM

  7. Dans la fenêtre qui s’affiche, cliquez sur « Ajouter un nouveau périphérique » et sélectionnez « Disque dur existant ».Adding a virtual disk to the healthy VM in vCenter
  8. Sélectionnez la copie de votre fichier VMDK que vous avez créée précédemment. Dans l’exemple actuel, la copie de Win-test2.vmdk située dans le répertoire racine du magasin de données a été sélectionnée.Attaching a virtual disk to the ESXi VM
  9. Allumez la machine virtuelle en bon état à laquelle le disque virtuel a été attaché, si elle n’est pas déjà en cours d’exécution. Dans cet exemple, le disque virtuel est ajouté alors que la machine virtuelle Windows Server 2016 est en cours d’exécution (ajout à chaud).
  10. Dans le système d’exploitation Windows invité, accédez à Gestion de l’ordinateur > Gestion des disques (ou exécutez diskmgmt.msc dans la ligne de commande) et localisez le disque virtuel attaché. Par défaut, le nouveau disque est hors ligne. Cliquez avec le bouton droit sur le disque et sélectionnez « En ligne ». Une lettre de lecteur devrait être attribuée automatiquement aux partitions ; si ce n’est pas le cas, cliquez avec le bouton droit sur la partition et sélectionnez « Modifier la lettre de lecteur et les chemins d’accès ».A virtual disk is attached and a partition is mounted successfully

Vous disposez désormais d’un accès complet en lecture/écriture aux fichiers et répertoires du fichier VMDK connecté. Ouvrez le disque monté dans l’Explorateur Windows et copiez les données requises.

Vous pouvez également supprimer les fichiers inutiles (par exemple, ceux liés à des logiciels malveillants), mais procédez avec prudence. Si le fichier VMDK comporte des instantanés associés, la modification ou la suppression de données peut affecter la cohérence de ces instantanés.

Browse vmdk file contents in Windows Explorer

Exemple 2 : montage d’un disque virtuel sur une machine virtuelle s’exécutant sous VMware Workstation ou Player

Cet exemple est similaire au précédent, mais une machine virtuelle s’exécutant sous VMware Workstation est utilisée pour ouvrir le fichier VMDK d’une machine virtuelle ESXi. Cette approche s’avère utile lorsque l’espace libre disponible sur le magasin de données ESXi est insuffisant pour créer une copie du disque virtuel.

Dans ce cas, le disque virtuel de la machine virtuelle Win-test2 mentionnée précédemment est monté sur une machine virtuelle VMware Workstation afin d’en extraire les données.

  1. Dans VMware vSphere Client, accédez à Stockage > [Datastore name] > Fichiers, sélectionnez votre fichier VMDK, puis cliquez sur Télécharger.

    Comme indiqué précédemment, un disque virtuel ESXi se compose d’un fichier descripteur (.vmdk) et d’un fichier d’extension (-flat.vmdk). Vous devez télécharger ces deux fichiers sur la machine sur laquelle VMware Workstation ou VMware Player est installé. Lorsque vous téléchargez un disque virtuel à partir d’un magasin de données ESXi à l’aide du vSphere Client HTML5, ces fichiers sont automatiquement regroupés dans une seule archive ZIP.

    Vous pouvez également activer l’accès SSH sur l’hôte ESXi, accéder au répertoire du magasin de données et copier manuellement les deux fichiers de disque sur votre ordinateur à l’aide d’un client SCP tel que WinSCP.

    Remarque : Lors du téléchargement d’un à allocation dynamique disque virtuel à partir d’un magasin de données VMFS, le fichier -flat.vmdk résultant s’étendra jusqu’à sa taille totale provisionnée, à l’instar d’un disque à provisionnement épais. Cela s’explique par le fait que le provisionnement fin est implémenté au Système de fichiers VMFS niveau.

    Downloading vmdk and descriptor files

    Vous pouvez désormais voir les deux fichiers de disque virtuel ESXi téléchargés sous forme d’archive ZIP. La taille du disque à allocation dynamique sur le magasin de données VMFS est d’environ 2 Go (voir la capture d’écran ci-dessus), tandis que celle du même disque téléchargé sur le poste de travail est d’environ 8 Go (voir la capture d’écran ci-dessous).

  2. Extrayez les deux fichiers de l’archive. Par défaut, ils sont décompressés dans un répertoire nommé Win-test2.vmdk, qui correspond au nom de l’archive sans l’extension de fichier.The downloaded zip archive
  3. Pour cette étape, vous avez besoin d’une machine virtuelle en bon état de fonctionnement, dotée d’un système d’exploitation opérationnel, sur une machine sur laquelle VMware Workstation ou VMware Player est installé. Dans l’exemple précédent, une machine virtuelle exécutant Windows Server 2016 a été utilisée ; dans cet exemple, c’est une machine virtuelle exécutant Windows Server 2008 qui est utilisée. La procédure est la même pour les versions plus récentes de Windows.

    Ouvrez VMware Workstation ou VMware Player, sélectionnez votre machine virtuelle en bon état de fonctionnement et modifiez ses paramètres.

    Editing VM settings in VMware Workstation

  4. Dans l’onglet Matériel, cliquez sur le bouton Ajouter.Adding a virtual disk
  5. Dans l’assistant d’ajout de matériel, sélectionnez Disque dur comme type de matériel. Sélectionnez ensuite le type de disque (vous pouvez conserver la valeur recommandée). Sur l’écran Sélectionner un disque, choisissez Utiliser un disque virtuel existant.Add hardware wizard
  6. Sélectionnez le fichier vmdk (et non le fichier –flat.vmdk) que vous avez extrait de l’archive ZIP. Vous pouvez parcourir les fichiers ou saisir manuellement le chemin d’accès au fichier.Selecting the VMDK file

    Dans cet exemple, nous utilisons ESXi 6.5 et VMware Workstation 15. La machine virtuelle VMware Workstation exécutant Windows Server 2008 utilise la version matérielle 12 (version de machine virtuelle 12), tandis que la machine virtuelle ESXi, à laquelle le disque virtuel est en cours de montage, utilise la version de machine virtuelle 7. La procédure est la même pour les versions plus récentes.

  7. Lorsque vous tentez de monter le disque virtuel dans VMware Workstation, le message d’erreur de compatibilité suivant s’affiche :

    Le disque virtuel sélectionné est incompatible avec cette machine virtuelle Workstation 12.x. L’ajout de ce disque rendrait cette machine virtuelle incompatible avec les anciens produits VMware.

    A compatibility error message

    Vous pouvez corriger cette erreur en modifiant le fichier descripteur de disque (le fichier vmdk allégé dans le cas des disques virtuels des VMs ESXi). Ouvrez votre fichier VMDK dans un éditeur de texte et modifiez le nombre figurant dans la chaîne « Ddb.virtualHWVersion ». Dans notre cas, le 13 est remplacé par 12.

    Remarque : N’oubliez pas que pour les VMs VMware Workstation, le descripteur de disque virtuel est intégré au fichier VMDK (contrairement aux disques virtuels ESXi, qui utilisent un fichier de descripteur séparé).

    Editing a virtual disk descriptor file

    Après avoir modifié le fichier, le disque virtuel est ajouté avec succès à la VM existante.

  8. Allumez la machine virtuelle.
  9. Ouvrez la Gestion des disques sous Windows, passez le statut de votre disque virtuel en ligne, attribuez une lettre de lecteur à une partition et parcourissez les fichiers.A vmdk virtual disk has been attached
Essayez NAKIVO Backup & Replication pour VMware vSphere

Essayez NAKIVO Backup & Replication pour VMware vSphere

Commencez votre essai gratuit de 15 jours pour effectuer des sauvegardes incrémentielles de machines virtuelles sans agent, avec des options de récupération complète et granulaire instantanée, une protection contre les ransomwares et bien plus encore.

Comment extraire des données d’un fichier VMDK sans démarrer une machine virtuelle

Les méthodes qui ne nécessitent pas de démarrer une machine virtuelle offrent plusieurs avantages pratiques. Dans certains cas, un hyperviseur n’est même pas nécessaire. Vous pouvez en effet monter un fichier VMDK directement sur le système d’exploitation hôte et accéder rapidement au contenu.

Méthode 1 : Monter des fichiers VMDK dans un système d’exploitation hôte avec VMware Workstation

Cette méthode nécessite l’installation de VMware Workstation sur un hôte Windows ou Linux. VMware Workstation inclut une fonctionnalité qui vous permet de monter des fichiers VMDK directement sur le système d’exploitation hôte. Les disques au format ESXi et les disques delta associés aux instantanés sont pris en charge. Comme pour les méthodes précédentes, le système d’exploitation hôte doit prendre en charge les systèmes de fichiers utilisés dans les partitions du disque virtuel.

Lors de la création d’instantanés, des disques virtuels delta (de différence) sont générés. Pour accéder à l’état d’une machine virtuelle à un instantané spécifique, le disque parent et les disques delta correspondants doivent tous deux être disponibles. Dans ce cas, vous devez monter le disque delta approprié sur le système d’exploitation hôte. Les dépendances vis-à-vis du disque parent sont résolues automatiquement.

Si des instantanés existent mais que vous souhaitez monter directement le disque parent, utilisez le mode lecture seule. La modification d’un disque parent peut corrompre les instantanés ou les clones liés créés à partir de cette machine virtuelle. Le mode lecture seule empêche les opérations d’écriture après que le disque a été monté. Vous ne pouvez monter le fichier VMDK que lorsque la machine virtuelle qui l’utilise est hors tension ou lorsqu’aucune machine virtuelle n’utilise activement le disque.

L’exemple suivant montre comment monter un fichier VMDK à partir d’une machine virtuelle VMware Workstation comportant des instantanés. Dans ce scénario, Windows est installé sur une seule partition NTFS. Après le premier instantané, un fichier nommé Snapshot1.txt a été créé dans le répertoire racine du lecteur C:. Après le deuxième instantané, Snapshot2.txt a été créé. Le premier exemple utilise Linux, et le second utilise Windows. Les fichiers de disque virtuel d’une ancienne machine virtuelle Windows XP sont utilisés, mais le même principe s’applique aux autres versions de Windows.

Exemple 1 : Montage d’un fichier VMDK sur l’hôte Linux

  1. Ouvrez VMware Workstation pour Linux et accédez à Fichier > Monter les disques virtuels.Opening VMware Workstation
  2. Cliquez sur Monter le disque. Dans la fenêtre contextuelle, cliquez sur Parcourir et sélectionnez le fichier VMDK.mount disk pop-up
  3. Sélectionnez le fichier VMDK du deuxième disque delta (de différenciation) créé après le deuxième instantané de la machine virtuelle. Dans ce cas, le nom du fichier suit le format VM_name-000002.vmdk (par exemple, WinXP-test-000002.vmdk).Selecting a vmdk file to mount
  4. Créez un répertoire sur le système de fichiers Linux qui servira de point de montage pour le fichier VMDK. Créons le répertoire /mnt/vmdk/ dans la console Linux.
    mkdir /mnt/vmdk/
  5. Définissez les droits d’accès appropriés pour votre utilisateur (dans cet exemple, le Nom d’utilisateur est user1, qui appartient au groupe group1) :
    chown -R user1:group1 /mnt/vmdk/
    chmod -R 0775 /mnt/vmdk/
  6. Sélectionnez ensuite le répertoire que vous venez de créer comme répertoire cible, cochez la case « Monter en mode lecture seule » et cliquez sur Monter.Ready to mount a VMDK file
  7. Vous pouvez désormais ouvrir le répertoire /mnt/vmdk/ dans votre explorateur de fichiers Linux et parcourir les fichiers stockés sur le fichier VMDK monté. Les fichiers Snapshot1.txt et Snapshot2.txt, créés après les premier et deuxième instantanés de cet exemple, sont visibles. Chaque fichier se trouve sur un disque VMDK delta distinct.Browse vmdk file contents in Linux
  8. N’oubliez pas de démonter le fichier VMDK du répertoire (point de montage) sur l’hôte Linux une fois les opérations terminées.Unmount the vmdk file

Dans cet exemple, le fichier VMDK a été monté et démonté avec succès sous Ubuntu 22.04 à l’aide de VMware Workstation 17.0.

Remarque : Ubuntu 24.04 utilise un noyau Linux plus récent (6.8 ou version ultérieure), ce qui peut affecter la compatibilité avec les modules de noyau propriétaires de VMware. Dans certains cas, vous pouvez rencontrer l’erreur suivante : « VMware-fuseUI ne répond pas. »

Ce problème survient car le montage d’un fichier VMDK sous Linux repose sur un composant VMware qui s’intègre à la couche FUSE (Filesystem in Userspace). Si le module FUSE requis ou le processus d’assistance ne parvient pas à s’initialiser correctement, l’interface de montage peut cesser de répondre.

En cas de problèmes de compatibilité, envisagez d’utiliser une version du noyau prise en charge ou une version antérieure de VMware Workstation. Consultez la documentation officielle de VMware pour connaître les mises à jour relatives à la prise en charge du montage des disques.

Si vous préférez utiliser l’interface console, vous pouvez monter un fichier VMDK à l’aide de cette commande :

vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk

Où :

vm_name est le nom de la machine virtuelle (identique au nom du répertoire de la VM). WinXP-test est le VM-Name dans cet exemple.

vm_disk_name est le nom du disque virtuel (WinXP-test.vmdk dans cet exemple).

vm_disk_name-000001.vmdk est le premier disque delta (de différenciation) créé après le premier instantané de la machine virtuelle (WinXP-test-000001.vmdk).

vm_disk_name-000002.vmdk est le deuxième disque delta créé après la prise du deuxième instantané (WinXP-test-000002.vmdk).

  1. Montez le disque virtuel. Par défaut, le disque virtuel est monté en mode lecture/écriture. Vous pouvez utiliser l’option -r dans la ligne de commande pour monter le disque en mode lecture seule.
    vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk
  2. Répertorier tous les fichiers VMDK montés :
    vmware-mount -L
  3. Avant de terminer votre travail avec les fichiers VMDK montés, démontez tous les disques virtuels :
    vmware-mount -x

Exemple 2 : Comment monter un fichier VMDK sur un hôte Windows

La procédure de montage d’un fichier VMDK sous Windows est similaire. Dans VMware Workstation, vous pouvez utiliser Fichier > « Mapper les disques virtuels » dans l’interface utilisateur graphique (GUI). Vous pouvez également cliquer avec le bouton droit sur le fichier VMDK dans l’Explorateur Windows et sélectionner « Mapper le disque virtuel » dans le menu contextuel.

Dans cet exemple, le fichier VMDK du premier disque delta (de différenciation) créé après le premier instantané est monté. Ces fichiers suivent le schéma de nommage VM_name-000001.vmdk ( WinXP-test-000001.vmdk dans cet exemple).

Remarque : La fonctionnalité permettant de monter des disques virtuels en tant que lecteur de disque sous Windows a été enlevée dans VMware Workstation 17.0 pour les systèmes d’exploitation Windows. La dernière version de VMware Workstation pour Windows prenant en charge cette fonctionnalité est la 16.1.2. Cette fonctionnalité est disponible dans la dernière version de VMware Workstation pour Linux (17.5 et versions ultérieures).

  1. Cliquez avec le bouton droit sur le fichier VMDK dans l’Explorateur Windows, puis cliquez sur « Map Virtual Disk » (Mapper le disque virtuel).map a vmdk file in Windows with VMware Workstation
  2. Sélectionnez les paramètres appropriés pour monter le fichier VMDK. Il est recommandé d’ouvrir le disque en mode lecture seule afin d’éviter tout risque d’endommagement des disques virtuels de la chaîne d’instantanés.

    Par défaut, la lettre de lecteur est définie sur Z:, et le disque peut s’ouvrir automatiquement dans l’Explorateur Windows après le mappage si la case correspondante est cochée. Cliquez sur OK pour continuer.

    open vmdk by mapping a virtual disk

  3. Le disque virtuel est désormais monté en tant que disque Z: sous Windows et vous pouvez en consulter le contenu. Sur la capture d’écran ci-dessous, vous pouvez voir le fichier Snapshot1.txt créé après la prise du premier instantané. Le fichier Snapshot2.txt n’est pas présent car il a été créé après le deuxième instantané, et le disque delta monté correspond au premier instantané.Browse vmdk file contents on mapped Windows disk
  4. Lorsque vous avez terminé de travailler avec le fichier VMDK mappé, n’oubliez pas de déconnecter le disque. Cliquez avec le bouton droit sur le fichier VMDK concerné et sélectionnez « Déconnecter le disque virtuel ». Après avoir déconnecté le disque virtuel, vous pouvez démarrer la machine virtuelle qui l’utilise.Disconnecting the virtual disk

Méthode 2 : Utilisation de 7-Zip pour extraire le contenu des fichiers VMDK

Si vous devez ouvrir un fichier VMDK sans lancer de machine virtuelle, vous pouvez utiliser 7-Zip pour extraire les données de l’image de disque virtuel. 7-Zip est un logiciel d’archivage gratuit capable d’ouvrir et d’extraire le contenu de divers formats d’archives et d’images disque. Il peut être utilisé aussi bien sur les systèmes Windows que Linux.

7-Zip peut ouvrir les fichiers .vmdk et -flat.vmdk (y compris un fichier autonome -flat.vmdk si le fichier descripteur est manquant), ce qui s’applique généralement aux disques au format ESXi. Cependant, 7-Zip ne prend pas en charge l’ouverture des fichiers VMDK delta (différentiels) créés après des instantanés de machines virtuelles.

Comment ouvrir des fichiers VMDK avec 7-Zip sous Linux

  1. Installez la version complète de 7-Zip sur votre machine Linux. Ubuntu est utilisé dans cet exemple.
    apt-get install p7zip-full
  2. Affichez le contenu du fichier VMDK avec 7-Zip
    7z l vm_name.vmdk
  3. Recherchez les fichiers qui contiennent « amorçage » dans leur nom.
    7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]

    user1 est le nom de cet utilisateur Linux, l – liste.

    Using 7-Zip as a vmdk extractor in Linux

  4. Extrayons (e) le fichier boot.ini de l’image VMDK :
    7z e /media/user1/vms/WinXP-test/WinXP-test.vmdk boot.ini

Vous pouvez extraire d’autres fichiers et répertoires du fichier VMDK de la même manière.

Comment ouvrir des fichiers VMDK avec 7-Zip sous Windows

  1. Téléchargez la version compatible de 7-Zip depuis le site site web officiel et installez l’application sur votre ordinateur Windows. Utilisez le programme d’installation EXE pour plus de commodité.Opening a vmdk file with 7-Zip in Windows
  2. Dans la capture d’écran ci-dessous, le contenu du fichier autonome Win-test2-flat.vmdk s’affiche dans l’interface graphique de 7-Zip. Vous pouvez extraire le contenu du fichier VMDK dont vous avez besoin.Browse vmdk file contents in 7-Zip

Vous pouvez également regarder cette vidéo pour apprendre à ouvrir des fichiers VMDK dans VMware et à extraire les données VMDK :

Comment monter des fichiers VMDK sous Linux (autres méthodes)

Linux fournit de puissants outils en ligne de commande qui vous permettent d’effectuer des opérations avancées sur les disques directement depuis la console. Ces utilitaires intégrés peuvent être utilisés pour monter des fichiers VMDK et accéder aux données stockées sur des disques virtuels. Les exemples ci-dessous utilisent Ubuntu Linux.

Méthode 1 : Comment monter des fichiers VMDK par l’intermédiaire de /dev/loop

Les périphériques en boucle sont des pseudo-périphériques sous Linux qui permettent d’accéder aux fichiers en tant que périphériques bloc. Ils sont couramment utilisés pour monter des images disque qui contiennent des systèmes de fichiers. Les périphériques en boucle sont nommés /dev/loopX, où X représente le numéro de l’appliance. Cette méthode convient au montage de fichiers -flat.vmdk , même lorsque le fichier descripteur est manquant.

L’exemple suivant montre comment monter un fichier VMDK sous Linux pour accéder au contenu. Dans ce cas, un disque virtuel au format ESXi comportant une seule partition est utilisé, et le fichier descripteur n’est pas disponible. À l’origine, le disque contenait une installation de Windows XP.

  1. Utilisez l’une des deux commandes ci-dessous pour vérifier le nombre de périphériques « loop » existants sur votre système Linux.
    fdisk -l | grep /dev/loop
    df -h | grep /dev/loop
  2. Dans ce cas, les périphériques numérotés de 1 à 21 existent déjà (/dev/loop1/dev/loop21). Créez le périphérique « loop » numéro 30, car il est libre. Ce périphérique peut être associé au fichier –flat.vmdk
    losetup /dev/loop30 /vms/Win-test2-flat.vmdk
  3. Définissez le décalage :
    losetup -o 32256 /dev/loop31 /dev/loop30

    Ici, 32256 correspond au décalage calculé comme suit : 63 × 512 pour les disques formatés sous Windows XP, Windows Server 2003 et les versions antérieures. Dans ce cas, 63 correspond au secteur de départ de la partition, et 512 octets à la taille du secteur. Pour Windows 7, Windows Server 2008 et les versions plus récentes, utilisez un décalage de 105906176.

    Vous pouvez récupérer des informations sur la taille de secteur et le premier secteur utilisé pour l’amorçage à l’aide de la commande suivante :

    fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk

    mount vmdk files in Linux without having a hypervisor installed

    Sinon, pour les disques virtuels contenant plusieurs partitions, vous pouvez utiliser parted pour déterminer le début et la fin de chaque partition :

    parted /dev/loop30

    Dans la console parted, entrez les commandes suivantes :

    unit
    B
    print

    Checking VMDK file information

  4. Créez le répertoire qui servira de point de montage pour l’image VMDK :
    mkdir /mnt/vmdk-image
  5. Montez le périphérique de boucle associé à l’image VMDK :
    mount /dev/loop31 /mnt/vmdk-image
  6. Affichez le contenu de l’image montée :
    ls -al /mnt/vmdk-image
  7. Une fois cette opération terminée, démontez l’image VMDK et déconnectez le périphérique de boucle :
    umount /mnt/vmdk-image
    losetup -d /dev/loop31

    Using a loopback pseudo-device to mount a vmdk file

Méthode 2 : Comment monter des fichiers VMDK avec kpartx

Kpartx est un outil permettant de monter des partitions contenues dans des fichiers image dans les répertoires d’un véritable système de fichiers Linux. Cet outil peut être utilisé pour configurer des mappages de périphériques pour les partitions de périphériques blocs. Cette méthode permet également de monter –flat.vmdk des images utilisées sur des serveurs ESXi.

  1. Installez kpartx :
    apt-get install kpartx
  2. Ajoutez le mappage de partition pour l’image VMDK en mode d’exploitation détaillé :
    kpartx -av /vms/Win-test2-flat.vmdk
  3. Montez la partition dans le /mnt/vmdk-image répertoire :
    mount /dev/mapper/loop30p1 /mnt/vmdk-image/

    Où loop30 est le numéro du périphérique loop et p1 est le numéro de la partition à l’intérieur de l’image (la première partition de l’image disque).

  4. Affichez le contenu de la partition du disque virtuel :
    ls -al /mnt/vmdk-image/

    Using kpartx to mount vmdk images in Linux

  5. Une fois cela fait, démontez l’image de disque virtuel VMDK.
    umount /mnt/vmdk-image
    kpartx -d /vms/Win-test2-flat.vmdk

Méthode 3 : Utilisation du périphérique de bloc réseau (NBD) de QEMU

Cette méthode utilise l’utilitaire QEMU pour exposer le fichier VMDK en tant que périphérique de bloc standard /dev/nbdN, que le noyau Linux peut ensuite monter de manière native. Il n’est pas nécessaire d’installer VMware Workstation pour utiliser cette méthode. Les droits d’administrateur sont requis.

  1. Arrêtez la machine virtuelle pour éviter toute corruption du disque virtuel.
  2. Installez le paquet d’utilitaires QEMU, qui comprend qemu-nbd.
    sudo apt install qemu-utils
  3. Chargez le module du noyau Network Block Device :
    sudo modprobe nbd
  4. Mappez le fichier VMDK au périphérique de bloc réseau, par exemple : /dev/nbd0. Utilisez l’option -r pour le mode lecture seule.
    sudo qemu-nbd -r -c /dev/nbd0 /path/to/your/disk.vmdk

    Dans cet exemple, la commande est :

    sudo qemu-nbd -r -c /dev/nbd0 /media/user1/data/vms/WinXP-test/WinXP-test.vmdk
  5. Identifiez les partitions du disque virtuel monté :
    sudo fdisk -l /dev/nbd0

    Dans la sortie, vous devriez voir des partitions telles que /dev/nbd0p1, /dev/nbd0p2, etc.

  6. Créez un point de montage :
    sudo mkdir -p /mnt/vmdk

    Définissez les droits d’accès pour un utilisateur spécifique si nécessaire.

  7. Montez la partition. Dans cet exemple, la partition 1 contient le contenu :
    sudo mount /dev/nbd0p1 /mnt/vmdk

    mount VMDK in Linux using qemu-utils

  8. Vous pouvez désormais accéder au contenu de votre fichier VMDK à l’adresse /mnt/vmdk/.
  9. Une fois l’opération terminée, démontez le volume et déconnectez l’appliance NBD :
    sudo umount /mnt/vmdk
    sudo qemu-nbd -d /dev/nbd0

Méthode 4 : Utilisation de guestmount pour monter des fichiers VMDK

guestmount est un outil fiable pour accéder au contenu d’un fichier VMDK sous Linux, car il gère intelligemment la structure du disque, y compris les partitions et les volumes logiques. Il ne nécessite pas les calculs manuels de décalage requis par les anciens outils, tels que /dev/loop. Vous devez disposer des droits root pour utiliser cette méthode.

  1. Installez libguestfs-tools. Ce paquet contient l’utilitaire guestmount.
    sudo apt install libguestfs-tools
  2. Arrêtez la machine virtuelle dont vous souhaitez monter le disque virtuel.
  3. Créez un répertoire sur votre hôte Linux à partir duquel vous accéderez au contenu du disque :
    mkdir /mnt/vmdk

    Remarque : Si vous souhaitez accéder au contenu des fichiers VMDK en tant qu’utilisateur standard, et non en tant que root, vous pouvez effectuer des configurations supplémentaires.

    • Modifiez le fichier de configuration FUSE. Ouvrez le fichier /etc/fuse.conf à l’aide d’un éditeur de texte disposant des privilèges root :sudo nano /etc/fuse.conf
    • Décommentez la ligne #user_allow_other pour l’activer dans le fichier de configuration. Il suffit de supprimer le caractère # au début de la ligne.
    • Enregistrez les modifications et fermez le fichier (quittez l’éditeur de texte).
    • Si vous le souhaitez, vous pouvez ajouter votre utilisateur standard au groupe fuse :sudo usermod -aG fuse $USER
  4. Inspectez le fichier VMDK. Avant le montage, il est utile de visualiser les partitions contenues dans le fichier VMDK. Utilisez l’utilitaire virt-filesystems :
    virt-filesystems -a /path/to/your/disk.vmdk

    Dans ce cas précis :

    virt-filesystems -a /media/user1/data/vms/WinXP-test/WinXP-test.vmdk

    Dans la sortie, vous devriez voir les partitions (/dev/sda1, /dev/sda2, etc.) ainsi que leurs systèmes de fichiers.

  5. Montez le fichier VMDK à l’aide de guestmount. Vous disposez de deux méthodes principales pour utiliser guestmount : l’inspection automatisée ou le montage manuel des partitions. Utilisons le montage manuel des partitions (pour des partitions spécifiques)

    Si vous n’avez besoin que d’une seule partition, vous pouvez la spécifier directement :

    sudo guestmount -a /path/to/your/disk.vmdk -m /dev/sdaN --ro /mount_point/

    Dans notre exemple, la commande exacte est :

    sudo guestmount -a /media/user1/data/vms/WinXP-test/WinXP-test.vmdk -m /dev/sda1 --ro /mnt/vmdk/

    Si vous souhaitez accéder au contenu du fichier VMDK monté en tant qu’utilisateur standard et accéder aux fichiers via l’interface graphique de Linux, utilisez la commande :

    sudo guestmount -a /media/user1/data/vms/WinXP-test/WinXP-test.vmdk -m /dev/sda1 --ro -o allow_other /mnt/vmdk/
  6. Vous pouvez désormais afficher, parcourir et copier des fichiers depuis le VMDK comme s’il s’agissait d’un répertoire local dans la console Linux :
    ls -al /mnt/vmdk
  7. Démontez le disque virtuel une fois l’opération terminée :
    sudo guestunmount /mnt/vmdk/

Vous pouvez utiliser la méthode alternative FUSE :

sudo fusermount -u /mnt/vmdk/

Conclusion

Il est essentiel de comprendre comment ouvrir et extraire des données d’un fichier VMDK lorsqu’une machine virtuelle tombe en panne ou devient inaccessible. Connaître plusieurs méthodes d’accès au contenu d’un fichier VMDK offre une certaine flexibilité, car chaque approche peut être mieux adaptée à des situations spécifiques. Parallèlement, il est tout aussi important de conserver des sauvegardes fiables de vos VMs afin de garantir la disponibilité des données et de simplifier la récupération.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

Les gens qui ont consulté cet article ont également lu