La règle d'or
Le noyau d'abord, VirtualBox en dernier. DKMS compile les modules de VirtualBox (vboxdrv, vboxnetflt, vboxnetadp) contre le noyau actif au moment de l'installation, et les recompile à chaque nouveau noyau des séries autorisées. VirtualBox 7.0.16, la version d'Ubuntu 24.04, compile sur les séries 6.8 et 6.14, jamais sur 6.17 ni 7.0.
uname -r
dkms status
Si uname -r n'est pas en 6.14, réglez le noyau d'abord (plan B ou plan C).
Lire dkms status
La ligne attendue :
virtualbox/7.0.16, 6.14.0-XX-generic, x86_64: installed
Le mot installed en fin de ligne pour le noyau actif, c'est ça qui passe. Autres lectures :
- Vide : VirtualBox n'est pas installé, ou aucun module DKMS.
sudo apt install virtualboxune fois sur le 6.14. addedsansinstalled: le module est connu mais jamais compilé (module zombie). Recompiler :sudo dkms autoinstall.- Une ligne pour un autre noyau seulement : compilé pour l'ancien noyau, pas pour l'actif.
sudo dkms autoinstall -k $(uname -r). dkms autoinstall ... failed: la compilation échoue. Noyau trop récent (6.17, 7.0) ou en-têtes absents :sudo apt install linux-headers-$(uname -r).
Recompiler et charger
sudo dkms autoinstall
sudo modprobe vboxdrv
lsmod | grep vboxdrv
Si modprobe répond « Key was rejected by service » ou « Operation not permitted », Secure Boot bloque le module non signé : page Secure Boot.
Les erreurs au démarrage d'une machine virtuelle
vboxdrv absent. Recompiler et charger (section précédente) ; sous Secure Boot, signer.sudo modprobe -r kvm_intel (ou kvm_amd) puis sudo modprobe -r kvm. Solution permanente ci-dessous.vboxusers : sudo usermod -aG vboxusers $USER, puis déconnexion et reconnexion complète de la session.Conflit KVM contre VirtualBox, solution permanente
KVM et VirtualBox veulent tous deux l'accès exclusif à VT-x ou AMD-V. On empêche KVM de se charger au démarrage :
echo "blacklist kvm
blacklist kvm_intel" | sudo tee /etc/modprobe.d/blacklist-kvm.conf
sudo update-initramfs -u
Puis redémarrer. Sur un processeur AMD, remplacer kvm_intel par kvm_amd. Utiliser KVM et virt-manager à la place de VirtualBox a été écarté pour le cours (compatibilité entre les postes de tout le monde).
Installer proprement sur un poste neuf
- Le noyau 6.14 debout et retenu :
uname -ren 6.14,apt-mark showholdavec les trois métapaquets HWE (plan C). - Secure Boot vérifié :
mokutil --sb-state. Si « enabled », lire Secure Boot avant d'installer. - Installer :
sudo apt install virtualbox. - Point de contrôle :
dkms statusdoit direinstalledpour le noyau actif. - Le groupe vboxusers :
sudo usermod -aG vboxusers $USER, puis déconnexion et reconnexion. - Test ultime :
virtualbox &, créer ou démarrer une machine virtuelle. Si elle démarre, mission accomplie.
backport-iwlwifi-dkms « pour VirtualBox ». Ce pilote Wi-Fi n'a aucun rapport avec VirtualBox et casse la compilation DKMS sur les noyaux récents. Ne l'installez pas ; s'il est là, page apt bloqué.Récapitulatif
| Objectif | Commande |
|---|---|
| État des modules | dkms status |
| Recompiler pour le noyau actif | sudo dkms autoinstall |
| Charger le module | sudo modprobe vboxdrv |
| Libérer VT-x tenu par KVM | sudo modprobe -r kvm_intel kvm |
| Groupe USB | sudo usermod -aG vboxusers $USER |