Je viens d'installer Ubuntu 16.04 avec un démarrage sécurisé et j'ai rencontré le même vmware-error comme décrit ici:
modprobe: ERROR: could not insert 'vmnet': Required key not available
.
Une façon de contourner ce problème est de désactiver le démarrage sécurisé, mais je ne veux pas le faire. L'autre façon est de signer les modules du noyau par moi-même , en suivant ceci fil très détaillé . Il existe un didacticiel expliquant comment faire cela dans RHEL et dans Fedora , mais toutes ces solutions reposent sur un script que je n'arrive pas à trouver:
Sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
Où puis-je trouver ce script sign-file
dans Ubuntu?
Connexes: https://github.com/bergwolf/rhel6/blob/master/Documentation/module-signing.txt et signe un module après la compilation du noya .
Sur Ubuntu, ce serait /usr/src/linux-headers-$(uname -r)/scripts/sign-file
.
Comment ai-je compris cela? J'ai fait une recherche pour sign-file
:
dpkg -S sign-file
qui m’a indiqué quel paquet fournit ce fichier (actuellement linux-headers-4.4.0-22-generic
) et où il a été installé, c’est-à-dire dans /usr/src/linux-headers-4.4.0-22-generic/scripts/
.
La partie uname -r
consiste simplement à garder la commande indépendante du paquet générique d'en-têtes actuellement installé.
Sur le site de VMware, la cause de votre problème est probablement la suivante:
Sur un hôte Linux avec le mode sécurisé activé, il est interdit de charger des pilotes non signés. De ce fait, les pilotes VMware, tels que vmmon et vmnet, ne peuvent pas être chargés, ce qui empêche la mise sous tension de la machine virtuelle.
Pour résoudre ce problème sans désactiver le démarrage sécurisé, vous pouvez effectuer les opérations suivantes dans un terminal:
Générez une paire de clés en utilisant openssl pour signer les modules vmmon et vmnet:
~ $ openssl req -nouveau -x509 -nouvelle clé rsa: 2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -sousj "/ CN = VMware /"
(Remplacez MOK par le nom du fichier que vous voulez pour la clé.)
Signez les modules à l'aide de la clé générée en exécutant les commandes suivantes:
~ $ Sudo/usr/src/linux-en-têtes -
uname -r
/scripts/fichier-signe sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmmon)~ $ Sudo/usr/src/linux-en-têtes -
uname -r
/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)
Importez la clé publique dans la liste MOK du système en exécutant cette commande:
~ $ Sudo mokutil --import MOK.der
Confirmez un mot de passe pour cette demande d'inscription MOK.
Cité de cet article sur VMWare: https://kb.vmware.com/kb/214646