LINUX.ORG.RU

VirtualBox выдаёт ошибку Kernel driver not installed (rc=-1908)

 , ,


0

1

После установки, при запуске VirtualBox в Ubuntu 24.04 выскакивает вот такое окно, сообщение "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.

Secure Boot включен, нужно настроить запуск VirtualBox не выключая secure boot. Как я поняла нужно загрузить/подписать модули ядра. Я не специалист) Буда рада помощи.



Последнее исправление: Lika (всего исправлений: 1)

Держи ответ чата ГПТ:

На Ubuntu 24.04 запуск VirtualBox при включённом Secure Boot требует дополнительных шагов, так как модули ядра VirtualBox должны быть подписаны цифровой подписью, доверенной загрузчиком. Вот пошаговая инструкция:


✅ 1. Установите VirtualBox

Если ещё не установлен:

sudo apt update
sudo apt install virtualbox virtualbox-dkms

✅ 2. Убедитесь, что Secure Boot включён

Проверьте в терминале:

mokutil --sb-state

Если видите SecureBoot enabled, значит включён.


✅ 3. Сгенерируйте собственный сертификат для подписи

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.key -out MOK.crt -nodes -days 36500 -subj "/CN=My VirtualBox Module Signer/"

Создаёт приватный ключ MOK.key и сертификат MOK.crt.


✅ 4. Импортируйте сертификат в систему (через MOK)

sudo mokutil --import MOK.crt

Вас попросят придумать пароль. Запомните его!


✅ 5. Перезагрузите и зарегистрируйте ключ

После перезагрузки появится синий экран MOK Manager:

  • Выберите «Enroll MOK»
  • Затем «Continue»
  • Введите ранее заданный пароль
  • Выберите «Yes» и перезагрузитесь

✅ 6. Подпишите модули VirtualBox

Найдите модули:

modinfo vboxdrv | grep filename

Обычно это:

  • /lib/modules/$(uname -r)/updates/dkms/vboxdrv.ko
  • /lib/modules/$(uname -r)/updates/dkms/vboxnetflt.ko
  • /lib/modules/$(uname -r)/updates/dkms/vboxnetadp.ko
  • /lib/modules/$(uname -r)/updates/dkms/vboxpci.ko (если установлен)

Подпишите каждый:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 MOK.key MOK.crt /полный/путь/к/модулю.ko

Пример:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 MOK.key MOK.crt /lib/modules/$(uname -r)/updates/dkms/vboxdrv.ko

Повторите для всех .ko модулей.


✅ 7. Перезагрузите систему

Теперь модули должны загрузиться без ошибок:

sudo modprobe vboxdrv

🔎 Проверка

Проверьте, что модуль загружен:

lsmod | grep vbox

Или запустите VirtualBox:

virtualbox
masa ★★
()
Ответ на: комментарий от masa

DKMS уже давно сам генерирует ключ и подписывает модули, поэтому надо лишь этот ключ установить: sudo mokutil --import /var/lib/dkms/mok.pub. Самому генерировать ключ и подписывать модули нет необходимости.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Вот я тоже помню, что дкмс сам все подписывает, только энрольнуть ключ. Даже переспросил у гпт, он сказал «нет приватные ключи не распространяются, поэтому ты должен сгенерировать сам». Бредит наверно.

masa ★★
()
Ответ на: комментарий от masa

Кстати, все эти ИИ не переобучаются на вновь поступающих данных, пока работают, будучи выкаченными в прод. Поэтому один ИИ может сказать так, а другой – может дать и более свежую информацию.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

Конкретно это был ответ gpt-4o, которая вышла год назад.

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

masa ★★
()

Тут выше в треде правильно пишут про подписи модулей для UEFI и всего такого.

Но сперва давай проверим базу, что ты не пытаешься поставить попросту несовместимую версию VB, скажем не пробуешь на Ubuntu 22.04 поставить версию для 18.04, что есть нужные заголовки и прочее.

Покажи выводы:

