Si vous utilisez Debian 8 (Jessie) et VirtualBox, vous avez sans doute remarqué que la version de VirtualBox du dépôt Debian date un peu, puisque c'est une version 4.3.40 qui date de l'été 2016.

On souhaitera donc installer la version maintenue de VirtualBox, la 5.2, comme indiqué sur le Wiki de VirtualBox.

Une fois cette version installée, si vous créez une machine virtuelle, par exemple avec Vagrant, vous obtiendrez certainement l'erreur suivante:

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "b81392d9-6f90-4c80-87e0-91bd0d95ef56", "--type", "headless"]

Stderr: VBoxManage: error: The virtual machine 'test_vbox_52_default_1540707024933_47897' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

La machine virtuelle ne démarre pas !

La cause est la suivante: VirtualBox 5.2 essaie d'utiliser les "kernels modules" de la version 4.3 de VirtualBox et ce même si on a supprimé tous les paquets correspondants à cette version :-(

Il nous faut donc reconstruire ces modules par:

# sudo rcvboxdrv setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.

Comme indiqué à la fin du paragraphe suivant.

Et la VM va maintenant démarrer.

D'ailleurs, si vous regardez bien, VirtualBox 5.2 ne comporte pas de paquet virtualbox-dkms comme c'était le cas auparavant. Un seul paquet est installé:

# dpkg --list | grep virtualbox
ii  virtualbox-5.2                        5.2.20-125813~Debian~jessie                amd64        Oracle VM VirtualBox

Voilà, vous pouvez utiliser la dernière version de VirtualBox et la version la plus récente de Vagrant sur Debian Jessie.