由于“retpoline”,Virtualbox 无法启动

由于“retpoline”,Virtualbox 无法启动

在将 spectre 的“retpoline”修复程序添加到内核后,Virtualbox 无法启动。您可以重建驱动程序,但由于“版本魔法”不匹配,它无法安装。必须返回到以前的内核 (112) 才能运行 Virtualbox。

在 System76 Kudu 上运行 Ubuntu 14.04 LTS。

答案1

答案从问题迁移而来:

通过安装解决了这个问题gcc-7

sudo apt-get install gcc-7

然后(可能不正确)我创建了指向、、和版本7的符号链接。gccgcc-argcc-nmgcc-ranlib/usr/bin

在验证gcc --version报告的版本为 7 后,我运行以下命令重新编译并安装该vboxdrv模块:

sudo /etc/init.d/vboxdrv setup

瞧!它成功了。

答案2

我在内核为 3.13.0-153 的 Ubuntu 14.04.05 LTS 上遇到了同样的问题。

使用 update-alternatives 代替手动更改符号链接 - 似乎是添加/选择编译器版本的更正确方法。由于缺少 ,构建失败,因此仍需要额外步骤来构建 vboxdrv compiler-gcc7.h

解决方法:复制compiler-gcc5.h到并compiler-gcc7.h/usr/src/linux-headers-3.13.0-153/include/linux/ 中创建适当的符号链接/usr/src/linux-headers-3.13.0-153-generic/include/linux/

相关内容