LINUX.ORG.RU

Fedora 36. Не запускается Kali Linux в VirtualBox

 , , ,


0

1

Установил, VirtualBox, загрузил туда образ, при попытке запуска выдаёт ошибку. Подскажите новичку.

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is probably not loaded.You may not have kernel driver installed for kernel that is runnig, if so you may do as root: dnf install akmod-VirtualBox kernel-devel-$(uname -r)If you installed VirtualBox packages and don’t want reboot the system, you may need load the kernel driver, doing as root: akmods; systemctl restart vboxdrv.service

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.

kernel установлен и обновлён несколько раз.



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

Ответ на: комментарий от veyayawet

А я имел ввиду, что кейринг ядра немного не связан с db Secure Boot, и одобрять можно именно в ядре.

Как пример, в раче модули подписаны ключём разработчиков рача, и достаточно подписать своим ключём само ядро (или MOKом, или добавить хэш для shim), а ключ найдённый в подписанным бинарнике ядра тоже станет доверённым.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от veyayawet

На systemctl enable –now vboxdrv мне выдал следующее:

[root@fedora ~]# modinfo vboxdrv filename: /lib/modules/5.17.6-300.fc36.x86_64/extra/VirtualBox/vboxdrv.ko.xz version: 6.1.34_rpmfusion r150636 (0x00320000) license: GPL description: Oracle VM VirtualBox Support Driver author: Oracle Corporation rhelversion: 9.99 srcversion: 4F8CB5BAB694F0C7A59727B depends:
retpoline: Y name: vboxdrv vermagic: 5.17.6-300.fc36.x86_64 SMP preempt mod_unload parm: force_async_tsc:force the asynchronous TSC mode (int) [root@fedora ~]# systemctl enable –now vboxdrv Job for vboxdrv.service failed because the control process exited with error code. See «systemctl status vboxdrv.service» and «journalctl -xeu vboxdrv.service» for details. [root@fedora ~]#

ilyaGor
() автор топика
Ответ на: комментарий от kostik87

× vboxdrv.service - Linux kernel module init script

 Loaded: loaded (/usr/lib/systemd/system/vboxdrv.service; enabled; vendor preset: enabled)

 Active: failed (Result: exit-code) since Mon 2022-05-16 12:32:01 MSK; 11min ago

Process: 4185 ExecStart=/sbin/modprobe vboxdrv (code=exited, status=1/FAILURE)

Main PID: 4185 (code=exited, status=1/FAILURE) CPU: 262ms

мая 16 12:32:01 fedora systemd[1]: Starting vboxdrv.service - Linux kernel module init script…

мая 16 12:32:01 fedora modprobe[4185]: modprobe: ERROR: could not insert ‘vboxdrv’: Key was rejected by service

мая 16 12:32:01 fedora systemd[1]: vboxdrv.service: Main process exited, code=exited, status=1/FAILURE

мая 16 12:32:01 fedora systemd[1]: vboxdrv.service: Failed with result ‘exit-code’.

мая 16 12:32:01 fedora systemd[1]: Failed to start vboxdrv.service - Linux kernel module init script.

ilyaGor
() автор топика
Ответ на: комментарий от ilyaGor

Попробуй

sudo dnf remove VirtualBox
sudo dnf install VirtualBox

И заведи баг на этих идиотов из RPMFusion, что в погоне за отказом от устаревших скриптов для sysvinit выкинули и нужный скрипт. К слову, в пакете от Oracle этот скрипт есть (но он, увы, максимум для Fedora 35):

[root@fedora ~]# rpm -ql VirtualBox | grep postinst-common
[root@fedora ~]# rpm -qlp /home/user/VirtualBox-6.1-6.1.34_150636_fedora33-2.x86_64.rpm | grep postinst-common
warning: /home/user/VirtualBox-6.1-6.1.34_150636_fedora33-2.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY
/usr/lib/virtualbox/postinst-common.sh

Короче, ты не виноват, это криво собрали в RPMFusion. Они забыли /usr/lib/virtualbox/postinst-common.sh положить в сборку. /sbin/vboxconfig — это просто симлинк на этот скрипт в большинстве Linux.

