Вопрос или проблема
После устранения некоторых проблем при попытке настроить VirtualBox, я столкнулся с этой проблемой и теперь застрял.
Драйвер ядра не установлен (rc=-1908)
Драйвер ядра Linux для VirtualBox либо не загружен, либо неправильно настроен. Пожалуйста, переустановите пакет virtualbox-dkms и загрузите модуль ядра, выполнив
'modprobe vboxdrv'
от имени root.
Если на вашей системе включена загрузка EFI Secure Boot, вам также может потребоваться подписать модули ядра (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) перед их загрузкой. Обратитесь к документации вашей системы Linux для получения дополнительной информации.
где: suplibOsInit что: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - Поддерживающий драйвер не установлен. На Linux open вернул ENOENT.
Я пробовал переустанавливать virtualbox dkms снова, но ничего не помогает, что бы я ни делал. Кто-нибудь знает, что делать в этой ситуации? Может, кто-то еще проходил через это?
ИЗМЕНЕНО: Моя версия Ubuntu – 24.04.1 LTS
.
Ответ или решение
Устранение ошибки Secure Boot в Oracle VM VirtualBox может быть вызовом, особенно если ваша система использует EFI Secure Boot. Ваша проблема проявляется в виде сообщения об ошибке, которое указывает, что драйвер ядра VirtualBox не установлен или не настроен должным образом. Давайте разберем теорию, возможные причины и как вы можете их устранить.
Теория
EFI Secure Boot — это функция безопасности, которая гарантирует, что загружаемые компоненты ОС подписаны следуемыми ключами разработчика. Если модули ядра VirtualBox не подписаны или не распознаются системой, они не будут загружены, что приводит к ошибкам.
Основные причины ошибки:
- Драйвер ядра VirtualBox не установлен или неправильно настроен.
- Secure Boot блокирует загрузку непроверенных модулей ядра.
- Ошибки при установке пакета
virtualbox-dkms
.
Пример
В вашем случае, сообщение об ошибке указывает на проблему с драйвером ядра VirtualBox в Linux, а также упоминает, что система имеет включенный Secure Boot.
Применение
Для решения этой проблемы, следуйте этим шагам:
-
Отключите Secure Boot (рекомендуется для тестирования):
Однако, выполнение данной операции может снизить безопасность системы. Если вы уверены в безопасности вашей системы, вы можете войти в BIOS, найти настройку Secure Boot и временно ее отключить. После этого перезагрузите систему и проверьте, исчезла ли ошибка.
-
Подпишите модули ядра:
Есть безопасный способ решения проблемы, не отключая Secure Boot — это подписать модули ядра.
-
Создайте самоподписанный сертификат:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
-
Импортируйте его в MOK (Machine Owner Key) менеджер:
sudo mokutil --import MOK.der
Вас попросят создать пароль. Он понадобится вам при следующей перезагрузке.
-
После перезагрузки система загрузится в Mokutil меню. Изберите опцию "Enroll MOK", следуйте инструкциям и введите пароль.
-
Затем подпишите модули:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv MOK.der $(modinfo -n vboxdrv)
Выполните ту же операцию для других модулей (
vboxnetflt
,vboxnetadp
,vboxpci
), если это необходимо. -
-
Перезагрузка системы:
Перезагрузите систему и попробуйте снова запустить VirtualBox. Если все шаги были выполнены правильно, проблема должна быть решена.
Следуя данным рекомендациям, вы обеспечите правильную работу VirtualBox в вашей системе с включенным Secure Boot на Ubuntu 24.04.1 LTS. В случае продолжительных проблем может понадобиться дальнейшая диагностика с перспективы системной безопасности и управления ключами.