virtualbox could not insert 'vboxdrv': Exec format error

我安装了virtualbox后(还装了 extra/linux419-virtualbox-host-modules 6.0.8-2 (linux419-extramodules) )
启动报错为:
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (4.19.6-1-MANJARO) 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.

/usr/lib/virtualbox/VirtualBox: /usr/lib/libQt5Core.so.5: version Qt_5.12' not found (required by /usr/lib/virtualbox/VirtualBox) /usr/lib/virtualbox/VirtualBox: /usr/lib/libm.so.6: version GLIBC_2.29' not found (required by /usr/lib/virtualbox/VBoxGlobal.so)
/usr/lib/virtualbox/VirtualBox: /usr/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /usr/lib/virtualbox/VBoxGlobal.so)

看到网上有说法需要 modprobe vboxdrv
又报如下错误:
modprobe: ERROR: could not insert 'vboxdrv': Exec format error

/sbin/vboxconfig:也提示 找不到命令

该如何解决? 谢谢

modinfo vboxdrv
找到你的 vboxdrv.ko 文件并使用 file 命令检查。
uname -a 看看你的内核版本是不是匹配。

另外你是 Manjaro,应当发到「Arch 衍生发行版」版块。

modinfo vboxdrv 的结果是
filename: /lib/modules/4.19.6-1-。。。/extramodules/vboxdrv.ko.gz
。。。
uname -a 的结果是
Linux 。。。-pc 4.19.6-1-。。。
是需要.ko,而系统只有ko.gz? 该咋解决啊

另外file的结果是
。。。vboxdrv.ko.gz: gzip compressed data, was "vboxdrv.ko", last modified: Tue Apr 23 09:25:44 2019, max compression, from Unix, original size 767792

ko.gz 是压缩过的内核模块,也是可以用的。file -z vboxdrv.ko.gz 可以确定一下它里边是不是确实是内核模块。
另外你 modprobe 失败之后 journal -k -n 看一下内核日志,也许那里有更多的信息。

file -z ...vboxdrv.ko.gz 的结果是
vboxdrv.ko.gz: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV) (gzip compressed data, was "vboxdrv.ko", last modified: Tue Apr 23 09:25:44 2019, max compression, from Unix)

另外,没有journal这个命令

看起来很正常。

呃,是 journalctl,写错了。

有个疑问呢?
gzip格式的驱动能用modprobe加载了么?
看了下网上的资料;
gzip格式的内核驱动模块
貌似应该用的是insmod(捂脸,我都不知道有这个命令)

以前貌似遇到过这个问题:貌似需要用dkms再编译一次驱动
[SOLVED] ERROR: could not insert 'vboxguest': No such device

gz 和 xz 都能的。谨慎阅读 ChinaUnix 上的内容。
你说的那个报错不一样。

journalctl 的显示是
kernel: vboxdrv: disagrees about version of symbol module_layout

咦,为啥会这样?版本不是匹配的吗……