le problème est que le noyau ne peut charger que des modules signés dont la clef est présente dans le bios
le première étape consiste à se créer une clef, qu'il faut ensuite charger dans le bios lors du redémarrage de la machine (attention à bien se souvenir du mot de passe, considérant qu'au redemarrage, le clavier passe en querty dans l'outil de gestion de clefs)
génération de la clef MOK (ici de taille 4096 bits) via openssl :
# openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -newkey rsa:4096 -outform DER -out MOK.der -keyout MOK.priv -subj "/CN=VotreNom/"
importation de la clef publique dans le système :
# mokutil --import MOK.der
on reboote pour l'installation de la clef dans le bios :
# reboot
après avoir rebooté, il faut recompiler les modules :
# cd '/usr/share/virtualbox/src/vboxhost'
# make && make install
puis signer de chacun des modules de VirtualBox :
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 MOK.priv MOK.der $(modinfo -n vboxdrv)
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 MOK.priv MOK.der $(modinfo -n vboxnetadp)
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 MOK.priv MOK.der $(modinfo -n vboxnetflt)
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 MOK.priv MOK.der $(modinfo -n vboxpci)
puis activer ou redémarrer les services associés à VirtualBox :
# systemctl enable vboxdrv.service
# systemctl restart vboxdrv.service
# systemctl enable vboxautostart-service.service
# systemctl restart vboxautostart-service.service
# systemctl enable vboxballoonctrl-service.service
# systemctl restart vboxballoonctrl-service.service
# systemctl enable vboxweb-service.service
# systemctl restart vboxweb-service.service
pour vérifier que les modules ont bien été signés avec notre clef :
# modinfo vboxpci
# modinfo vboxnetadp
# modinfo vboxnetflt
# modinfo vboxpci
# pour vérifier que les clefs sont bien chargées
# lsmod | grep vbox
NOTE : tiré de plusieurs sites, dont celui-ci :
https://ask.fedoraproject.org/en/questions
NOTE2 : il faut recompiler les modules à chaque nouvelle version de noyau (perso, j'ai un script qui me fait ça)