Ce problème se produit uniquement sur les systèmes UEFI sur lesquels Secure Boot est activé.
Lorsque j'essaie d'installer des modules DKMS tels que les pilotes VirtualBox, Nvidia ou Broadcom, ils ne s'installent pas et je les ai Required key not available
quand je les essaie modprobe
.
VirtualBox se plaint de vboxdrv
ne pas être chargé.
Le wl
pilote Broadcom est présenté en lspci -k
tant que module du noyau mais n’est pas utilisé. sudo modprobe wl
jette Required key not available
.
De plus, ce problème peut survenir lorsque j'installe des modules du noyau à partir de sources git.
Ce problème peut apparaître après une mise à jour du noyau en tant qu'adaptateur sans fil désactivé, écran noir après un redémarrage, etc.
Comment puis-je le réparer?
kernel
uefi
secure-boot
dkms
Pilote6
la source
la source
Réponses:
Depuis le noyau Ubuntu 4.4.0-20, la
EFI_SECURE_BOOT_SIG_ENFORCE
configuration du noyau est activée. Cela empêche de charger des modules tiers non signés si UEFI Secure Boot est activé.Le moyen le plus simple de résoudre ce problème consiste à désactiver le démarrage sécurisé dans les paramètres UEFI (BIOS).
Dans la plupart des cas, vous pouvez accéder aux paramètres UEFI à l'aide du menu de menu. Appuyez ESCsur le bouton au démarrage, entrez dans le menu de menu et sélectionnez Configuration du système. L'option de démarrage sécurisé doit figurer dans les sections "Sécurité" ou "Amorçage" de l'UEFI.
Vous pouvez entrer directement dans UEFI, mais cela dépend de votre matériel. Lisez le manuel de votre ordinateur pour savoir comment vous y rendre. Cela peut être Del, ou F2au démarrage, ou quelque chose d'autre.
Une autre solution consiste à désactiver Secure Boot à l'aide de
mokutil
.Depuis la version 4.4.0-21.37 du noyau Ubuntu, ceci peut être corrigé en exécutant
Il faudra créer un mot de passe. Le mot de passe doit comporter au moins 8 caractères. Après le redémarrage, UEFI vous demandera si vous souhaitez modifier les paramètres de sécurité. Choisissez "Oui".
Ensuite, il vous sera demandé de saisir le mot de passe créé précédemment. Certains micrologiciels UEFI ne demandent pas le mot de passe complet, mais bien quelques caractères, comme 1er, 3ème, etc. Soyez prudent. Certaines personnes ne comprennent pas cela. Je ne l'ai pas eu dès la première tentative non plus ;-)
Mise à jour: cette configuration de noyau est maintenant activée dans tous les noyaux Ubuntu pris en charge. Ubuntu 16.04, 15.10 et 14.04 sont affectés.
la source
Comme suggéré par l'utilisateur @zwets, je copie (avec les modifications) une réponse ici:
Depuis la version 4.4.0-20 du noyau, il a été décidé que les modules du noyau non signés ne seraient pas autorisés à s'exécuter avec Secure Boot activé. Si vous souhaitez conserver Secure Boot et également exécuter ces modules, l'étape logique suivante consiste à signer ces modules.
Alors essayons.
Créer des clés de signature
Signer le module
Remarque 1 : Il peut y avoir plusieurs fichiers à signer pour un seul pilote / module, il
/path/to/module
peut donc être nécessaire de les remplacer$(modinfo -n <modulename>)
, par exemple$(modinfo -n vboxdrv)
Note 2 :
sudo kmodsign sha512 ./MOK.priv ./MOK.der /path/to/module
est une alternative sisign-file
n'est pas disponible.Enregistrez les clés pour sécuriser le démarrage
Fournissez un mot de passe pour une utilisation ultérieure après le redémarrage
Reboot
et suivez les instructions pour inscrire MOK (clé du propriétaire de la machine). Voici un échantillon avec des images. Le système redémarre une fois de plus.Si la clé a été correctement enregistrée, elle apparaîtra sous
sudo mokutil --list-enrolled
.Faites-moi savoir si vos modules fonctionneraient de cette façon sur Ubuntu 16.04 (sur le noyau 4.4.0-21, je crois).
Ressources: Article détaillé sur le site Web pour la mise en œuvre par Fedora et Ubuntu de la signature de module. (ils y travaillent) ;-)
Ressource supplémentaire: j'ai créé un script bash pour mon propre usage à chaque
virtualbox-dkms
mise à niveau et écrase ainsi les modules signés. Découvrez monvboxsign
origine sur GitHub .Note complémentaire pour la sécurité (extra) consciente: ;-)
Étant donné que la clé privée que vous avez créée (
MOK.priv
dans cet exemple) peut être utilisée par toute personne pouvant y accéder, il est recommandé de la garder en sécurité. Vous pouvez lechmod
faire, le chiffrer (gpg
ou le stocker) ou le stocker ailleurs dans un coffre-fort (r). Ou, comme indiqué dans ce commentaire , supprimez l'option-nodes
à l'étape numéro 1. Cela chiffrera la clé avec une phrase secrète.la source
Vous pouvez désactiver le démarrage sécurisé (UEFI) dans le BIOS en procédant comme suit:
Redémarrez votre ordinateur et entrez dans le menu du BIOS (dans mon cas, appuyez sur F2)
Recherchez Secure Boot et passez à Legacy
Dans une carte mère ASUS:
la source
Vous pouvez également désactiver le démarrage sécurisé dans l'exécution en cours
sudo update-secureboot-policy
. Cette page wiki explique cette méthode:la source