我正在进行一场不幸的文字冒险,不得不逃跑VirtualBox 6.1.22在下面Ubuntu MATE 20.04 LTS。我的主要问题是,我必须将我的(崭新的)机器升级到内核 12.4(闪亮的新显卡和其他需要更高内核的硬件......)
frank@p14:~$ uname -r
5.12.4-051204-generic
我关注了官方 Virtual Box 说明(添加到 sources.list,添加密钥)并设法安装版本 6.1.22,明确支持内核 5.12。。
(BIOS 中的 SecureBoot 已关闭。只是说一下。)
安装过程中我收到的警告是:
此系统目前尚未设置以构建内核模块。请安装与当前内核匹配的 Linux 内核“头”文件,以便为系统添加新硬件支持。
包含标头的分发包可能是:
Linux 标头-通用 Linux 标头-5.12.4-051204-通用
...相当公平,而且在开始时$> virtualbox
我得到了...
警告:vboxdrv 内核模块未加载。当前内核(5.12.4-051204-generic)没有可用模块,或者加载失败。请重新编译内核模块并通过以下方式安装
sudo /sbin/vboxconfig
在解决此问题之前,您将无法启动虚拟机。
...实际上,在 Virtualbox GUI 中我能做的除了打开“关于”框之外...
这些标题出现在这里,甚至是第一个链接:
**但是如果没有 libc6 2.33,它们将无法安装**
摆弄 libc6 版本听起来不是一个好主意,或者是?
这些“头文件”在其他地方可以作为二进制文件使用吗?(我对 C/C++ 编码的记忆不佳,告诉我头文件本身不需要编译,但在这种情况下,我根本不知道它们是什么……)
如果这是有效的查找方法,我使用的是 libc 版本 2.31,因此下面只有两个微版本。
> ldd --version
> ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
那么我可能敢升级吗?或者这很危险?或者摆弄头文件包(怎么做?)以接受 2.31?(猜测这个小升级中没有隐藏的重要功能......)
附录
$> sudo apt install linux-headers-generic
linux-headers-generic is already the newest version (5.4.0.77.80).
...并/sbin/vboxconfig
继续像上面那样抱怨(因为 5.4.0 低于 5.4.12)。
尝试安装所需的显式版本明确失败,但有一些附加信息:
sudo apt install linux-headers-5.12.4-051204-generic
...
Package linux-headers-5.12.4-051204-generic is not available,
but is referred to by another package.
This may mean that the package is missing, has been
obsoleted, or is only available from another source
嗯...我是否应该添加另一个 repo /etc/apt/sources.list
?
还有其他建议吗?