Hyper-V : utiliser le Secure Boot avec Linux
I. Présentation
Microsoft travaille depuis plusieurs années pour supporter Linux sur sa plateforme de virtualisation Hyper-V. Aujourd'hui, il n'y a aucun problème à installer une distribution Linux au sein d'une VM Hyper-V.
Depuis que Windows Server 2016 est sorti, Microsoft a également intégré une extension du Secure Boot afin de prendre en charge Linux.
Microsoft recense sur la page suivante les distributions compatibles sur Hyper-V : Compatibilité Linux et Hyper-V
Pour rappel, le Secure Boot (Démarrage sécurisé) sert à protéger le démarrage du système d'exploitation notamment en empêchant qu'un malware puisse injecter du code malveillant au démarrage afin de compromettre votre système. Des clés de chiffrement stockées dans la firmware sont utilisées pour sécuriser le boot de l'OS et si les vérifications se passent bien, alors l'UEFI va laisser le système démarrer. Accessible au sein des machines virtuelles, le Secure Boot est également inclus sur les ordinateurs fixes et portables.
- Quelles versions d'Hyper-V supportent le Secure Boot Linux ?
Le Secure Boot pour Linux est supporté depuis Hyper-V sous Windows Server 2016, mais également avec Hyper-V sous Windows 10 ainsi que Hyper-V Server 2016.
- Quelle génération pour la machine virtuelle ?
La machine virtuelle doit être de Génération 2 pour utiliser le Secure Boot. Ensuite, il faudra configurer la fonctionnalité dans les options de la VM.
Nous allons voir comment configurer le Secure Boot pour Linux au sein d'une VM Hyper-V. En effet, si la configuration est incorrecte, vous obtiendrez un message similaire à celui ci-dessous. "No operating system loaded. Your virtuel machine may be configured incorrectly..."
II. Configurer le Secure Boot pour Linux
Ouvrez le Gestionnaire Hyper-V et accédez aux paramètres de la machine virtuelle via un clic droit. Au préalable, la machine virtuelle doit être éteinte.
Sur la gauche, cliquez sur "Sécurité" et cochez l'option "Activer le démarrage sécurisé". Ensuite, sélectionnez le modèle "Autorité de certification UEFI Microsoft" (Microsoft UEFI Certificate Authority) sinon la VM ne pourra pas charger l'OS.
Cliquez sur "OK" pour valider la configuration. Au prochain démarrage, la distribution Linux va se lancer, car le Secure Boot est correctement configuré.
Cette configuration peut s'effectuer directement en PowerShell. Pour réaliser la même chose que ce que l'on vient de faire, pour une VM nommée "Debian10", cela donne :
Set-VMFirmware -VMName Debian10 -EnableSecureBoot On -SecureBootTemplate 'MicrosoftUEFICertificateAuthority'
Il ne reste plus qu'à démarrer la VM et à installer le système...