Comment extraire le contenu des fichiers VMDK

Parfois, vous aurez besoin d’accéder au contenu du disque virtuel (VMDK) d’une machine virtuelle, peut-être pour récupérer des données en raison d’une machine virtuelle mordant la poussière. Peut-être qu’une mise à jour récente vous empêche de démarrer le système d’exploitation invité et que vous n’avez aucune sauvegarde sur laquelle vous pouvez compter. Ça arrive !

Dans cet article, je vais passer en revue 4 façons différentes d’extraire le contenu des fichiers VMDK.

Téléchargez Altaro VM Backup

Commencez dès aujourd’hui votre essai gratuit de 30 jours d’Altaro VM Backup et découvrez pourquoi plus de 40 000 organisations dans le monde lui font confiance. Commencez dès maintenant et exécutez votre première sauvegarde en moins de 15 minutes!

Avant de passer à autre chose, juste un rappel qu’un VMDK est composé de 2 parties; le descripteur et le fichier plat. Le fichier descripteur contient des informations sur le disque telles que sa géométrie, ses identifiants et la version du matériel virtuel. Il ne s’agit en fait que d’un fichier texte visible dans n’importe quel éditeur de texte. Le fichier plat est l’endroit où vivent les données réelles. Pour plus de détails, pourquoi ne pas jeter un œil à l’anatomie d’une machine virtuelle VMware.

Affichage d’un fichier descripteur VMDK dans un éditeur de texte

Remarque : Le fichier descripteur n’est pas répertorié sous le navigateur de banque de données, mais il peut être visualisé depuis le shell ESXi lors de la connexion via un client tel que putty ou directement depuis la console.

Pour cet article, j’ai utilisé les VMDK des machines virtuelles Windows et Linux pour copier le descripteur et les fichiers plats dans un dossier sur mon PC Windows, étant donné que certaines méthodes couvertes nécessitent les deux fichiers. Notez que vous pouvez également utiliser des outils tels que VMFS Recovery pour monter à distance des VMDK sans avoir à les télécharger localement.

Méthode 1 – Attacher un VMDK à une machine virtuelle existante

Aussi trivial que cela puisse paraître, un moyen facile d’accéder au contenu d’un VMDK consiste simplement à l’attacher à une autre machine virtuelle fonctionnelle. Peu importe que la machine virtuelle soit hébergée sur ESXi, Workstation ou un autre hyperviseur.

La vidéo suivante montre comment attacher le VMDK d’une machine virtuelle Windows 7 hébergée sur ESXi 6.5 à une machine virtuelle s’exécutant sous VMware Workstation Pro uniquement pour démontrer la fonctionnalité de l’hyperviseur croisé.

CONSEIL: Comme indiqué dans la vidéo, lorsque vous utilisez Workstation, vous pouvez rencontrer des problèmes de compatibilité qui pourraient vous empêcher de connecter le VMDK à la machine virtuelle. Le problème est généralement lié à une version de matériel virtuel non prise en charge. Ceci est facilement corrigé en changeant la valeur de la version matérielle dans le fichier descripteur, à celle prise en charge par VMware Workstation. Pour ce faire, jetez un coup d’œil au fichier descripteur du VMDK de n’importe quelle machine virtuelle s’exécutant sous Workstation. Cela vous donnera la version matérielle prise en charge ou bien reportez-vous à la documentation en ligne.

Inspecter ou modifier la version matérielle d’un VMDK

Méthode 2 – Utiliser 7-Zip

7-Zip est probablement l’outil de compression le plus populaire, pas du tout parce qu’il est disponible gratuitement pour Windows, Linux et d’autres systèmes d’exploitation. Il extraira à peu près tout type d’archive que vous y jetterez.

C’est une bonne nouvelle car il ouvrira volontiers les VMDK sans même avoir besoin du fichier descripteur. Pour ce faire, cliquez simplement avec le bouton droit sur le fichier plat VMDK et sélectionnez Ouvrir l’archive pour copier le contenu VMDK dans un dossier de votre choix. Vous pouvez également extraire l’intégralité du contenu du disque à l’aide de la fonctionnalité Extraire vers un dossier. La méthode fonctionne pour les VMDK précédemment attachés à Windows ou Linux.

Ouverture d’un VMDK en tant qu’archive à l’aide de 7-Zip

Utilisation de 7-Zip pour copier le contenu d’un VMDK dans un dossier Windows

