В Elementary OS в штатном AppCenter не самая свежая версия VirtualBox. Если добавить репозиторий в том виде, как рекомендуется на официальном сайте, то можно получить ошибку:
N: Пропускается получение настроенного файла «contrib/binary-i386/Packages», так как репозиторий «http://download.virtualbox.org/virtualbox/debian bionic InRelease» не поддерживает архитектуру «i386»
Я использовал следующий способ установки новейшего VirtualBox:
sudo sh -c 'echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian bionic contrib" >> /etc/apt/sources.list.d/virtualbox.list'
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
sudo apt update
sudo apt install virtualbox-6.1
Версию в последней команде подставляйте, которая актуальна в момент прочтения статьи. Посмотреть можно по ссылке на официальном сайте. Сейчас там доступна VirtualBox 6.1.2. В команде ставлю 6.1.
Проверено на Elementary OS 5.0 Juno, 5.1 Hera.
В Ubuntu 22.04 установку VirtualBox выполнял командой:
sudo apt install virtualbox virtualbox-qt linux-headers-"$(uname -r)" dkms vde2 virtualbox-guest-additions-iso vde2-cryptcab
Обновление VirtualBox
Всё сказанное актуально для VirtualBox версий 5.x, 6.x, и может быть для будущих версий. Разница только в версии в последней команде. Я обновлял у себя VirtualBox с версии 5.2 до 6.1. Удалять старую версию не пришлось, все было сделано автоматически. Просто ставил новую нужную версию. Все виртуальные машины остались на месте.
На мой взгляд версия 6.x работает не хуже 5.x. Были опасения, когда ставил, но они оказались напрасными. С глюками не сталкивался. Использую VirtualBox в основном для веб-серверов на Debian — локальная среда разработки. Понравился улучшенный дизайн. Смотрится красиво и аккуратно, больше соответствует Elementary OS.
Ошибка
В какой-то момент, может быть это случилось из-за обновлений дистрибутива, у меня стала появляться ошибка при запуске виртуальных машин:
Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing
'/sbin/vboxconfig'
as root.
If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.
Мне помогло удаление Virtualbox и повторная его установка. Все настройки и виртуальные машины остались на своих местах. Потом уже нашёл способ, которым можно попробовать решить проблему без переустановки. Пробуйте:
sudo apt install linux-headers-$(uname -r)
sudo apt install virtualbox-dkms --reinstall
sudo modprobe vboxdrv