При запуске виртуальной машины 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).
Связанные статьи:
- Решение ошибки VERR_VD_IMAGE_READ_ONLY (52.8%)
- Ошибка в VirtualBox «Failed to load R0 module» (РЕШЕНО) (52.8%)
- Гостевая машина VirtualBox не загружается если выбран тип подключения «Сетевой мост» (РЕШЕНО) (52.8%)
- Общая папка VirtualBox доступна только для чтения (РЕШЕНО) (52.8%)
- Ошибка «/sbin/mount.vboxsf: mounting failed with the error: No such file or directory» (РЕШЕНО) (52.8%)
- Ошибка «No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php8.1-fpm.sock (*:80) failed» (РЕШЕНО) (RANDOM - 2.8%)
А можно, пожалуйста, для Федоры тоже?
В папке /usr/lib/modules-load.d оказалось пусто.
Подскажите что делать дальше?
Приветствую!
Видимо, что-то поменялось. Теперь для запуска модулей ядра используется служба virtualbox.service, проверьте её статус и, если она не работает, то какая выводится ошибка:
Также посмотрите, какие ошибки имеются связанные с модулями VirtualBox:
Убедитесь что включена виртуализация в bios