Le symptôme
VirtualBox est installé, dkms status dit installed, et pourtant aucune machine virtuelle ne démarre. Dans les journaux : « You must sign these kernel modules before using VirtualBox: vboxdrv vboxnetflt vboxnetadp ». Sur un poste, le service vboxdrv qui bouclait sur ce message avait gonflé /var/log/syslog.1 à 50 Go. Avec Secure Boot activé (fréquent sur les Dell Latitude), les modules DKMS non signés refusent de se charger.
mokutil --sb-state
lsmod | grep vboxdrv
« SecureBoot enabled » et vboxdrv absent : c'est ici.
La procédure MOK complète
- Générer la clé (une seule fois par poste) :
sudo mkdir -p /var/lib/shim-signed/mok sudo openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv -outform DER -out /var/lib/shim-signed/mok/MOK.der -nodes -days 36500 -subj "/CN=VBoxMOK/" - Demander l'enrôlement. Il demande un mot de passe temporaire : simple (par exemple 8 chiffres), l'écran bleu est en clavier US.
sudo mokutil --import /var/lib/shim-signed/mok/MOK.der mokutil --list-new--list-newdoit montrer la clé en attente. - Dire à DKMS de signer avec cette clé :
echo "mok_signing_key=/var/lib/shim-signed/mok/MOK.priv mok_certificate=/var/lib/shim-signed/mok/MOK.der" | sudo tee -a /etc/dkms/framework.conf - Redémarrer et enrôler à l'écran bleu. Présence physique obligatoire (rien à faire en SSH), délai d'environ 10 secondes au démarrage, navigation aux flèches : « Perform MOK management », « Enroll MOK », « Continue », « Yes », taper le mot de passe (clavier US), « Reboot ».
- Après le redémarrage, vérifier et reconstruire :
mokutil --list-enrolled | grep VBoxMOK sudo rcvboxdrv setup sudo systemctl start vboxdrv && sudo systemctl status vboxdrv lsmod | grep vboxdrv
Quand l'installation demande elle-même le mot de passe
Sur un poste neuf, sudo apt install virtualbox (ou sudo ubuntu-drivers install pour NVIDIA) détecte Secure Boot et affiche un écran bleu « Configuring Secure Boot » pendant l'installation : choisir un mot de passe simple, le noter. Au redémarrage suivant, l'écran bleu MOK Manager apparaît : même séquence qu'à l'étape 4. Si on saute cette étape, le module ne charge pas ; l'affichage continue de marcher pour NVIDIA (l'Intel affiche), mais VirtualBox reste sans vboxdrv.
Dépannage de l'enrôlement
sudo mokutil --import ...) et redémarrer en surveillant l'écran.sudo mokutil --reset, redémarrer, choisir « Reset MOK », puis recommencer le cycle proprement (deux redémarrages).mokutil --import exige un certificat x509 en DER. openssl x509 -pubkey -noout sort du PEM : importer MOK.der directement.sudo truncate -s 0 /var/log/syslog.1 /var/log/syslog puis sudo systemctl restart rsyslog.Récapitulatif
| Objectif | Commande |
|---|---|
| État de Secure Boot | mokutil --sb-state |
| Clés en attente | mokutil --list-new |
| Clés enrôlées | mokutil --list-enrolled |
| Reconstruire et signer VirtualBox | sudo rcvboxdrv setup |
| Module chargé ? | lsmod filtré sur vboxdrv |