Что любопытно, проблема проявляется только если ставить сперва неправильно, а потом попробовать исправить. Если ставить сперва модули ядра и прочее, а потом VirtualBox, то всё работает. Вот только без возможности перенастройки без переустановки.

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

Ну можешь всё же поставить этот пакет, авось и подойдет:

https://computingforgeeks.com/how-to-install-virtualbox-on-fedora-linux/

Хотя без гарантий, есть ещё кросс-дистрибутивный пакет. Да и вообще, вот тут список: https://www.virtualbox.org/wiki/Linux_Downloads

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от ilyaGor
мая 16 12:32:01 fedora modprobe[4185]: modprobe: ERROR: could not insert ‘vboxdrv’: Key was rejected by service

Нужно либо подписать модуль ключём, который присутствует в хранилище ключей uefi, либо отключить проверку подписи (secure boot).

Вот первая статья которую нашёл: https://gist.github.com/reillysiemens/ac6bea1e6c7684d62f544bd79b2182a4

Здесь генерируется сертификат подписи, загружается в uefi и модуль подписывается этим сертификатом.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

А разве модули не подписываются утекшим ключом от MS автоматически, как и само ядро Linux, ну или ключом от RH? Я имею в виду, Fedora же у него изначально грузилась.

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

Сомневаюсь, в чём тогда смысл secure boot, если всё подписывается утёкшим ключом?

Если я правильно понимаю как это всё работает, то там выстраивается цепочка доверия.

Если включен secure boot, то в uefi может выполнится загрузчик, который подписан сертификатом, который есть в доверенных ключах UEFI.

А потом уже доверенный загрузчик может загрузить ещё один ключ в цепочку и уже будет доверяться всё, что подписано этим ключом.

По сути для secure boot разработчики fedora обратились в Microsoft и получили подписанный их ключом файл загрузчика, который может загрузить уже ключ разработчиков Fedora.

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

Если ты хочешь загрузить свой собранный внешний модуль, то тебе нужно либо отключить secure boot, либо сгенерировать свои ключи и добавить их в доверенные в uefi. Подписать свой модуль этим ключом и тогда ты сможешь загрузить свой модуль в пространство ядра.

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

Я снёс 36ую Fedorа, поставил 35ую, Vbox установился гораздо спокойнее, но всё равно при первом запуске выдал:

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.

Потом я выполнил эти команды, после перезапуска ошибка таже самая.

ilyaGor
() автор топика
Ответ на: комментарий от ilyaGor

Можно в BIOS (UEFI) отключить secureboot.

У Fedora срок поддержки версии дистрибутива полгода и тебе всё равно придётся либо отключать secureboot, либо разбираться как добавить в UEFI свой сертификат и им подписать модуль ядра.

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

Вот ссылка на инструкцию: https://tech.teaddict.net/2015/10/24/how-to-enable-or-disable-secure-boot-packard/

Если кратко, то тебе нужно установить пароль суперпользователя в BIOS (UEFI), перезагрузить ноутбук, войти в BIOS (UEFI) и в разделе Boot появится раздел seacure boot, где ты сможешь выключить его.

Так работает на большинстве BIOS (UEFI).

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

Может ли влиять включенный Seacure boot на скорость работы вирутальной машины? С qemu загружается kali, но при том что заложено нормально оперативки и памяти на жестком диске, она работает со скоростью нажал символ, через минуту он его отразил.

ilyaGor
() автор топика
Ответ на: комментарий от ilyaGor

Если ты запускаешь просто qemu без передачи параметра включающего использование KVM, то qemu работает в режиме программной эмуляции архитектуры x86 / x86_64 (AMD64).

Для запуска qemu именно в режиме виртуализации передай соответствующий параметр включающий kvm (kernel virtual machine).

Раньше было что-то вроде

qemu-system-x86_64 --kvm ...

Сейчас может быть как-то по-другому, гугли.

kostik87 ★★★★★
()
12 марта 2024 г.