VMware – Modifier la version Hardware d’un OVA

Synopsis

Lors de l’import d’un fichier OVA, il est fréquent de rencontrer une erreur liée à la version de virtual hardware de la machine virtuelle, empêchant à la fois son import et son démarrage sur un hôte VMware ESXi plus ancien.

A VMware product cannot power on a virtual machine with a virtual hardware version that is higher than what it supports.

Dans notre cas, l’OVA a été exporté depuis un ESXi 6.0 avec un hardware VMX-11, puis importé sur un ESXi 5.5, ce qui provoque le blocage suivant :

The OVF package requires unsupported hardware.
Details: Line 25: Unsupported hardware family ‘vmx-11’.

Matrice de compatibilité VMware ESXi / VM hardware

Pour rappel, chaque version d’ESXi supporte un niveau maximum de version de matériel virtuel :

VM Version 03 04 07 08 09 10 11 13 14 15
Hyperviseur ESX 2.x ESX 3.x ESX(i) 4.x ESXi 5.0 ESXi 5.1 ESXi 5.5 ESXi 6.0 ESXi 6.5 ESXi 6.7 ESXi 6.7 U2

 

Dans notre exemple, il est donc nécessaire de downgrader la version de hardware de vmx-11 vers vmx-10 pour qu’elle soit supportée par ESXi 5.5.

Solutions VMware officielles pour downgrader le hardware

La base de connaissances VMware KB 1028019 recense plusieurs méthodes supportées pour revenir à une version de hardware inférieure :

  • Revenir à un snapshot créé avant la mise à niveau du virtual hardware.
  • Utiliser VMware vCenter Converter Standalone pour convertir la VM vers une version de hardware supportée.
  • Créer une nouvelle machine virtuelle avec la version de hardware souhaitée puis y attacher les disques existants.

Dans certains scénarios (appliance fournie en OVA, pas de snapshot, pas de vCenter), ces solutions ne sont pas pratiques ; on peut alors utiliser une méthode non supportée officiellement : l’édition manuelle des fichiers .OVF et .MF.

Étape 1 : décompresser le fichier OVA

Commence par extraire le contenu de l’archive OVA avec un outil comme 7-Zip.

[support.holmsecurity](https://support.holmsecurity.com/knowledge/how-do-i-solve-common-problems-in-versions-5.5-of-vmware-vsphere-esxi)

*****.mf
*****.ovf
*****.vmdk

Étape 2 : modifier la version de hardware dans l’OVF

Ouvre le fichier .ovf avec un éditeur de texte tel que Notepad++.

Repère la ligne suivante :

<vssd:VirtualSystemType>vmx-11</vssd:VirtualSystemType>

Remplace-la par la version compatible avec ton hôte, par exemple pour ESXi 5.5 :

<vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType>

Étape 3 : régénérer le checksum SHA‑1

Après modification de l’OVF, le fichier de manifeste .mf n’est plus cohérent, ce qui bloque toujours le déploiement de l’OVF (mismatch de checksum).

Tu peux recalculer le SHA‑1 avec certutil ou le petit outil File Checksum Integrity Verifier (FCIV).

Avec certutil (Windows)

certutil -hashfile "E:\\Checksum\\*****.ovf" sha1

Avec FCIV

E:\\Checksum\\fciv.exe -sha1 "****.ovf"
//
// File Checksum Integrity Verifier version 2.05.
//
91c8afcda65d4a11b64123d24434477c42c7974e ****.ovf

Reprends la valeur SHA‑1 obtenue et mets-la à jour dans le fichier .mf :

SHA1(****.ovf)= 91c8afcda65d4a11b64123d24434477c42c7974e
SHA1(****.vmdk)= 8a3e6d8378d49ae938afra50945318b408eae07e

Une fois le fichier .mf sauvegardé, tu peux relancer l’import, cette fois en sélectionnant le fichier OVF modifié ; un simple warning peut apparaître mais il est généralement sans impact et peut être ignoré.


...BofBienTrès BienTop ! 2 vote(s)
Loading...

Mathieu

Je suis actuellement ingénieur spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix et Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

S’abonner
Notification pour
guest

6 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Rajower
Rajower
6 années il y a

Bonjour et un grand merci pour votre précieuse aide.

David
David
5 années il y a
Répondre à  Mathieu

Dit moi Mathieu j ai suivi la procédure mais c maintenant le fichier ‘cert qui dit qu il est invalid

Nicolas
Nicolas
4 années il y a

Bonjour,

Pour générer le checksum sous windows 10

https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/certutil
certutil [options] -hashfile infile [hashalgorithm]

soit ici :
certutil -hashfile « C:\…\fichier.ovf » sha1

Thomas
Thomas
4 années il y a

Bonjour,

pour le calcul du checksum, on peut aussi passer par PowerShell avec

Get-FileHash [-Path] <System.String[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]

qui permet de préciser l’algorithme car je crois qu’à partir de la version 6.5 on est en SHA256