Méthode 3 – VMware Workstation Player

Si vous avez installé VMware Workstation Player ou PRO, vous pourrez monter VMDK directement sous forme de volumes sous Windows. Pour que cette méthode fonctionne, vous devez placer le descripteur et les fichiers plats dans le même dossier. Le VMDK peut ensuite être monté en lecture seule ou en lecture-écriture en cliquant dessus avec le bouton droit de la souris dans l’Explorateur Windows, en choisissant l’une des deux options.

Cela fonctionne pour les VMDK Windows et Linux, cependant, Windows ne peut pas lire nativement les systèmes de fichiers Linux, vous devrez donc utiliser un outil tiers comme Explore2fs ou Ext2Read qui le fait.

Montage d’un VMDK dans Windows à l’aide de la fonctionnalité VMware Workstation intégrée à l’Explorateur Windows

Un VMDK Windows est facilement monté et mappé en tant que lecteur à l’aide des fonctionnalités de VMware Workstation

Lorsque vous avez terminé d’utiliser le VMDK, démontez le volume de l’Explorateur en cliquant avec le bouton droit de la souris et en sélectionnant Déconnecter le disque virtuel.

Démontage d’un VMDK lorsque vous avez terminé de l’utiliser

Méthode 4 – Linux Reader

Linux Reader est un outil gratuit distribué par DiskInternals. Il est utilisé pour monter ou fournir un accès à un certain nombre de systèmes de fichiers configurés sur des machines Linux. Ceux-ci incluent Ext2/3/4, HFS et ReiserFS. Il est également capable de monter des VMDK dès la sortie de la boîte, ce qui est la seule fonctionnalité que nous recherchons.

Vous pouvez télécharger Linux Reader à partir d’ici. Une fois que vous l’avez installé, sélectionnez l’option Monter l’image dans le menu Lecteurs. Ensuite, sélectionnez Conteneurs – > disques virtuels VMware et appuyez sur Suivant.

Montage de disques VMDK à l’aide de Linux Reader à partir de DiskInternals

Ensuite, accédez au dossier contenant les fichiers VMDK et appuyez sur OK pour le sélectionner. Sur l’écran qui suit, cochez les cases à côté des VMDK que vous souhaitez monter et cliquez sur Monter. Selon la capture d’écran suivante, j’ai sélectionné deux VMDK; un disque formaté ext4 à partir d’une machine virtuelle Centos et un disque NTFS à partir d’une machine virtuelle Windows.

Sélection de plusieurs VMDK à monter en tant que disques dans Linux Reader

Le logiciel recherchera d’abord les baies Raid. Les VMDK précédemment sélectionnés sont ensuite montés et surlignés en rouge comme indiqué ci-dessous.

Les VMDK montés sont surlignés en rouge

En cliquant sur un volume monté, vous aurez accès au contenu du lecteur. Ceux-ci peuvent être enregistrés en cliquant avec le bouton droit de la souris sur la sélection du fichier et en appuyant sur Enregistrer. Vous pouvez également utiliser CTRL-A pour sélectionner tout le contenu et cliquer sur l’icône Enregistrer pour tout exporter dans un dossier de votre choix.

Enregistrer et exporter du contenu d’un VMDK vers un emplacement externe

Conclusion

Lors de mes recherches sur cet article, je suis tombé sur quelques autres méthodes que je dois encore examiner. Ceux-ci incluent des utilitaires tels que OSFMount et d’autres outils ISO et d’imagerie qui peuvent traiter nativement les VMDK. VMware fournit également un outil de ligne de commande appelé vmware-mount qui était auparavant inclus avec le SDK VDDK. L’outil n’est plus inclus mais vous pouvez toujours l’obtenir en téléchargeant VDDK 5.1 ou des versions antérieures. Je suis également tombé sur l’utilitaire de montage sur disque VMware qui n’a pas pu être installé car, apparemment, il n’est pas pris en charge sur les systèmes d’exploitation 64 bits en raison d’un pilote 32 bits non signé.

Tout cela dit et fait, les méthodes décrites aujourd’hui devraient suffire pour vous permettre d’inspecter le contenu d’un VMDK. À mon avis, l’utilisation de 7-ZIP – ou de tout autre outil de compression avec des capacités identiques – est de loin la méthode la plus simple.

Pour rester dans le thème, regardez comment travailler avec des VMDK attachés à des machines virtuelles Linux.