Retour à l'accueil

VirtualBox

L'ordre d'installation, la lecture de dkms status, le conflit avec KVM, le groupe vboxusers et le test ultime

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 :

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

VERR_VM_DRIVER_NOT_INSTALLED vboxdrv absent. Recompiler et charger (section précédente) ; sous Secure Boot, signer.
VERR_VMX_IN_VMX_ROOT_MODE, « VirtualBox can't operate in VMX root mode » KVM tient déjà VT-x. Libérer immédiatement : sudo modprobe -r kvm_intel (ou kvm_amd) puis sudo modprobe -r kvm. Solution permanente ci-dessous.
Avertissement USB, périphériques invisibles dans la VM Votre compte n'est pas dans le groupe 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

  1. Le noyau 6.14 debout et retenu : uname -r en 6.14, apt-mark showhold avec les trois métapaquets HWE (plan C).
  2. Secure Boot vérifié : mokutil --sb-state. Si « enabled », lire Secure Boot avant d'installer.
  3. Installer : sudo apt install virtualbox.
  4. Point de contrôle : dkms status doit dire installed pour le noyau actif.
  5. Le groupe vboxusers : sudo usermod -aG vboxusers $USER, puis déconnexion et reconnexion.
  6. Test ultime : virtualbox &, créer ou démarrer une machine virtuelle. Si elle démarre, mission accomplie.
Une vieille procédure d'installation faisait installer 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

ObjectifCommande
État des modulesdkms status
Recompiler pour le noyau actifsudo dkms autoinstall
Charger le modulesudo modprobe vboxdrv
Libérer VT-x tenu par KVMsudo modprobe -r kvm_intel kvm
Groupe USBsudo usermod -aG vboxusers $USER

Les pages du site