Je passe d'Ubuntu 15.10 à 16.04 et depuis lors, VirtualBox 5.0.18 ne démarre plus mes VM. Il se plaint que 'vboxdrv' ne soit pas chargé. Alors j'essaye de le charger et j'obtiens l'erreur suivante:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Je crois qu'il est lié au démarrage sécurisé que j'utilise et que je souhaite continuer à utiliser. En fait, avec Ubuntu 15.10, le démarrage sécurisé et VirtualBox fonctionnaient parfaitement.
J'ai aussi essayé de savoir $ sudo apt-get --reinstall install virtualbox-dkms
qui avait construit le module du noyau avec succès, mais je n'ai pas résolu ce problème.
Avez-vous une idée de la façon de charger vboxdrv tout en maintenant l’activation du démarrage sécurisé?
Mise à jour 2 : J'ai aussi essayé de m'exécuter sudo mokutil --disable-validation
. Lors de l'exécution de cette commande, lors du prochain démarrage, on me demande de désactiver le démarrage sécurisé, d'ajouter une clé ou un hachage à partir du disque. Puisque je ne veux pas désactiver le démarrage sécurisé, il semble que cela ne résolve pas mon problème non plus. Aussi, je veux garder UEFI activé pour une installation parallèle de Windows.
Remarque : Si vous ne craignez pas de désactiver le démarrage sécurisé, reportez -vous à la section Pourquoi est-ce que je reçois le message "La clé requise n'est pas disponible" lors de l'installation de modules de noyau tiers ou après une mise à niveau du noyau? au lieu.
aptitude install virtualbox virtualbox-dkms
va signer le module et vous demander un mot de passe unique (?). Redémarrez, entrez MOK config et enregistrez la clé en utilisant ce mot de passe.Réponses:
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é. Comme vous souhaitez conserver Secure Boot, l'étape logique suivante consiste à signer ces modules.
Alors essayons.
Créer des clés de signature
Option : pour plus de sécurité, ignorez le commutateur -nodes, qui vous demandera un mot de passe. Ensuite, avant de passer à l'étape suivante, assurez-vous de
export KBUILD_SIGN_PIN='yourpassword'
Signer le module (vboxdrv pour cet exemple, mais répétez l'opération pour les autres modules
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
pour une fonctionnalité complète)Confirmer que le module est signé
Enregistrez les clés pour sécuriser le démarrage
qui vous demandera un mot de passe pour confirmer l’importation à l’étape suivante.
Redémarrez 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.
Confirmer que la clé est inscrite
Si VirtualBox ne se charge toujours pas, c'est peut-être parce que le module ne s'est pas chargé (
sudo modprobe vboxdrv
cela résoudra le problème) ou que la clé n'est pas signée. Répétez simplement cette étape et tout devrait bien fonctionner.Ressources: Article détaillé sur le site Web pour la mise en œuvre par Fedora et Ubuntu de la signature de module. @zwets pour plus de sécurité . @shasha_trn pour avoir mentionné tous les modules .
Ressource supplémentaire: j'ai créé un script bash pour mon propre usage à chaque
virtualbox-dkms
mise à niveau, écrasant ainsi les modules signés. Découvrez ma vboxsign à l'origine sur GitHub .la source
sudo apt install --reinstall virtualbox-dkms
avant de suivre les instructions fournies.KBUILD_SIGN_PIN
variable d'environnement?export KBUILD_SIGN_PIN=password
etexport KBUILD_SIGN_PIN="password"
avant l' étape 2 à la fois entraînéSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
Sur mon système, j'ai fait ce qui suit pour que cela fonctionne:
Exécutez mokutil:
Ensuite, mokutil m'a demandé de définir un mot de passe pour le gestionnaire MOK. Après le redémarrage du PC, le BIOS affiche une boîte de dialogue pour configurer le gestionnaire MOK. J'ai désactivé SecureBoot à partir de cette boîte de dialogue, elle a demandé plusieurs caractères à partir du mot de passe (c.-à-d. Entrer le caractère (5), etc.).
Après avoir démarré les modules vboxdrv chargés correctement.
Curieusement, mokutil indique toujours que SecureBoot est activé:
la source
Vous pouvez désactiver le contrôle de validation en
Après cela, les packages DKMS doivent être installés.
la source
J'ai eu une erreur à propos de vboxdrv après la mise à niveau aussi. Mais il y avait un problème avec l'ancienne version (5.0.14) de Oracle VM VirtualBox Extension Pack. J'ai téléchargé et installé la version plus récente (5.0.18) de ce pack et le problème a disparu.
la source
Très bien, donc après un peu de test, je suis presque sûr que c'est un problème de démarrage sécurisé.
Comme dans le cas où il est activé, ceci est lancé:
Cependant, si le démarrage sécurisé est désactivé, virtualbox se charge parfaitement, sans erreur.
J'ai toujours mon bios en UEFI.
la source
J'ai eu le même problème aujourd'hui, j'avais Windows 10 et Ubuntu 15.10 sur un double démarrage avec uefi activé sur Bios (je ne l'ai pas désactivé pour pouvoir exécuter Windows pré-installé).
Après la mise à niveau vers Ubuntu 16.04, VirtualBox a cessé de charger mes ordinateurs virtuels avec le même message d'erreur:
Je soupçonnais un problème avec UEFI car, lors de la mise à niveau, le programme d’installation me demandait si je voulais le désactiver. J’ai répondu non (car oui, mon Windows pourrait être inutilisable).
Ce que j’ai fait est d’aller dans le Bios et d’activer la prise en charge du démarrage du BIOS hérité SANS la désactivation du démarrage sécurisé.
Virtualbox fonctionne bien maintenant.
Mise à jour : Comme @zwets l'a justement souligné dans le commentaire, l'activation de modules hérités entraîne la désactivation de l'amorçage sécurisé.
la source