使 Virtual Box 在已编译的内核上运行

使 Virtual Box 在已编译的内核上运行

我正在尝试使用虚拟机箱运行虚拟机并收到以下错误:

内核驱动程序未安装 (rc=-1908) VirtualBox Linux 内核驱动程序 (vboxdrv) 未加载或 /dev/vboxdrv 存在权限问题。请以 root 身份执行“/sbin/vboxconfig”重新安装内核模块。其中:suplibOsInit 内容:3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - 未安装支持驱动程序。在 Linux 上,open 返回 ENOENT。

执行此操作后sudo /sbin/vboxconfig我得到了以下结果:

vboxdrv.sh:停止 VirtualBox 服务。vboxdrv.sh:启动 VirtualBox 服务。vboxdrv.sh:构建 VirtualBox 内核模块。vboxdrv.sh:失败:查看 /var/log/vbox-setup.log 以找出问题所在。设置 VirtualBox 时出现问题。要重新启动设置过程,请以 root 身份运行 /sbin/vboxconfig。

内容/var/log/vbox-setup.log

构建主要的 VirtualBox 模块。构建模块时出错:make V=1 CONFIG_MODULE_SIG= -C /lib/modules/5.3.0-rc4/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j4 modules make[1]: 警告:submake 中强制使用 -jN:禁用作业服务器模式。 Makefile:213: ================= 警告 ================ Makefile:214: Linux 5.3 之后将删除“SUBDIRS” Makefile:215: Makefile:216: 如果您正在内核树中构建单独的子目录 Makefile:217:,您可以这样做: Makefile:218: $ make path/to/dir/you/want/to/build/ Makefile:219: (不要忘记尾随斜杠) Makefile:220: Makefile:221: 如果您正在构建外部模块, Makefile:222: 请改用“M=”或“KBUILD_EXTMOD” Makefile:223: ============================================= make -f ./scripts/Makefile.build obj=/tmp/vbox.0 need-modorder=1 /tmp/vbox.0/Makefile.include.header:141:* 错误:无法找到要构建的 Linux 内核的标头。指定 KERN_VER=(当前为 5.3.0-rc5+)并再次运行 Make。停止。Makefile:1624:目标配方'模块/tmp/vbox.0' 失败 make[1]: *[模块/tmp/vbox.0] 错误 2 /tmp/vbox.0/Makefile.include.footer:101:目标“vboxdrv”的配方失败:*** [vboxdrv] 错误 2

据我了解,这是因为脚本无法找到我的内核的头文件。这可能是因为我编译了自己的内核。我很高兴知道这里到底发生了什么,以及随后如何修复它。

相关内容