なぜ正しいカーネルモジュールが構築されないのかわかりません。カーネルをアップグレードしてダウングレードしました。その時点でVirtualBox 6.1が動作を停止しました。 Mint / UbuntuにVboxをインストールするには、debリポジトリを追加してから次の手順を実行する必要がありますapt install virtualbox-6.1
。これにより、以前のバージョンと関連パッケージが削除されます。たとえば、次のようになります。
virtualbox
virtualbox-dkms
私の現在のカーネル:5.4.0-53 - 一般
ディスト:Linux Mint 19.3トリシア(Ubuntu 18.04)
カーネルをアップグレードしてダウングレードした後(6.1より前にはうまく機能します)、VMを起動しようとすると、次のエラーが発生します。
Kernel driver not installed (rc=-1908)
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.
だからこれを実行すると、/sbin/vboxconfig
次のようになります。
❯ /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
depmod: WARNING: could not open /lib/modules/5.4.65/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/5.4.65/modules.builtin: No such file or directory
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
At main.c:281:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:76
kmodsign: /lib/modules/5.4.0-53-generic/misc/vboxdrv.ko: No such file or directory
At main.c:281:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:76
kmodsign: /lib/modules/5.4.0-53-generic/misc/vboxnetflt.ko: No such file or directory
At main.c:281:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:76
kmodsign: /lib/modules/5.4.0-53-generic/misc/vboxnetadp.ko: No such file or directory
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root. If your system is using EFI Secure Boot you may 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.
だから私はそれが欲しいものを見てみました。 dmesgには何もありません。
❯ locate /lib/modules/5.4.65
/lib/modules/5.4.65
/lib/modules/5.4.65/misc
/lib/modules/5.4.65/modules.alias
/lib/modules/5.4.65/modules.alias.bin
/lib/modules/5.4.65/modules.builtin.bin
/lib/modules/5.4.65/modules.dep
/lib/modules/5.4.65/modules.dep.bin
/lib/modules/5.4.65/modules.devname
/lib/modules/5.4.65/modules.softdep
/lib/modules/5.4.65/modules.symbols
/lib/modules/5.4.65/modules.symbols.bin
/lib/modules/5.4.65/misc/vboxdrv.ko
/lib/modules/5.4.65/misc/vboxnetadp.ko
/lib/modules/5.4.65/misc/vboxnetflt.ko
間違ったカーネル用に作られたようです。私は私が見つけることができるすべての解決策を試しました。これまでは、パッケージを再起動または消去することは役に立ちませんでした。
答え1
上記のBrian Turekの回答に基づいて問題を解決しました。それでもそのような問題の原因はわかりませんが、カーネルヘッダを再インストールしても問題は解決しませんでした。実際、この問題が複数のカーネルバージョンに存在することがわかります。
2 つのコマンドの出力が異なる場合は、次の質問が適用されます。
root@:/# uname -r
5.4.0-60-generic
root@:/# cat /usr/src/linux-headers-$(uname -r)/include/config/kernel.release
5.4.78
この場合、ビルドされたモジュールはファイルのモジュールの下にありますkernel.release
。
root@:/# ls /lib/modules/5.4.78/misc/vbox*
/lib/modules/5.4.78/misc/vboxdrv.ko
/lib/modules/5.4.78/misc/vboxnetadp.ko
/lib/modules/5.4.78/misc/vboxnetflt.ko
モジュールを現在使用されているカーネルの正しい位置に移動したら、次のようにロードできます。
root@:/# mv /lib/modules/5.4.78/misc /lib/modules/5.4.0-60-generic/misc
root@:/# depmod -a
root@:/# modprobe vboxdrv
もちろん、これは次のバージョンのカーネルをインストールするまで一時的な解決策です。
答え2
見てhttps://www.virtualbox.org/ticket/19723
カーネルヘッダが現在カーネルと同期していないようです(ただし、管理されているシンボリックリンクのみです)。最も簡単な解決策は、実行中のカーネルと一致する特定のカーネルヘッダーバージョンを再インストールするようです。
答え3
同様の問題が発生しました。
私:
root@:/# uname -r
5.4.0-81-generic
root@:/# cat /usr/src/linux-headers-$(uname -r)/include/config/kernel.release
5.4.128
運のないlinux-headersパッケージを再インストールしました。/usr/src/linux-headers-$(uname -r)/include/config/kernel.release
from5.4.128
の値を編集して変更しましたが、正常に実行され、5.4.0-81-generic
virtualboxvboxconfig
も正常に実行されました。