VMware – Modifier la version Hardware d’un OVA

Synopsis

En essayant d’importer un OVA, une erreur est apparue portant sur la version Hardware de la VM, l’ESXi stipule bien que la version n’est pas compatible, il ne peux donc pas la démarrer mais ne veux aussi pas l’importer.

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

Venant d’un ESXi 6.0 avec la version Hardware à jour, l’importer sur un ESXi 5.5 et bah ça coince …

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

Matrice VMware

Petite piqure de rappel des versions…


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

C’est clair, il faut downgrader la version… en faisant un tour sur la KB VMware 1028019 nous avons plusieurs choix.

  • Revert to a snapshot created before upgrading the virtual machine hardware…
  • Use VMware vCenter Converter Standalone…
  • Create a new virtual machine with required hardware version…

Rien de bien utile dans notre cas, il reste une dernière option non officiellement supporté par VMware mais que vous avez surement déja utilisé pour aller plus vite, la modification du fichier de configuration (.VMX) et c’est ce que nous allons utiliser.

Décompresser l’OVA

Utiliser un logiciel de décompression comme 7Zip pour extraire les 3 fichiers.

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

Modification de la Version

Ouvrir l’.OVF avec un outils d’édition tel que Notepad++

Modifier la ligne ci dessous

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

Par la version souhaitée, ESXi 5.5 donc vmx-10 dans mon cas

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

Checksum

Checksum

Si vous essayez tel quel ça ne fonctionnera pas car le fichier étant modifié, le checksum n’est plus en rapport et ca ne s’importera pas non plus.

On peut soir utiliser certutil soit un petit soft appellé File Checksum Integrity Verifier (FCIV) qui permet de générer le checksum SHA-1 dont nous avons besoin.

Certutil

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

FCIV

Après décompression du FCIV on pointe en Command Prompt l’.OVF

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

Une fois le checksum généré , il faut le modifier dans le .MF

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

Le fichier sauvegardé, il suffit de faire l’import mais cette fois de l’OVF. Dans certains cas vous aurez un Warning que vous pourrez ignorer.


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
4 années il y a

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

David
David
3 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
2 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
2 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