在将 spectre 的“retpoline”修复程序添加到内核后,Virtualbox 无法启动。您可以重建驱动程序,但由于“版本魔法”不匹配,它无法安装。必须返回到以前的内核 (112) 才能运行 Virtualbox。
在 System76 Kudu 上运行 Ubuntu 14.04 LTS。
答案1
答案从问题迁移而来:
通过安装解决了这个问题
gcc-7
:sudo apt-get install gcc-7
然后(可能不正确)我创建了指向、、和版本
7
的符号链接。gcc
gcc-ar
gcc-nm
gcc-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/
。