1.安装完成后运行VMware
可以正常安装VMware虚拟机,但安装完成开启虚拟机会提示如下信息:
“Cannot open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon’ is loaded”
这样在VMware中安装其它系统时,会无法启动系统,出现错误,看下面解决方案。
2. 出错原因分析
在进入BIOS界面中的启动选项时,可能会注意到有一个 ”secure boot“ 选项,而这就是出现问题的原因。简单来讲,这个 “secure boot” 就是在计算机主板上设置的一个安全保护措施,任何在主板上加载的操作系统或者硬件驱动程序运行时,都必须经过一个安全验证,而开启虚拟机时,VMware驱动器(其中的vmmon和vmnet组件)无法通过这个安全验证,不能运行,这就导致了虚拟机无法启动。
3.解决方案
方案一:BIOS关闭设置
导致错误的原因是开启了"secure boot",那么最简单粗暴的方法就是在BIOS中禁止“secure boot”选项(往往是在BIOS中的启动或者安全选项中),但是这种方法的弊端也显而易见,降低了电脑的安全性,如果不想破坏电脑的安全性,则可以采取另一种方法。
方案二:添加安全配置
首先要清楚“sercure boot”的安全验证是通过“安全**”机制来实现的,即每个操作系统或驱动程序必须对应一个“**对”,其中的“公钥”是内置与主板中的,“私钥”则附在自身上,只有”公钥“和“私钥”能够对应上,该程序才可以执行。我们要想让VMware驱动器运行,也必须为它创建“**对”。具体操作如下:
步骤一:为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”是**的名字,也可以改成别的)
步骤二:为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)
步骤三:将公钥插入系统的MOK列表中
sudo mokutil --import VMW.der
这一步会让你创建一个密码,记住这个密码,一会儿有用。
步骤四:重启电脑
重启时会进入到一个类似于BIOS的界面(UEFI界面),这一步忘记截图了,总之,根据界面上的说明进行选择,完成**的插入(最后让输入的密码即为上一步设置的密码)。开启电脑后,VMware就能正常运行了。
方案三:安装VirtualBox虚拟机
小编其实是通过这种方式解决的,并且VirtualBox开源安装也简单,安装过程没有问题,虚拟机安装Windows server 2008 R2运行正常。