linux系统安装VMware(详细解决"Cannot open /dev/vmmon: No such file or directory"问题)

系统及软件版本

ubuntu 18.04 , VMware Workstation 15 pro

1.安装依赖

在安装VMware之前先要安装其所需的依赖(在ubuntu 18.04系统中,这些依赖可能已经被安装,如果没有的话,安装命令如下):

sudo apt install build-essential gcc
sudo apt install libcanberra-gtk-module

2.下载安装包

进入VMware官网下载安装包。(下载时要求注册一个账号,注册成功并登录之后即可进行下载)。

3.运行安装包

运行安装包之前需要先给安装包赋予权限,具体命令如下:
(1)进入安装包所在目录

chmod +x VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle

(2)执行该文件

sudo ./VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle

(3)之后根据安装向导一步步执行安装即可(中间有一步让你输入激活码,激活码可以在网上搜到),安装结束后,大体上VMware就算安装完毕了。

4.运行VMware

安装成功后,打开VMware Workstation,开启一台虚拟机验证一下是否真的安装成功。
开启虚拟机时,若出现

“Cannot open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon’ is loaded”

提示,查看以下解决措施。

出错原因

我们在进入BIOS界面中的启动选项时,可能会注意到有一个 ”secure boot“ 选项,而这就是出现问题的原因。简单来讲,这个 “secure boot” 就是在计算机主板上设置的一个安全保护措施,任何在主板上加载的操作系统或者硬件驱动程序运行时,都必须经过一个安全验证,而开启虚拟机时,VMware驱动器(其中的vmmon和vmnet组件)无法通过这个安全验证,不能运行,这就导致了虚拟机无法启动。

解决措施
措施一:简单粗暴法

我们知道了导致错误的原因是开启了"secure boot",那么最简单粗暴的方法就是在BIOS中禁止“secure boot”选项(往往是在BIOS中的启动或者安全选项中),但是这种方法的弊端也显而易见,降低了电脑的安全性,如果不想破坏电脑的安全性,则可以采取另一种方法。

措施二:添加“安全密钥”

首先要清楚“sercure boot”的安全验证是通过“安全密钥”机制来实现的,即每个操作系统或驱动程序必须对应一个“密钥对”,其中的“公钥”是内置与主板中的,“私钥”则附在自身上,只有”公钥“和“私钥”能够对应上,该程序才可以执行。我们要想让VMware驱动器运行,也必须为它创建“密钥对”。具体操作如下:

  1. 为vmmon和vmnet组件生成密钥对
openssl req -new -x509 -newkey rsa:2048 -keyout VMW.priv -outform DER -out VMW.der -nodes -days 36500 -subj "/CN=VMware/"

   VMW.der 是公钥,VMW.priv是私钥
   (其中的“VMW”是密钥的名字,也可以改成别的)

  1. 为vmmon和vmnet组件附上生成的密钥
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMW.priv ./VMW.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMW.priv ./VMW.der $(modinfo -n vmnet)
  1. 将公钥插入系统的MOK列表中
sudo mokutil --import VMW.der

  这一步会让你创建一个密码,记住这个密码,一会儿有用。

  1. 重启电脑
    重启时会进入到一个类似于BIOS的界面(UEFI界面),这一步忘记截图了,总之,根据界面上的说明进行选择,完成密钥的插入(最后让输入的密码即为上一步设置的密码)。开启电脑后,VMware就能正常运行了。

你可能感兴趣的:(VMware,Linux)