0

我在 Ubuntu 16.04 LTS 上运行 VM Ware Workstation Player 12 时遇到一些问题。

首先,我使用以下命令下载并安装“VMware-Player-12.1.1-3770994.x86_64.bundle”:

chmod +x ./VMware-Player-version/build_number.bundle

gksudo bash ./VMware-Player-version/build_number.bundle

安装成功完成,但当我尝试创建 Windows 7 虚拟机时出现以下错误: 在此处输入图像描述

无法打开 /dev/vmmon:没有这样的文件或目录。请确保内核模块“vmmon”已加载。初始化监控设备失败。在我运行这个命令之后:

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

我该如何解决这些问题。谢谢

4

3 回答 3

1

或者,您也可以使用自己的密钥签署驱动程序并保持安全启动。

您可以在此处找到有关如何操作的说明https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2146460

所需步骤如下:

  • 生成密钥对:

    $openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"

  • 签署模块:

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

  • 将密钥导入您的 MOK(模块拥有的密钥)并选择一个密码(您将在重新启动时需要此密码,因此它将被注册。

     $mokutil --import MOK.der 

  • 重新启动 - 这将自动启动“密钥注册”并要求输入之前选择的密码

请注意,这只需要执行一次!您创建的密钥将是受信任的,因此请确保您正确保护密钥(这可能存在安全风险,因为任何东西都可以使用此密钥进行签名并且会被系统信任)。

例如,您可以像这样为密钥添加密码:

openssl rsa -des3 -in MOK.priv -out  MOK.priv 

删除密码也很容易:

openssl rsa -in MOK.priv -out  MOK.priv 

我自己总是在加载 vmmon 模块时遇到问题(我认为它在任何系统更新后都不起作用)。如果有人对这个问题可能导致的问题提出建议,将不胜感激!

现在,我只是重做签名过程(例如,只用密钥对模块进行签名),然后手动加载所需的模块:

sudo modprobe vmnet
sudo modprobe vmmon

签署驱动程序模块也应该适用于Virtualbox,这里有一个描述: http: //gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update/

于 2017-01-21T11:31:46.440 回答
1

我找到了答案,这一切都与在 VMWare Player 或 Oracle VirtualBOX 中创建新虚拟机时应禁用的安全启动有关。

于 2016-05-23T04:27:22.080 回答
0

尝试在 Ubuntu 上禁用 UEFI 安全启动。要禁用安全启动,请进入 BIOS(按 F2 键),进入安全启动选项并禁用它。

之后运行以下命令:

sudo vmware-modconfig --console --install-all

这为我解决了这个问题。

于 2019-09-14T11:00:36.030 回答