升级到Ubuntu 16.04后的VMware错误

我刚升级到Ubuntu 16.04,然后遇到了vmware(版本12.1.0 build-3272444)的问题。
当我尝试运行虚拟机时,出现以下错误:无法打开/dev/vmmon:没有该文件或目录。请确保内核模块vmmon已加载。接着是初始化监视器设备失败
我在论坛上花了一些时间寻找解决方案。通常在这种情况下,建议执行sudo vmware-modconfig --console --install-all,但在我的情况下,这并不起作用。在命令日志中,我可以看到存在问题。
Starting VMware services:
   Virtual machine monitor                                        failed
   Virtual machine communication interface                         done
   VM communication interface socket family                        done
   Blocking file system                                            done
   Virtual ethernet                                               failed
   VMware Authentication Daemon                                    done
Unable to start services

在vmware日志中,我也可以看到有问题。我试图寻找解决方案来解决生成以下消息的问题:Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h,但是没有成功。
2016-04-24T17:07:45.101+01:00| vthread-4| I125: The GCC version matches the kernel GCC minor version like a glove.
2016-04-24T17:07:45.101+01:00| vthread-4| I125: Validating path "/lib/modules/4.4.0-21-generic/build/include" for kernel release "4.4.0-21-generic".
2016-04-24T17:07:45.101+01:00| vthread-4| I125: Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h
2016-04-24T17:07:45.101+01:00| vthread-4| I125: /lib/modules/4.4.0-21-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2016-04-24T17:07:45.101+01:00| vthread-4| I125: using /usr/bin/gcc for preprocess check
2016-04-24T17:07:45.115+01:00| vthread-4| I125: Preprocessed UTS_RELEASE, got value "4.4.0-21-generic".
2016-04-24T17:07:45.115+01:00| vthread-4| I125: The header path "/lib/modules/4.4.0-21-generic/build/include" for the kernel "4.4.0-21-generic" is valid.  Whoohoo!
2016-04-24T17:07:45.115+01:00| vthread-4| I125: Using temp dir "/tmp".
2016-04-24T17:07:45.116+01:00| vthread-4| I125: Obtaining info using the running kernel.
2016-04-24T17:07:45.116+01:00| vthread-4| I125: Setting header path for 4.4.0-21-generic to "/lib/modules/4.4.0-21-generic/build/include".
2016-04-24T17:07:45.116+01:00| vthread-4| I125: Validating path "/lib/modules/4.4.0-21-generic/build/include" for kernel release "4.4.0-21-generic".
2016-04-24T17:07:45.116+01:00| vthread-4| I125: Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h
2016-04-24T17:07:45.116+01:00| vthread-4| I125: /lib/modules/4.4.0-21-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2016-04-24T17:07:45.116+01:00| vthread-4| I125: using /usr/bin/gcc for preprocess check
2016-04-24T17:07:45.123+01:00| vthread-4| I125: Preprocessed UTS_RELEASE, got value "4.4.0-21-generic".
2016-04-24T17:07:45.123+01:00| vthread-4| I125: The header path "/lib/modules/4.4.0-21-generic/build/include" for the kernel "4.4.0-21-generic" is valid.  Whoohoo!
2016-04-24T17:07:45.289+01:00| vthread-4| I125: found symbol version file /lib/modules/4.4.0-21-generic/build/Module.symvers
2016-04-24T17:07:45.289+01:00| vthread-4| I125: Reading symbol versions from /lib/modules/4.4.0-21-generic/build/Module.symvers.
2016-04-24T17:07:45.314+01:00| vthread-4| I125: Read 18759 symbol versions
2016-04-24T17:07:45.314+01:00| vthread-4| I125: Invoking modinfo on "vmmon".
2016-04-24T17:07:45.316+01:00| vthread-4| I125: "/sbin/modinfo" exited with status 0.
2016-04-24T17:07:45.316+01:00| vthread-4| I125: Invoking modinfo on "vmnet".
2016-04-24T17:07:45.319+01:00| vthread-4| I125: "/sbin/modinfo" exited with status 0.

非常感激任何帮助!
安德烈亚斯
1个回答

更新:请注意,虽然有人表示VMWare版本12.1.1-3770994修复了这个问题 - 对你来说很好! - 不幸的是,对我来说并非如此。我正在运行12.1.1-3770994版本,并且仍然遇到与我的回答相同的问题。
我怀疑这是一个安全启动问题。16.04现在强制执行模块签名,而由VMWare安装程序构建的VMWare模块(vmnet和vmmon)没有签名。
请参阅此处以获取有关16.04更改的信息。
请参阅此处以了解VirtualBox的类似问题。
您可以通过手动运行modprobe来进行测试:
sudo modprobe vmnet

你应该看到一个“Required key not available”错误或类似的错误。
两个选择:
1. 在你的BIOS中禁用安全启动。 2. 手动签名你的模块。请参考这里了解如何操作。
我不确定VMWare是否会提供一些机制来将此过程集成到安装程序中(会继续关注VMWare论坛...)。
对我来说,目前我不得不暂时禁用安全启动,因为我的BIOS似乎不愿意安装我的MOK(Module owned Key)密钥。
如果我有更多消息,我会及时告诉你。
祝好, Daniel

Daniel,谢谢你的回答。我有同样的经历,最终通过禁用安全启动来解决了这个问题。@metal_icer 我也尝试了最新版本的vmware(我目前使用的是12.1.1 build-3770994),但没有成功。 - Abdd
我尝试了所有的方法,直到我禁用了安全启动,它才起作用! 您需要重新启动计算机并进入设置(大多数计算机按F2键),然后禁用安全启动。 - dani24
禁用安全启动与将其设置为“其他操作系统”等同吗?当选项为“安全启动:Windows UEFI”时,我无法加载VM驱动程序,就像OP一样。将其更改为“安全启动:其他操作系统”后,现在可以完美运行。对我来说,这是在Ubuntu 14.04上遇到的同样问题。 - Halsafar