VMware:未找到内核头!

VMware:未找到内核头!

刚刚将我的 ubuntu 更新到 20.04,当我尝试运行 VMware 并且 VMware 内核模块开始编译虚拟机监视器和虚拟网络设备时,它失败了,我使用终端启动了 VMware,但遇到了以下问题:

/bin/sh: 1: flex: 未找到

我通过安装 flex 和

无法打开 /dev/vmmon:没有此文件或目录

我记不清是怎么修复的了,现在我得到了这个窗户说的是:

未找到版本 5.4.0-39-generic 的内核头文件

但我已经安装了标题,正如你所见这里

答案1

每次我的 Ubuntu MATE 18.04 LTS 更新与内核相关的内容时,VMware Workstation 都会停止工作并出现错误,并显示与您报告的相同的消息:未找到内核头。

对我来说,大多数情况下,以下解决方案都有效。

手动安装缺失的标头

打开终端并安装 VMware 所需的标头;按照您的屏幕截图,命令应该是:

sudo apt install linux-headers-5.4.0-39-generic

安装完成后,重新启动 VMware,错误窗口应更改为“必须编译并加载多个模块到内核”窗口。按Continue,然后等待安装完成。
如果安装过程中出现错误,请关闭 VMware 并重试;大多数时候,我必须经历一些错误才能正确完成。

请注意,至少就我而言,每次出现此错误时,它所需的 linux-headers 版本往往会有所不同。

但有时,上述解决方案不起作用,有时我会发现 VMware 需要一个不想被检测到的已安装的标头(就像您的问题一样)。

删除并重新安装所需的标头

我们将删除 VMware 所引用的标题,然后手动重新安装它。

首先,运行此命令来查看当前正在使用哪个标头:

uname -r

如果当前标头是 VMware 所抱怨的标头,那么不要继续
仅当您知道当前没有使用标题版本时才删除它。

要删除标题,只需apt purge像删除其他 apt 包一样进行操作即可。

sudo apt purge linux-headers-5.4.0-39-generic

现在它已被删除,请使用以下命令重新安装它:

sudo apt install linux-headers-5.4.0-39-generic

安装完成后,再次启动 VMware 并查看它是否有效。

相关内容