升级到 ubuntu 16.04 后 vmware 出现错误

升级到 ubuntu 16.04 后 vmware 出现错误

我刚刚升级到 ubuntu 16.04 并且开始遇到 vmware (v 12.1.0 build-3272444) 的问题。

当我尝试玩虚拟机时,收到以下错误:Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon is loaded.后跟Failed to initialize monitor device

我花了一些时间在论坛上寻找解决方案。通常在这种情况下建议执行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 安装程序 (vmnet 和 vmmon) 构建的 VMWare 模块未签名。

这里有关 16.04 更改的信息。

这里与 VirtualBox 存在类似问题。

您可以通过手动运行 modprobe 来测试:

sudo modprobe vmnet

您应该会看到“所需密钥不可用”错误或类似信息。

两个选项:

  1. 在 BIOS 中禁用安全启动。
  2. 手动签署您的模块。请参阅这里了解有关如何执行此操作的信息。

我不确定 VMWare 是否会提供某种机制将其构建到安装过程中(将关注 VMWare 论坛...)。

对我来说,我现在必须禁用安全启动,因为我的 BIOS 似乎不想安装我的 MOK(模块拥有的密钥)密钥。

如果我了解到更多信息,我会及时告知你。

干杯,丹尼尔

相关内容