我刚刚升级到 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
您应该会看到“所需密钥不可用”错误或类似信息。
两个选项:
- 在 BIOS 中禁用安全启动。
- 手动签署您的模块。请参阅这里了解有关如何执行此操作的信息。
我不确定 VMWare 是否会提供某种机制将其构建到安装过程中(将关注 VMWare 论坛...)。
对我来说,我现在必须禁用安全启动,因为我的 BIOS 似乎不想安装我的 MOK(模块拥有的密钥)密钥。
如果我了解到更多信息,我会及时告知你。
干杯,丹尼尔