Guide d'installation de VMware Workstation 17 sur Ubuntu 22.04

Au sommaire :

  • 1-Qu'est-ce que VMware Workstation ?
  • 2-Prérequis
  • 3-Installation
  • 4-Configuration
  • 5-Création d'une machine virtuelle
  • 6-Signer les modules noyau

1-Qu'est-ce que VMware Workstation ?

Malgré que je sois un fervent partisan de KVM, j'ai garder un bon souvenir et j'ai beaucoup apprécier l'expérience qu'offre VMware Workstation lorsque j'était en reconversion professionnelle.

L'avantage d'utiliser Workstation c'est que c'est le meilleur hyperviseur de type 2 existant (loin devant Virtual Box), qu'il nécessite pas d'avoir Windows sur son poste et qu'il est compatible avec tout l’écosystème de VMware.

Pour l’anecdote, je m'en suis servis pour virtualiser 3 instances Proxmox VE avec du Ceph comme système de fichiers distribués et Windows 10 en virtualisation imbriquée. Cela m'a permis de faire bonne impression devant un jury pour présenter la haute disponibilité sur PVE.

2-Prérequis

Un simple poste sous Linux suffira. Comme d'habitude, tout sera fait sur Ubuntu en version 22.04 LTS mais d'après la documentation il est compatible avec d'autres distributions Linux.

3-Installation

Workstation n'est disponible dans aucun dépôt donc pour ce faire, téléchargez l’exécutable au format .bundle sur le site de VMware.

https://www.vmware.com/latam/products/workstation-pro/workstation-pro-evaluation.html

Appliquez les droits d’exécution sur le fichier (change mode +x, x pour exécutable).

chmod +x VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle

Puis enfin, installez le logiciel.

sudo ./VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle

4-Configuration

Lancez Workstation puis accepetez les CGU.

Confirmez que vous souhaitez mettre à jour le logiciel au démarrage.

Choisissez si oui ou non vous voulez participer au programme "VMware CEIP".

Pour activer la licence, voici des clés d'activation que j'ai trouver sur Github Gist (la première fonctionne d'office).

Free VMware Workstation Pro 17 full license keys
Free VMware Workstation Pro 17 full license keys. GitHub Gist: instantly share code, notes, and snippets.

Validez en tapant votre mot de passe utilisateur et vous allez pouvoir créer des machines virtuelles avec le meilleur hyperviseur de type 2 du marché.

5-Création d'une machine virtuelle

Cliquez sur "Create a New Virtual Machine" et selectionnez "Typical" avec les paramêtres recommandés.

Indiquez le chemin de votre ISO (Ubuntu 22.04 LTS Desktop pour l'exemple).

Option sympathique de Workstation, vous pouvez créer à l'avance l'utilisateur (un peu comme cloud-init).

Indiquez un nom et laissez le chemin par défaut. Le dossier "vmware" se trouve à la racine du dossier utilisateur.

Choisissez la taille de votre disque et indiquez que vous souhaitez que ce soit un fichier unique.

Vérifiez les informations puis validez en décochant le démarrage automatique.

Profitez-en pour allez dans les paramètres de la machine virtuelle et à basculer la carte réseau sur le pont réseau au lieu du NAT.

6-Signer les modules noyau

Et là, tu te dis que ton Workstation il va tourner "easy", "finger in the noise"

Et lorsque tu lance ta machine virtuelle

et que tu vois ce message.

Tu te dis.

Heureusement, il y a une solution pour résoudre ce petit inconvénient. Il va falloir créer une clé privé et un certificat, signés les modules du noyau et importez la clé dans le MOK (Machine Owner Key).

Calme, calme, tout va bien se passer. Suivez mes instructions.

Commencez par recompiler les modules à l'aide de la commande "vmware-modconfig".

sudo vmware-modconfig --console --install-all

Ensuite, générez une clé et un certificat que vous nommerez "VMWARE17" à l'aide de openssl.

openssl req -new -x509 -newkey rsa:2048 -keyout VMWARE17.priv -outform DER -out VMWARE17.der -nodes -days 36500 -subj "/CN=VMWARE/"

À l'aide de cette clé, signez les deux modules du noyau Linux (vmmon et vmnet)

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE17.priv ./VMWARE17.der $(modinfo -n vmmon)

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE17.priv ./VMWARE17.der $(modinfo -n vmnet)

Vérifiez que les deux modules sont signés correctement à l'aide de la commande "tail".

tail $(modinfo -n vmmon) | grep "Module signature appended"

Maintenant, nous allons rendre cette clé fiable en l'important dans le système de gestion des clés du propriétaire de la machine (MOK, voir sources pour plus d'informations).

Importez la clé dans le système de clé du propriétaire de la machine (MOK) et donnez lui un mot de passe.

sudo mokutil --import VMWARE17.der

Redémarrez votre ordinateur et appuyez sur la touche ESC ou F12. Un écran bleu devrait apparaître. choisissez la clé "VMWARE17", validez avec le mot de passe que vous avez choisis et redémarrez le poste.

Enfin, vérifiez que la clé est bien enrollé. cela devrait vous afficher "VMWARE17.der is already enrolled".

mokutil --test-key VMWARE17.der

Démarrez votre machine virtuelle et MIRACLE, plus de message d'erreur.

Il faudra reproduire la procédure à chaque mise à jour du noyau, ce qui peux paraitre fastidieux mais j'ai pas mieux pour le moment.

N'oubliez pas d'installer "open-vm-tools" dans vos distros Linux (l'équivalent de VirtIO pour VMware.

sudo apt install open-vm-tools -y

Sources :

MOK - qu’est-ce que c’est? Tout ce que vous devez savoir sur Linux
Si vous vous êtes déjà demandé quel est ce MOK qui apparaît dans certaines distributions après la mise à jour, voici la réponse