CentOS8 中的 Virtualbox 来宾添加安装出现“未找到内核标头”错误

CentOS8 中的 Virtualbox 来宾添加安装出现“未找到内核标头”错误

./VBoxLinuxAdditions.runCentOS8运行出现如下错误:

Kernel headers not found for target kernel 4.18.0-193.6.3.el8_2.x86_64. Please install them and execute /sbin/rcvboxadd setup
ValueError: File context for /opt/VBoxGuestAdditions-6.0.22/other/mount.vboxsf already defined
modprobe vboxguest failed

如何安装所需的内核头文件?

答案1

# dnf update -y
# dnf install kernel-devel make gcc -y

如果安装了新的内核,则重新启动应该可以为您解决问题。

答案2

安装所有必需的软件包后,它仍然对我不起作用。然后我得到了一个重要的提示,知道出了什么问题,一定是为我安装了一些内核开发的颠覆版本。

看一下

ls -l /lib/modules/$(uname -r)/build

对我来说,它指向一个不存在的目录,即。 /usr/src/kernels/4.18.0-193.el8.x86_64 而真正的目录看起来相似但不同,它是 /usr/src/kernels/4.18.0-193.14.2.el8_2.x86_64

因此,我将 193.14.2 目录中的内容复制到 /usr/src/kernels/4.18.0-193.el8.x86_64 目录中,并重新启动安装脚本。我可能应该链接它而不是 op cp -R 但无论如何..

答案3

我最近在 Centos 8 上遇到了这个问题。我发现我必须运行以下命令来安装正确的软件包才能使一切正常工作。

dnf update -y
dnf install -y kernel-devel kernel-header* make gcc elfutils-libelf-devel

其他答案中缺少最后一个包,并且是虚拟盒错误日志(/var/log/vboxadd-setup.log)建议的包。如果没有 elfutils-libelf-devel,内核模块将无法构建。

答案4

我以 root 身份使用命令解决了这个问题

$ yum install kernel-devel-$(uname -r)

并重新运行 Guest Additions 脚本

一秒钟后我收到错误,但工作正常!

相关内容