VirtualBox error: Kernel driver not installed (rc=-1908) (running ubuntu 20.04 on a chromebook through crouton)
When I try to start a virtual machine in VirtualBox, I get the error above. I tried what it asked me to do, but it didn’t work. My kernel version is 4.4.232. Also, here is the error message:
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please reinstall virtualbox-dkms package and load the kernel module by executing 'modprobe vboxdrv' 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.
The virtual machine 'linux 2' has terminated unexpectedly during startup with exit code 1 (0x1). Result Code: NS_ERROR_FAILURE (0x80004005) Component: MachineWrap Interface: IMachine
And yes, I am trying to run Linux within Linux, but I know it’s not that because I have tried multiple different virtual machines. Also, I am running this Ubuntu 20.04 on my chromebook, so if that’s the problem, I’d like a workaround for that. I set it up using crouton on howtogeek.com, if that helps. I have had the same error messages on Ubuntu 16.04 and Ubuntu 18.04, so the version is not the problem. also, I noticed while reinstalling virtualbox the terminal mentions that my kernel version likely belongs to a chroot’s host, so that might be a problem too. If I need a different version of the Linux kernel, I’d like directions to do that because it’s probably different for me since I’m using my chromebook. For anyone who tried running VirtualBox on their chromebook using crouton like I tried and got the same error, from what I’ve read is that on some devices the chrome OS kernel does not support running virtual machines.
Ошибка «Kernel driver not installed (rc=-1908)» в VirtualBox (РЕШЕНО)
При запуске виртуальной машины VirtualBox может возникнуть ошибка:
VirtualBox – Error In suplibOsInit
Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
If your system has EFI Secure Boot enabled you may also need to sigh 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 driver support is not installed. On linux, open returned ENOENT. «
В ней говориться, что необходимо загрузить модули ядра VirtualBox.
Информация в командной строке:
WARNING: The vboxdrv kernel module is not loaded. Either there is no module available for the current kernel (5.19.3-arch1-1) or it failed to load. Please recompile the kernel module and install it by sudo /sbin/vboxconfig You will not be able to start VMs until this problem is fixed.
На самом деле, всё не так просто и скорее всего запуск /sbin/vboxconfig не поможет (если по этому пути вообще что-то есть).
Дело в том, что при установке VirtualBox необходимые свои модули эта программа добавляет в автозагрузку. Следовательно, если загрузка не произошла, значит на это имеется причина.
Попробуйте заново установить VirtualBox. Во-первых, использование правильных команд может просто решить проблему. Если проблема не разрешится, то изучите все записи, которые появятся во время установки — в них может содержаться ключ к дальнейшим действиям.
Для Debian и производных (Ubuntu, Linux Mint, Kali Linux) вы можете установить VirtualBox из стандартных репозиториев:
sudo apt install virtualbox virtualbox-qt linux-headers-"$(uname -r)" dkms vde2 virtualbox-guest-additions-iso vde2-cryptcab
Для в Arch Linux и производных (BlackArch и другие) вы можете установить VirtualBox из стандартных репозиториев:
sudo pacman -S virtualbox linux-headers virtualbox-host-dkms virtualbox-guest-iso
Пример ошибки, в которой содержится подсказка:
(1/2) Install DKMS modules ==> Unable to install module vboxhost/5.2.16_OSE for kernel 4.17.11-arch1: Missing kernel headers.
В ней говориться, что невозможно установить модуль vboxhost, поскольку отсутствуют заголовки ядра. В этом случае нужно установить пакет с заголовками для вашей версии ядра. Примерное название пакета: linux-headers.
После установки заголовков, заново переустановите DKMS. Ошибка должна исчезнуть.
Если всё прошло хорошо, можно необходимый модуль запустить вручную:
Но рекомендуется просто перезагрузить компьютер, поскольку другие модули VirtualBox также не запущены и будут появляться новые ошибки.
Если это всё не помогло, то продолжаем разбираться.
Теперь для запуска модулей ядра используется служба virtualbox.service, проверьте её статус и, если она не работает, то какая выводится ошибка:
systemctl status virtualbox.service
Также посмотрите, какие ошибки имеются связанные с модулями VirtualBox:
Попробуйте запустить модуль вручную:
Возможно в полученных ошибках будет подсказка для дальнейших действий.
VirtualBox работала, но после обновления ядра возникла ошибка «Kernel driver not installed (rc=-1908)»
В данном случае причина довольно очевидна — VirtualBox не совместима с новой версией ядра.
Варианты решения проблемы:
1. Дождаться обновления VirtualBox с исправлением ошибки.
2. Откатиться до предыдущей версии ядра.
Пользователи Arch Linux и основанных на нём дистрибутивах могут воспользоваться инструкцией «Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts».
== Далее устаревшая информация, она оставлена для тех, у кого старая версия VirtualBox ==
virtualbox-host-modules-arch и virtualbox-host-dkms используют службу systemd-modules-load.service для автоматической загрузки всех четырёх модулей VirtualBox при старте компьютера. Поэтому проверьте статус этой службы:
systemctl status systemd-modules-load.service
Если она не запущена, запустите её и добавьте в автозагрузку.
Убедитесь, что модули указаны в файле /usr/lib/modules-load.d/virtualbox-host-modules-arch.conf (или /usr/lib/modules-load.d/virtualbox-host-dkms.conf) и что эти файлы не пустые (или не содержат символическую ссылку на /dev/null).