zaLinux.ru

Ошибка «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

'/sbin/vboxconfig'

as root.

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. Ошибка должна исчезнуть.


Если всё прошло хорошо, можно необходимый модуль запустить вручную:

sudo modprobe vboxdrv

Но рекомендуется просто перезагрузить компьютер, поскольку другие модули VirtualBox также не запущены и будут появляться новые ошибки.

Если это всё не помогло, то продолжаем разбираться.

Теперь для запуска модулей ядра используется служба virtualbox.service, проверьте её статус и, если она не работает, то какая выводится ошибка:

systemctl status virtualbox.service

Также посмотрите, какие ошибки имеются связанные с модулями VirtualBox:

dmesg | grep vbox

Попробуйте запустить модуль вручную:

sudo modprobe vboxdrv

Возможно в полученных ошибках будет подсказка для дальнейших действий.

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).


Рекомендуемые статьи:

3 Комментарии

  1. Лера

    А можно, пожалуйста, для Федоры тоже?

  2. Max

    Убедитесь, что модули указаны в файле /usr/lib/modules-load.d/virtualbox-host-modules-arch.conf (или /usr/lib/modules-load.d/virtualbox-host-dkms.conf) и что эти файлы не пустые (или не содержат символическую ссылку на /dev/null).

    В папке /usr/lib/modules-load.d оказалось пусто.
    Подскажите что делать дальше?

    1. Alexey (Автор записи)

      Приветствую!

      Видимо, что-то поменялось. Теперь для запуска модулей ядра используется служба virtualbox.service, проверьте её статус и, если она не работает, то какая выводится ошибка:

      systemctl status virtualbox.service

      Также посмотрите, какие ошибки имеются связанные с модулями VirtualBox:

      dmesg | grep vbox
      

Оставить комментарий

Ваш адрес email не будет опубликован.