uname -r
lsb_release -a
apt list --installed | grep -i -e virtualbox -e linux
grep -v -e "^#" -e "^$" /etc/apt/sources.list
grep -v -e "^#" -e "^$" /etc/apt/sources.list.d/*

Как правильно копировать вывод терминала

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Lika

Скажи спасибо троллям тупостью. В последнее время у них тут новая мода – притворяться неграмотной в Linux девушкой, которая жутко тупит на базовых вещах, а потом ВНЕЗАПНО в курсе, как использовать strace и т.п.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Lika

apt list --installed | 
> grep -i -e virtualbox -e linux

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

binutils-x86-64-linux-gnu/noble-updates,noble-security,now 2.42-4ubuntu2.5 amd64 [установлен, автоматически]
console-setup-linux/noble,now 1.226ubuntu1 all [установлен, автоматически]
cpp-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [установлен, автоматически]
cpp-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [установлен, автоматически]
g++-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [установлен, автоматически]
g++-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [установлен, автоматически]
gcc-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [установлен, автоматически]
gcc-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [установлен, автоматически]
libselinux1/noble-updates,now 3.5-2ubuntu2.1 amd64 [установлен, автоматически]
linux-base/noble-updates,now 4.5ubuntu9+24.04.1 all [установлен, автоматически]
linux-libc-dev/noble-updates,noble-security,now 6.8.0-62.65 amd64 [установлен, автоматически]
linux-sound-base/noble,now 1.0.25+dfsg-0ubuntu7 all [установлен, автоматически]
pptp-linux/noble,now 1.10.0-1build4 amd64 [установлен, автоматически]
util-linux/noble-updates,now 2.39.3-9ubuntu6.2 amd64 [установлен, автоматически]
virtualbox-7.1/now 7.1.10-169112~Ubuntu~noble amd64 [установлен, локальный]
Lika
() автор топика
Ответ на: комментарий от Lika

apt list --installed |
> grep -v -e "^#" -e "^$" /etc/apt/sources.list.d/*

/etc/apt/sources.list.d/ivpn.list:deb [arch=amd64 signed-by=/usr/share/keyrings/ivpn-archive-keyring.gpg] https://repo.ivpn.net/stable/ubuntu ./generic main
/etc/apt/sources.list.d/ubuntu.sources:Types: deb
/etc/apt/sources.list.d/ubuntu.sources:URIs: http://ru.archive.ubuntu.com/ubuntu/
/etc/apt/sources.list.d/ubuntu.sources:Suites: noble noble-updates noble-backports
/etc/apt/sources.list.d/ubuntu.sources:Components: main restricted universe multiverse
/etc/apt/sources.list.d/ubuntu.sources:Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
/etc/apt/sources.list.d/ubuntu.sources:Types: deb
/etc/apt/sources.list.d/ubuntu.sources:URIs: http://security.ubuntu.com/ubuntu/
/etc/apt/sources.list.d/ubuntu.sources:Suites: noble-security
/etc/apt/sources.list.d/ubuntu.sources:Components: main restricted universe multiverse
/etc/apt/sources.list.d/ubuntu.sources:Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Types: deb
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:URIs: http://archive.ubuntu.com/ubuntu/
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Suites: noble noble-updates noble-backports
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Components: main universe restricted multiverse
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Types: deb
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:URIs: http://security.ubuntu.com/ubuntu/
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Suites: noble-security
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Components: main universe restricted multiverse
/etc/apt/sources.list.d/ubuntu.sources.curtin.orig:Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Lika
() автор топика
Ответ на: комментарий от Lika

Мда… криво-криво ввела команды, что я просил.

Просто адски криво, хорошо, что ОС не угробила.

Тебе видимо нужно яснее разделять, где кончается одна команда, и идет иная.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Lika

Что за ерунда? Тут вообще нет пакетов ядра в списке, не то что заголовков.

У тебя такой вывод, будто это не Linux на железе, а контейнер с Ubuntu.

Ты часом не на VPS пробуешь поставить?

Или ты накосячила со вводом, и потому не так отработало.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Lika

Пришли пожалуйста выводы вот этих 2 команд, я разделил их ###, так как ранее ты выше путалась, где кончается одна и идет другая:

dpkg-query -l | grep -i -e linux -e dkms -e generic -e virtualbox
###
ls -la /boot/
Vsevolod-linuxoid ★★★★★
()

Secure Boot включен, нужно настроить запуск VirtualBox не выключая secure boot

Таки лучше выключить! Или перейти на Qemu/KVM если он уже вшит в подписанное ядро.

kirill_rrr ★★★★★
()