未找到或未加载VMware Workstation 12 vmmon

在Ubuntu 12.04上,我一直很高兴使用VMware Workstation 6.然后,有一天,启动VM时发生了这个错误:

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. 

我不确定原因,但由于升级了Nvidia驱动程序,它可能纯粹是推测性的(它类似于访问牙医的办公室,所以请不要告诉我再次使用图形驱动程序。 )
为了实现解决方案,我使用GUI安装程序更新到VMware Workstation 12。

 gksudo bash xxxxx.bundle 

我认为在继续安装新版本之前卸载旧版本是足够聪明的。 一切都很好,除了上面尝试启动虚拟机时发生的同样问题。 实际上,作为建议,我在我的系统中找不到文件或目录/ dev / vmmon (在重新安装到较新版本之前也是如此。)
继另一位明智的律师之后,我尝试了:

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

完整输出(以免由于缺乏提供细节而被低估)是这样的:

 Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done Using kernel build system. make: Entering directory `/tmp/modconfig-ha12A3/vmmon-only' /usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic' CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/apic.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/comport.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/hashFunc.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/phystrack.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/task.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/vmx86.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/vmcore/moduleloop.o /tmp/modconfig-ha12A3/vmmon-only/linux/driver.c: In function 'LinuxDriver_Ioctl': /tmp/modconfig-ha12A3/vmmon-only/linux/driver.c:1983: warning: the frame size of 1280 bytes is larger than 1024 bytes LD [M] /tmp/modconfig-ha12A3/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules WARNING: "mcount" [/tmp/modconfig-ha12A3/vmmon-only/vmmon.ko] undefined! CC /tmp/modconfig-ha12A3/vmmon-only/vmmon.mod.o LD [M] /tmp/modconfig-ha12A3/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-ha12A3/vmmon-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only' Using kernel build system. make: Entering directory `/tmp/modconfig-ha12A3/vmnet-only' /usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic' CC [M] /tmp/modconfig-ha12A3/vmnet-only/driver.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/hub.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/userif.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/netif.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/bridge.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/procfs.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/smac.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/vnetEvent.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/vnetUserListener.o LD [M] /tmp/modconfig-ha12A3/vmnet-only/vmnet.o Building modules, stage 2. MODPOST 1 modules WARNING: "mcount" [/tmp/modconfig-ha12A3/vmnet-only/vmnet.ko] undefined! CC /tmp/modconfig-ha12A3/vmnet-only/vmnet.mod.o LD [M] /tmp/modconfig-ha12A3/vmnet-only/vmnet.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-ha12A3/vmnet-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only' cp -f vmnet.ko ./../vmnet.o make: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only' 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 

我看到一些警告消息,但没有错误,因此确实令人困惑的是丢失和无法加载的vmmon的情况

遵循其他律师:

 >> sudo /etc/init.d/vmware restart Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done 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 >> sudo modprobe vmmon FATAL: Error inserting vmmon (/lib/modules/3.13.0-49-generic/misc/vmmon.ko): Unknown symbol in module, or unknown parameter (see dmesg) 

我非常明智地劝告你。

从UEFI禁用安全启动是一个糟糕的答案,但它是VMWare论坛上的官方答案。

我在安装VirtualBox时遇到了类似的问题,并设法使用相同的方法解决我的VMWare问题。 这允许我保持启用安全启动并使用VMWare。

问题是vmware内核模块未签名,因此在启用安全启动时无法加载。 但是,您可以“自签名”模块,这是我为VMWare工作站和VirtualBox所做的。

  1. 转到此论坛post: https : //forums.virtualbox.org/viewtopic.php?f = 7&t = 77363&start = 15
  2. 在2016年5月6日08:37发表Fayce66的post
  3. 在每个命令中用“vmmon”(vmware模块名称)替换内核模块“vboxdrv”(virtualbox模块名称)
  4. 您可能必须再次为内核模块“vmnet”(vmware网络模块)执行所有命令

这些步骤对我有用。 我能够保持安全启动并使用VMWare Workstation。

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

这个命令为我修复了它

VMware Workstation 12的问题可能是……

在启用了安全模式的Linux主机上,不允许加载任何未签名的驱动程序。 因此,无法加载VMware驱动程序(如vmmon和vmnet),从而阻止虚拟机启动。

要在不关闭安全启动的情况下解决此问题,您可以在终端中执行以下操作以对驱动程序进行自签名:

  1. 使用openssl生成密钥对以对vmmon和vmnet模块进行签名:

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

    (将MOK替换为密钥所需文件的名称。)

  2. 通过运行以下命令使用生成的密钥对模块进行签名:

     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) 
  3. 通过运行以下命令将公钥导入系统的MOK列表:

     sudo mokutil --import MOK.der 

(注意:链接的VMWare KB错过了会导致问题的sudo

  1. 确认此MOK注册请求的密码。
  2. 重新启动计算机。 按照说明从UEFI控制台完成注册。

引自此VMWare文章: https : //kb.vmware.com/kb/2146460