Comprendre comment ouvrir les fichiers VMDK et extraire leur contenu est utile lorsque vous rencontrez un problème avec une machine virtuelle. Vous pouvez constater que les VM ne peuvent pas être démarrées après des problèmes avec l’installation d’applications, des mises à jour du système d’exploitation, des attaques de logiciels malveillants, des suppressions accidentelles de données, etc. Lorsque cela se produit, vous perdez l’accès au disque virtuel de la VM.
Heureusement, vous pouvez ouvrir les fichiers VMDK avec WinZip, Linux Reader ou VMware Workstation Player. Continuez à lire pour découvrir les méthodes de récupération du contenu des fichiers de disque virtuel VMDK. Notez que ces méthodes s’appliquent uniquement si le disque virtuel n’est pas crypté ou corrompu.
Qu’est-ce qu’un fichier VMDK?
Un fichier VMDK est un format de fichier de disque de machine virtuelle, qui est le format ouvert développé par VMware. Ce format de disque virtuel a l’extension .vmdk pour les fichiers et est utilisé par les machines virtuelles VMware et VirtualBox. Cependant, les machines virtuelles résidant sur des serveurs ESXi utilisent un format légèrement différent de disques virtuels vmdk. Sur le datastore ESXi, le descripteur de disque virtuel et l’étendue de disque virtuel contenant les données brutes du disque virtuel sont deux fichiers distincts.
Le modèle du nom du descripteur de disque virtuel est diskname.vmdk et le modèle du nom de l’étendue du disque virtuel qui contient toutes les données brutes est diskname-flat.vmdk. Quant aux disques virtuels au format VMware Workstation, ils sont représentés comme un seul fichier diskname.vmdk (monolithique épars), qui est un fichier de données d’étendue contenant un descripteur de disque virtuel incorporé. Un descripteur de disque virtuel définit la structure du disque virtuel, la géométrie du disque virtuel, la version du matériel virtuel et les identifiants.
Fichier de descripteur de disque virtuel
A virtual disk descriptor is represented as plain text. On the left side of the screenshot below, you can see a virtual disk descriptor of the ESXi format (a vmdk file that can be opened with any text editor). On the right side of the screenshot, you can see the data of the virtual disk descriptor that is embedded into a single vmdk file of the VMware Workstation format. The vmdk file can be opened in a HEX editor.
Comme vous pouvez le voir, les données de descripteur de disque incorporées sont écrites dans le fichier vmdk monolithique au format Workstation à partir de l’adresse 0x200, qui est le numéro du premier octet. Si vous transformez la valeur HEX 200 en format binaire et décimal, vous obtiendrez:
200 HEX = 1000000000 Binaire = 512 Décimal
Cela signifie que si vous souhaitez extraire le descripteur incorporé du fichier vmdk, vous devez extraire une partie des données à partir du 512e octet. Vous pouvez trouver plus d’informations sur les fichiers de descripteur de disque virtuel VMware et apprendre comment extraire, modifier et importer un descripteur de disque virtuel incorporé dans l’article de blog sur la conversion des VM VMware en VM Hyper-V.
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 virtuels (la première partition utilisée pour l’installation du système d’exploitation a été créée et formatée avec un utilitaire de disque Windows intégré). Sur le côté gauche de la capture d’écran, un fichier –flat.vmdk est affiché (format ESXi). Les données brutes sont écrites à partir de 0x00000000 sur ce disque virtuel –flat.vmdk. Sur le côté droit de la capture d’écran, le disque virtuel au format Workstation est affiché, et les mêmes données sont écrites à partir de 0x00150000 (numéro de byte 5376), qui n’est pas le début du fichier vmdk.
Maintenant, après vous être familiarisé avec la théorie, il est temps pour la partie pratique. Avant de continuer, il est recommandé de sauvegarder vos données pour éviter tout dommage éventuel au disque virtuel. Effectuez des opérations avec vos disques sous votre responsabilité et à vos risques.
2 Méthodes pour Ouvrir les Fichiers VMDK en Mettant sous Tension un VM
Pour ouvrir les fichiers VMDK en mettant sous tension des VM existantes, vous avez besoin d’un hyperviseur tel que VMware ESXi, VMware Workstation, VMware Player, ou Oracle VirtualBox installé sur votre ordinateur physique. Vous pouvez opter pour la méthode héritée en utilisant un DVD en direct ou en montant le fichier VMDK comme disque virtuel.
Méthode 1 : Utiliser un DVD en direct même si le système d’exploitation sur le VM est hors service
L’idée derrière cette méthode est que vous disposez d’une machine virtuelle (VM) et pouvez démarrer à partir d’un disque DVD. L’image disque ISO peut être utilisée comme le disque DVD inséré dans le lecteur DVD virtuel de la VM. Après le démarrage du système d’exploitation à partir d’un support DVD, vous pouvez monter les partitions de votre disque virtuel et copier des fichiers du disque virtuel vers un disque dur USB attaché à la VM ou à votre machine hôte, ou vers toute autre machine via le réseau. Certaines distributions Live DVD montent automatiquement les disques (partitions).
Il s’agit d’une méthode héritée car le principe est similaire à la copie de fichiers à partir de disques physiques d’ordinateurs physiques lorsque le système d’exploitation installé ne peut pas démarrer. Cette méthode peut être utilisée pour extraire des données des disques VMDK des VM exécutées sur VMware ESXi et VMware Player/Workstation.
Sachez que le système d’exploitation démarré à partir d’un Live DVD doit reconnaître les systèmes de fichiers des partitions de votre disque virtuel dont vous souhaitez accéder aux fichiers. Par exemple, Windows ne peut pas travailler avec les systèmes de fichiers Linux tels que EXT3, EXT4, ReiserFS, etc., par défaut. L’utilisation d’outils supplémentaires sur Windows peut aider à résoudre ce problème. En revanche, les distributions Linux modernes reconnaissent les systèmes de fichiers Windows tels que NTFS et FAT32, et c’est pourquoi vous pouvez utiliser des disques Live DVD basés sur Linux pour copier des fichiers stockés sur des disques virtuels utilisés par votre VM Windows qui ne peut pas démarrer.
Exemple : Ouverture de fichiers VMDK sur ESXi
Considérons un exemple pour appliquer cette méthode : vous avez une VM avec Windows Server 2016 sur un hôte ESXi, et le système d’exploitation sur la VM ne peut pas démarrer, mais vous avez besoin d’obtenir les fichiers enregistrés sur le disque virtuel VMDK. Il y a deux partitions NTFS sur le disque virtuel : la partition système de démarrage et le disque C. L’image ISO d’installation officielle d’Ubuntu 18 est utilisée dans cet exemple. Le support d’installation d’Ubuntu peut être utilisé comme un DVD en direct.
REMARQUE : Le flux de travail pour les versions plus récentes des produits considérés dans cet article de blog est le même. Vous pouvez utiliser VMware Workstation 17, ESXi 8.0, Windows Server 2019, Ubuntu Linux 22.04, etc., et utiliser le principe de fonctionnement expliqué dans cet article.
- Téléchargez l’image ISO dans le datastore accessible pour l’hôte ESXi sur lequel la VM réside.
- Ouvrez VMware vSphere Client, allez dans Hôtes et Clusters, sélectionnez votre VM et cliquez sur Modifier les paramètres.
- Dans la fenêtre des paramètres de la machine virtuelle, allez dans les options de lecteur CD/DVD. Sélectionnez l’option Fichier ISO du datastore si vous avez le fichier ISO nécessaire sur le datastore accessible par l’hôte ESXi. Ensuite, pour l’option Support CD/DVD, cliquez sur Parcourir et sélectionnez le fichier ISO approprié sur le datastore. Le nom du fichier est ubuntu-18.04.1-desktop-amd64.iso dans ce cas.
- Démarrez la machine virtuelle, démarrez à partir de l’image ISO, et sélectionnez Essayez Ubuntu sans l’installer. Une fois qu’Ubuntu a démarré à partir du média DVD en direct, ouvrez la console (Terminal).
- Obtenez les privilèges root :
sudo -i
- Listez les périphériques de disque dur disponibles :
ls -al /dev/sd*
Il y a deux partitions – /dev/sda1 et /dev/sda2
- Créez des répertoires à utiliser comme points de montage pour chaque partition :
mkdir /mnt/win-disk1
mkdir /mnt/win-disk2
- Montez les partitions du disque virtuel dans les répertoires appropriés :
mount /dev/sda1 /mnt/win-disk1/
mount /dev/sda2 /mnt/win-disk2/
- Ensuite, listez les fichiers et répertoires des partitions montées :
ls -al /mnt/win-disk2/
ls -al /mnt/win-disk1/
Comme vous pouvez le voir sur la capture d’écran ci-dessus, la partition montée sur /mnt/win-disk2 est la partition utilisée comme disque C: dans Windows.
- Vous pouvez maintenant attacher un disque dur externe USB (HDD) au port USB de votre hôte ESXi et connecter ce disque dur à la machine virtuelle avec la fonction de transfert USB. De cette manière, vous pouvez copier les fichiers nécessaires stockés sur le fichier VMDK utilisé comme disque virtuel par la machine virtuelle. Une autre méthode consiste à utiliser un partage SMB (CIFS) et à copier le contenu du disque virtuel (c’est-à-dire le fichier VMDK) vers un autre emplacement via le réseau.
Dans cet exemple, nous expliquons comment copier des données vers un partage SMB. Le partage SMB a été créé sur l’hôte dont l’adresse IP est 192.168.17.125, le nom du partage est \\192.168.17.125\share, et user10 a les autorisations d’écriture pour ce partage. N’oubliez pas que Linux, contrairement à Windows, utilise le slash droit lors de la connexion au partage.
Montons le partage SMB (CIFS) sur Linux chargé depuis le DVD live. Tout d’abord, créez un répertoire à utiliser comme point de montage.
mkdir /mnt/smb-share
- Ensuite, montez le partage SMB (CIFS) dans ce répertoire :
mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share
- Entrez le mot de passe de l’utilisateur.
- Maintenant, votre système Linux est connecté au partage SMB et vous pouvez copier le contenu stocké à l’intérieur du fichier VMDK vers le partage SMB sur le réseau.
Allons dans le répertoire vers lequel le partage SMB est monté et copiez le fichier bootmgr à partir de la partition montée du disque virtuel (le fichier VMDK sur le datastore ESXi) vers le répertoire actuel (partage SMB).
cd /mnt/smb-share
cp /mnt/win-disk-2/bootmgr
-
ls -al /mnt/smb-share
Comme vous pouvez le voir sur la capture d’écran ci-dessus, le fichier bootmgr utilisé dans cet exemple a été copié avec succès. Maintenant, vous connaissez le premier méthode pour copier le contenu du fichier VMDK vers un autre emplacement lorsque un système d’exploitation installé sur une machine virtuelle ne peut pas démarrer. La logique d’utilisation de cette méthode sur VMware Player ou VMware Workstation est la même.
Méthode 2: Monter un fichier VMDK comme disque virtuel sur une machine virtuelle en bonne santé (ESXi/Workstation/Player)
Cette méthode est similaire à la précédente, mais dans ce cas, le disque virtuel VMDK doit être attaché à une machine virtuelle existante qui a un système d’exploitation fonctionnel. Vous pouvez attacher un fichier VMDK comme disque virtuel supplémentaire à une machine virtuelle existante exécutée sur un hôte ESXi, VMware Workstation et VMware Player.
Si vous souhaitez ouvrir un fichier VMDK de la machine virtuelle ESXi sur VMware Workstation ou Player, vous devez copier à la fois le disque virtuel et son descripteur (fichiers vmdk et –flat.vmdk) sur un disque physique accessible à votre ordinateur où VMware Workstation ou Player est installé. Si des instantanés ont été pris pour la VM, et que des modifications ont été apportées aux disques VM après cela, n’oubliez pas de copier les fichiers VMDK des disques virtuels delta (différentiels) en plus des fichiers VMDK parentaux.
Considérons deux exemples :
Exemple 1 : comment ouvrir un disque virtuel VMDK d’une VM en utilisant une autre VM sur un hôte ESXi (tous deux sont enregistrés sur un hôte ESXi)
Exemple 2 : comment extraire le contenu d’un disque virtuel VMDK d’une VM ESXi en attachant le disque virtuel à une VM au format VMware Workstation
Gardez à l’esprit que le système d’exploitation fonctionnel sur la première VM (saine) doit être compatible avec les systèmes de fichiers utilisés sur le disque virtuel de la deuxième VM qui possède un système d’exploitation non démarrable (une VM dont vous souhaitez attacher le fichier VMDK en tant que disque virtuel supplémentaire pour extraire des fichiers).
Exemple 1 : Montage d’un disque virtuel sur une VM exécutée sur ESXi
- Éteignez la VM qui utilise un disque virtuel à partir duquel vous souhaitez extraire des fichiers.
- Trouvez ce disque virtuel dans le datastore ESXi.
- Copiez le disque virtuel dans un autre répertoire sur le même datastore ou un autre datastore pour éviter une erreur causée par le verrouillage du disque virtuel. Dans notre exemple, nous montrerons comment ouvrir un fichier VMDK nommé Win-test2.vmdk (il s’agit d’un disque virtuel de la machine virtuelle Windows Win-test2 dans notre cas). L’hôte ESXi est géré par vCenter. Si vous utilisez un hôte ESXi autonome sans vCenter, vous pouvez utiliser la logique expliquée dans cet exemple – les différences ne sont que dans l’interface utilisateur.
- Ouvrez VMware vSphere Client, allez à Stockage, et sélectionnez le datastore sur lequel se trouve le fichier VMDK nécessaire. Sélectionnez le fichier VMDK et cliquez sur Copier vers.
REMARQUE: Si vous avez un hôte ESXi autonome et que vous n’avez pas vCenter, ouvrez VMware Host Client en entrant l’adresse IP de votre hôte ESXi dans le navigateur Web, puis allez à Stockage > [Nom de votre datastore] > Explorateur de datastore, sélectionnez votre fichier VMDK et cliquez sur Copier. Sélectionnez la destination et cliquez sur le bouton Copier pour confirmer. Rappelez-vous que les disques virtuels sont affichés sous forme de fichiers VMDK dans l’interface Web de VMware vSphere Client et de VMware Host Client, mais un disque virtuel se compose des fichiers –flat.vmdk et vmdk (un disque virtuel et son descripteur). Vous pouvez également ouvrir la console ESXi directement sur le serveur ou vous connecter via SSH pour copier les fichiers.
- Dans la fenêtre ouverte, sélectionnez la destination. Vous pouvez copier le fichier VMDK vers un emplacement sur le même datastore ou vers un autre datastore. Copions le fichier VMDK dans le répertoire racine du même datastore pour cette démonstration. Les fichiers vmdk et –flat.vmdk sont tous deux copiés dans ce cas.
- Attachez maintenant le disque virtuel VMDK à une autre VM saine dont le système d’exploitation fonctionne correctement. Dans cet exemple, une VM exécutant Windows Server 2016 sur le même hôte ESXi est utilisée (le nom de la VM est WinServer2016). Un disque virtuel peut être attaché à cette VM saine pendant que la VM est en cours d’exécution. Dans vSphere Client, accédez à Hôtes et clusters, sélectionnez la VM saine, cliquez avec le bouton droit sur la VM, puis cliquez sur Modifier les paramètres.
- Dans la fenêtre qui s’affiche, cliquez sur Ajouter un nouveau périphérique et sélectionnez Disque dur existant.
- Sélectionnez la copie de votre fichier VMDK que vous avez précédemment réalisée. Dans l’exemple actuel, la copie de Win-test2.vmdk située dans le répertoire racine du datastore a été sélectionnée.
- Allumez la VM saine à laquelle vous avez attaché le disque virtuel qui vous intéresse, si la VM n’a pas encore été démarrée. Un disque virtuel est ajouté à la volée pour une VM Windows Server 2016 en cours d’exécution.
- Dans le système d’exploitation invité Windows, accédez à Gestion de l’ordinateur > Gestion des disques (ou exécutez diskmgmt.msc dans la ligne de commande) et trouvez votre disque virtuel attaché. Par défaut, le nouveau disque attaché est hors ligne. Cliquez avec le bouton droit sur le disque et sélectionnez En ligne. Une lettre de disque devrait être automatiquement attribuée aux partitions sur le disque ajouté. Si aucune lettre de disque n’a été attribuée pour une partition, cliquez avec le bouton droit sur la partition et cliquez sur Modifier la lettre de lecteur et les chemins.
- Maintenant, vous avez un accès complet (lecture/écriture) aux fichiers et répertoires du disque virtuel VMDK. Ouvrez simplement le disque monté dans l’Explorateur Windows et copiez le contenu nécessaire du fichier VMDK monté vers la VM saine. Vous pouvez également supprimer les données inutiles du disque virtuel VMDK attaché (par exemple, s’il y a des fichiers créés par des virus), mais soyez prudent et ne portez pas atteinte à un disque virtuel s’il existe des instantanés associés pour le disque VMDK monté.
Exemple 2 : Monter un disque virtuel sur une VM en cours d’exécution sur VMware Player ou Workstation
Cet exemple est similaire au précédent, mais une machine virtuelle exécutée sur VMware Workstation est utilisée pour ouvrir les fichiers VMDK de la machine virtuelle ESXi. Cette méthode peut être utilisée lorsqu’il n’y a pas d’espace disque libre sur le datastore ESXi pour copier un disque virtuel, par exemple. Un disque virtuel de la machine virtuelle Win-test2 mentionnée dans l’exemple précédent sera monté sur une machine virtuelle VMware Workstation pour en extraire le contenu.
- Dans VMware vSphere Client, allez à Stockage → [Nom de votre datastore] → Fichiers, sélectionnez votre fichier VMDK et appuyez sur Télécharger.
Comme vous vous en souvenez, un disque virtuel au format ESXi se compose de fichiers vmdk et flat.vmdk. Vous devez télécharger ces deux fichiers sur votre machine où VMware Workstation ou VMware Player est installé. Lorsque vous téléchargez un disque virtuel depuis le datastore ESXi avec VMware HTML5 vSphere Client, ces deux fichiers sont emballés dans une archive zip.
En alternative, vous pouvez activer l’accès SSH à votre hôte ESXi, accéder au répertoire du datastore et copier les deux fichiers de disque virtuel sur votre ordinateur manuellement en utilisant un client SCP, par exemple, WinSCP.
REMARQUE: Lorsque vous téléchargez un disque virtuel à provisionnement mince depuis un datastore ESXi qui a le système de fichiers VMFS sur votre ordinateur, vous obtiendrez un fichier vmdk léger et un fichier flat.vmdk dont la taille sera égale à la taille provisionnée maximale du disque virtuel (comme vous le feriez lors du téléchargement d’un disque virtuel à provisionnement épais). Cela s’explique par le fait que le provisionnement mince peut être considéré comme une fonctionnalité du système de fichiers VMFS.
Maintenant, vous pouvez voir deux fichiers du disque virtuel au format ESXi qui ont été téléchargés dans une archive ZIP. La taille du disque virtuel à provisionnement mince sur le datastore VMFS est d’environ 2 Go maintenant (voir la capture d’écran ci-dessus), et la taille du même disque téléchargé sur une machine de travail est d’environ 8 Go (voir la capture d’écran ci-dessous).
- Décompressez les deux fichiers de l’archive. Par défaut, les fichiers sont extraits dans le répertoire Win-test2.vmdk, dont le nom est identique à celui de l’archive mais sans extension de fichier.
- Pour cette étape, vous devez avoir une VM en bonne santé avec un système d’exploitation fonctionnel sur votre machine avec VMware Workstation ou Player installé. Alors que dans l’exemple précédent, la VM exécutant Windows Server 2016 était utilisée, une VM en bonne santé exécutant Windows Server 2008 est utilisée dans cet exemple.
Ouvrez VMware Workstation ou VMware Player, sélectionnez votre VM en bonne santé et modifiez les paramètres de la machine virtuelle.
- Dans l’onglet Matériel, cliquez sur le bouton Ajouter.
- Dans l’assistant Ajout de matériel qui s’ouvre, sélectionnez Disque dur comme type de matériel. Ensuite, sélectionnez un type de disque (vous pouvez laisser la valeur recommandée). Sur l’écran Sélectionner un disque, choisissez l’option Utiliser un disque virtuel existant.
- Sélectionnez le fichier vmdk (pas –flat.vmdk) que vous avez extrait de l’archive ZIP. Vous pouvez parcourir le fichier ou entrer manuellement le chemin d’accès complet au fichier.
Dans cet exemple, ESXi 6.5 et VMware Workstation 15 sont utilisés. La VM de VMware Workstation exécutant Windows Server 2008 dans notre exemple a la version matérielle Workstation 12 (version VM 12). La VM ESXi dont nous voulons attacher le disque virtuel a la version VM 7.
- Nous recevons un message d’erreur dans VMware Workstation indiquant que le disque virtuel copié depuis l’hôte ESXi n’est pas compatible avec cette machine virtuelle :
Cette erreur peut être corrigée en éditant le fichier de descripteur de disque (le fichier vmdk léger dans le cas des disques virtuels des VM ESXi). Ouvrez votre fichier VMDK dans l’éditeur de texte et modifiez le nombre dans la chaîne Ddb.virtualHWVersion. Dans notre cas, 13 est changé en 12.
REMARQUE : Rappelez-vous que pour les disques virtuels des VM VMware Workstation, un descripteur de disque virtuel est intégré dans le fichier VMDK du disque virtuel (il n’y a pas de fichier de descripteur séparé comme pour les disques virtuels des VM ESXi).
Après avoir édité le fichier, le disque virtuel est ajouté avec succès à la VM existante.
- Allumez la machine virtuelle si elle n’a pas encore été allumée.
- Ouvrez Gestion des disques dans Windows, changez le statut de votre disque virtuel en ligne, attribuez une lettre de lecteur à une partition et parcourez les fichiers.
Comment extraire des données d’un fichier VMDK sans démarrer une machine virtuelle
Les méthodes qui ne nécessitent pas de configurer et d’allumer une machine virtuelle ont leurs propres avantages. Certaines de ces méthodes ne nécessitent pas l’installation d’un hyperviseur. Vous pouvez monter des fichiers VMDK directement sur votre système d’exploitation hôte en peu de temps.
Méthode 1 : Montage de fichiers VMDKdans un système d’exploitation hôte avec VMware Workstation
Cette méthode nécessite une installation de VMware Workstation sur un système d’exploitation Windows ou Linux s’exécutant sur votre ordinateur physique. VMware Workstation offre une fonctionnalité intéressante qui vous permet de monter des fichiers VMDK sur votre système d’exploitation hôte. Les disques virtuels au format ESXi et les disques delta liés aux instantanés de VM sont pris en charge. De même que pour toutes les méthodes précédentes considérées dans cet article de blog, votre système d’exploitation doit prendre en charge les systèmes de fichiers des partitions de disques virtuels.
Si vous avez des instantanés de votre machine virtuelle, les disques virtuels delta sont créés après la création de chaque instantané. Vous devriez avoir un disque virtuel parent et des disques delta disponibles si vous souhaitez ouvrir un état de disque virtuel juste après avoir pris un instantané. Dans ce cas, vous devriez monter le disque virtuel delta approprié sur votre système d’exploitation hôte. Les dépendances liées au disque virtuel parent seront résolues automatiquement.
Si vous avez des instantanés mais que vous souhaitez ouvrir un disque virtuel parent, ouvrez le disque virtuel parent en mode lecture seule. Cela est nécessaire car apporter des modifications sur le disque virtuel parent peut endommager les instantanés ou les clones liés créés à partir d’une machine virtuelle parent avec le disque virtuel parent. Le mode lecture seule vous empêche d’écrire des données sur un disque virtuel après avoir monté le disque sur le système d’exploitation hôte. Vous pouvez monter des fichiers de disque virtuel VMDK si une VM qui utilise ce disque virtuel est éteinte, ou si une VM particulière n’utilise pas ce disque virtuel.
Examinons comment monter un disque virtuel VMDK de la machine virtuelle VMware Workstation qui comporte des instantanés. Windows est installé sur une partition NTFS sur un disque virtuel de la machine virtuelle. Après la prise du premier instantané, le fichier Snapshot1.txt est créé dans le répertoire racine du disque C:, et de manière similaire, après la prise du deuxième instantané, le fichier Snapshot2.txt est créé là. Le premier exemple est pour Linux, et le deuxième exemple est pour Windows. Les fichiers de disque virtuel de l’ancienne machine virtuelle Windows XP sont utilisés dans cet exemple.
Exemple 1 : Montage de VMDK sur l’hôte Linux
- Ouvrez VMware Workstation pour Linux et allez dans Fichier > Monter les disques virtuels.
- Cliquez sur Monter le disque, et une fenêtre contextuelle s’ouvre. Cliquez sur Parcourir et sélectionnez le fichier de disque virtuel VMDK.
- Sélectionnez le fichier VMDK du deuxième disque virtuel différentiel créé après la prise de la deuxième capture instantanée de la machine virtuelle. Le nom de ce fichier apparaît comme VM_name-000002.vmdk dans de tels cas (WinXP-test-000002.vmdk est utilisé dans cet exemple).
- Créez le répertoire sur votre système de fichiers Linux pour monter un disque virtuel au format VMDK dans ce répertoire. Créez le répertoire /mnt/vmdk/ dans la console Linux.
mkdir /mnt/vmdk/
- Définissez les autorisations pour votre utilisateur (le nom de l’utilisateur est user1 et est membre du group1 dans cet exemple) :
chown -R user1:group1 /mnt/vmdk/
chmod -R 0775 /mnt/vmdk/
- Maintenant, sélectionnez le répertoire que vous avez créé comme répertoire cible, cochez la case « Monter en mode lecture seule« , et cliquez sur Monter.
- Maintenant, vous pouvez ouvrir le répertoire /mnt/vmdk/ dans votre explorateur de fichiers Linux et parcourir les fichiers et répertoires situés sur le disque virtuel VMDK. Vous pouvez voir les fichiers Snapshot1.txt et Snapshot2.txt, qui ont été créés après la création des premier et deuxième instantanés dans cet exemple. Chacun de ces deux fichiers est situé sur un disque virtuel VMDK delta séparé.
- N’oubliez pas de démonter le disque virtuel VMDK du répertoire (point de montage) sur votre système hôte Linux lorsque vous avez terminé les opérations avec le contenu du disque virtuel.
Si vous préférez utiliser l’interface console, vous pouvez monter des images de disque VMDK sur l’hôte Linux dans la console avec cette commande :
vmware-mount /media/user1/vms/nom_vm/nom_du_disque_vm-000002.vmdk /mnt/vmdk
Où :
nom_vm est le nom de la machine virtuelle qui est le même que le nom du répertoire VM dans ce cas. WinXP-test est le nom de la VM dans notre exemple.
nom_du_disque_vm est le nom du disque virtuel (WinXP-test.vmdk est utilisé dans cet exemple).
vm_disk_name-000001.vmdk est le nom du premier disque delta (différentiel) créé après avoir pris le premier instantané de la machine virtuelle (WinXP-test-000001.vmdk dans ce cas).
vm_disk_name-000002.vmdk est le nom du deuxième disque delta créé après avoir pris le deuxième instantané de la machine virtuelle (WinXP-test-000002.vmdk dans ce cas).
- Montez le disque virtuel. Par défaut, le disque virtuel est monté en mode lecture/écriture. Vous pouvez utiliser la clé -r dans la ligne de commande pour monter un disque en mode lecture seule.
vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk
- Listez tous les disques virtuels VMDK montés :
vmware-mount -L
- Avant de finir de travailler avec les disques virtuels VMDK montés, démontez tous les disques virtuels :
vmware-mount -x
Exemple 2 : Comment monter un VMDK sur l’hôte Windows
L’idée de monter des fichiers VMDK dans Windows est similaire. En plus de l’option Fichier > Map Virtual Disks dans l’interface utilisateur graphique (GUI) de VMware Workstation, vous pouvez suivre les étapes ci-dessous. Montons le fichier VMDK du premier disque virtuel différentiel créé après avoir pris le premier instantané de la machine virtuelle. Le nom de ce fichier VMDK a le format suivant : VM_name-000001.vmdk (WinXP-test-000001.vmdk est ouvert dans ce tutoriel).
- Cliquez avec le bouton droit sur le fichier VMDK dans l’Explorateur Windows et cliquez sur Mapper le disque virtuel.
- Sélectionnez les paramètres pour monter un fichier VMDK. Il est recommandé d’ouvrir le fichier VMDK en mode lecture seule pour éviter tout dommage éventuel des disques virtuels appartenant à la chaîne de clichés après l’écriture des données. La lettre de lecteur par défaut est Z: dans ce cas, et le lecteur s’ouvre automatiquement dans l’Explorateur Windows après le mappage si la case appropriée est cochée. Cliquez sur OK pour continuer.
- Maintenant, le disque virtuel est monté comme disque Z: dans Windows, et vous pouvez lire le contenu du fichier vmdk. Sur la capture d’écran ci-dessous, vous pouvez voir le fichier Snapshot1.txt créé après avoir pris le premier cliché. Le fichier Snapshot2.txt est manquant car il a été créé après avoir pris le deuxième cliché VM, et nous avons ouvert un disque virtuel delta lié au premier cliché VM.
- Lorsque vous avez terminé de travailler avec le disque virtuel VMDK, n’oubliez pas de le déconnecter. Cliquez avec le bouton droit sur le fichier VMDK approprié, puis cliquez sur Déconnecter le disque virtuel. Après avoir déconnecté le disque virtuel, vous pouvez mettre sous tension la VM qui utilise ce disque virtuel.
Méthode 2: Utilisation de 7-zip pour extraire le contenu des fichiers VMDK
Si vous cherchez comment ouvrir des fichiers VMDK sans exécuter de machines virtuelles, vous pouvez installer 7-zip et extraire le contenu des images de disque virtuel. 7-zip est un outil gratuit destiné à archiver des fichiers et à extraire des fichiers à partir d’archives et d’autres images. Vous pouvez utiliser 7zip comme extracteur de vmdk. Cet outil peut être utilisé sur des machines Linux et Windows.
7-zip peut ouvrir les fichiers vmdk et –flat.vmdk (cet utilitaire peut ouvrir un seul fichier –flat.vmdk si le fichier de descripteur vmdk est manquant) – 7-zip est en fait pour les disques virtuels du format ESXi. 7-zip ne peut pas ouvrir les fichiers VMDK delta créés après la prise de clichés VM.
Comment ouvrir un fichier VMDK avec 7-zip sur Linux
- Installez un pack complet de 7-zip sur votre machine Linux. Ubuntu est utilisé dans cet exemple.
apt-get install p7zip-full
- Listez le contenu du fichier vmdk avec 7-zip:
7z l vm_name.vmdk
- Trouvons les fichiers qui contiennent « boot. » dans leur nom, par exemple:
7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]
Où user1 est le nom de notre utilisateur Linux, l – liste.
- Extrait (e) du 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 les fichiers VMDKavec 7-zip sur Windows
- Téléchargez la version compatible de 7-zip depuis le site officiel et installez l’application sur votre machine Windows. Utilisez l’installateur EXE pour plus de commodité.
- Après avoir installé 7-zip sur Windows, de nouvelles options 7-zip sont ajoutées au menu contextuel lorsque vous cliquez avec le bouton droit sur n’importe quel fichier ou dossier dans l’explorateur Windows (voir la capture d’écran ci-dessous). Utilisez ces options pour ouvrir le fichier VMDK comme une archive ou extraire les fichiers dès maintenant.
- Dans la capture d’écran ci-dessous, le contenu du fichier Win-test2-flat.vmdk autonome est affiché dans l’interface graphique de 7-zip utilisée dans Windows. Vous pouvez extraire le contenu VMDK dont vous avez besoin.
Comment monter des fichiers VMDK sous Linux (Autres méthodes)
Une des capacités les plus puissantes de Linux est la possibilité d’effectuer le plus grand nombre d’opérations dans la console, même avec des outils intégrés. Ces outils vous aideront à monter des fichiers VMDK et à accéder au contenu stocké sur les disques virtuels. Ubuntu Linux est utilisé dans les exemples fournis.
Méthode 1: Comment monter un fichier VMDK en utilisant /dev/loop
Les périphériques en boucle sont des pseudo-périphériques sous Linux, qui rendent les fichiers accessibles comme des périphériques de blocs et peuvent être utilisés pour monter des images de disque contenant des systèmes de fichiers. Les périphériques en boucle sont nommés /dev/loopX où X est le numéro du périphérique en boucle. Cette méthode est utile pour monter des fichiers – flat.vmdk, même sans descripteur de disque virtuel.
Explorons comment monter un fichier VMDK sous Linux pour accéder aux fichiers du disque virtuel à titre d’exemple. Il s’agit d’un disque virtuel au format ESXi qui contient une partition – le fichier de descripteur est manquant. Il y a longtemps, Windows XP était installé sur ce disque virtuel.
- Utilisez l’une des deux commandes suivantes pour vérifier le nombre de périphériques en boucle existants sur votre système Linux.
fdisk -l | grep /dev/loop
df -h | grep /dev/loop
- Dans notre cas, les périphériques numérotés de 1 à 21 existent déjà (/dev/loop1 – /dev/loop21). Ainsi, créons le périphérique en boucle numéro 30 – ce numéro est disponible. Nous associerons ce périphérique au fichier – flat.vmdk.
losetup /dev/loop30 /vms/Win-test2-flat.vmdk
-
losetup -o 32256 /dev/loop31 /dev/loop30
Où 32256 est le décalage qui est 63*512 pour un disque formaté sous Windows XP/Server 2003 et les anciennes versions de Windows (63 est le numéro du premier secteur de la partition, et 512 octets est la taille du secteur). Pour Windows 7/Server 2008 et les versions plus récentes de Windows, essayez le décalage 105906176.
Vous pouvez récupérer des informations sur la taille du secteur et le premier secteur utilisé pour le démarrage avec la commande :
fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk
En alternative, pour les disques virtuels qui contiennent 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
- Créez un répertoire à utiliser comme point de montage pour l’image VMDK:
mkdir /mnt/vmdk-image
- Montez le périphérique en boucle associé à l’image VMDK dans le répertoire créé:
mount /dev/loop31 /mnt/vmdk-image
- Listez le contenu de l’image montée:
ls -al /mnt/vmdk-image
- Après avoir terminé de travailler avec le contenu du disque virtuel, démontez l’image vmdk et déconnectez le périphérique en boucle :
umount /mnt/vmdk-image
losetup -d /dev/loop31
Méthode 2 : Comment monter les fichiers VMDK avec kpartx
Kpartx est un outil qui peut monter des partitions à l’intérieur de fichiers image dans les répertoires de votre 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 de bloc. Cette méthode fonctionne également pour le montage des images –flat.vmdk utilisées sur les serveurs ESXi. Voyons comment monter le fichier –flat.vmdk utilisé dans l’exemple précédent.
- Installez kpartx :
apt-get install kpartx
- Ajoutez la cartographie des partitions pour l’image VMDK en mode opératoire verbeux :
kpartx -av /vms/Win-test2-flat.vmdk
- Montez une partition sur le répertoire /mnt/vmdk-image préparé précédemment :
mount /dev/mapper/loop30p1 /mnt/vmdk-image/
Où loop30 est le numéro du dispositif de boucle, et p1 est le numéro de la partition à l’intérieur de l’image (la première partition sur l’image disque).
- Listez le contenu de la partition de disque virtuel que vous avez montée :
ls -al /mnt/vmdk-image/
- Une fois que vous avez terminé les opérations avec les fichiers de l’image VMDK, démontez l’image disque virtuelle VMDK :
umount /mnt/vmdk-image
kpartx -d /vms/Win-test2-flat.vmdk
Conclusion
Connaître plusieurs méthodes pour extraire le contenu des VMDK vous offre flexibilité et fiabilité car chaque méthode peut être la meilleure option dans certaines situations. De plus, il est encore mieux d’avoir des sauvegardes de vos machines virtuelles en plus de cette connaissance.
NAKIVO Backup & Replication peut sauvegarder et restaurer des machines virtuelles fonctionnant sous VMware vSphere de la meilleure manière. Vous pouvez récupérer l’ensemble de la machine virtuelle, le disque virtuel particulier ou des fichiers séparés depuis la sauvegarde vers un emplacement personnalisé.
Source:
https://www.nakivo.com/blog/extract-content-vmdk-files-step-step-guide/