Ubuntu 16.04 上的 VMWare Workstation Pro 12 无法编译 vmmon

Ubuntu 16.04 上的 VMWare Workstation Pro 12 无法编译 vmmon

我在 Ubuntu 16.04(双机位)上安装了 VMware 软件包,没有任何问题。当我尝试运行它并尝试编译时,它会生成以下日志,无法编译 vmmon:

...
2016-08-15T16:13:39.909+02:00| vthread-4| I125: Successfully extracted the vmmon source.
2016-08-15T16:13:39.910+02:00| vthread-4| I125: Building module with command "/usr/bin/make -j8 -C /tmp/modconfig-SUMBLV/vmmon-only auto-build HEADER_DIR=/lib/modules/4.4.0-34-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2016-08-15T16:13:40.934+02:00| vthread-4| W115: Failed to build vmmon.  Failed to execute the build command.

我已经开始通过在网上搜索来解决问题,并且我已经改变了获取用户页面方法名称获取用户页面远程控制同时在虚拟机网络配置文件虚拟机在他们的目录中,但是它并没有解决问题,vmmon 仍然无法编译。

通过终端使用 gksudo 启动 VMware 时,我收到以下错误消息:

Starting VMware services:
   Virtual machine monitor                                            failed
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done

我以为是显卡问题,于是成功安装了显卡的 NVidia 驱动程序,安装后启动时使用 MOK 管理实用程序禁用了安全启动。我还在 BIOS 中禁用了安全启动,这是一台华硕笔记本电脑。

我忘记使用 gksudo 安装 VMWare 包,我认为这不太可能是问题的根源,但为了准确起见,我还是指出了这一点。

内核版本是 4.4.0-34-generic。我读到应该由 VMWare 团队来修补此内核版本,有没有快速修复方法可以解决这个问题,还是我应该尝试使用 Virtualbox 来解决它?

我有一些想要从其他地方导入的虚拟机映像。

谢谢阅读。

答案1

我也遇到了同样的问题。以下是解决方法 转到文件夹

cd /usr/lib/vmware/modules/source

使用以下方法解压文件 vmmon.tar(您可能需要 su/sudo 来执行这些操作)

tar xf vmmon.tar

编辑文件 ./vmmon-only/linux/driver.c

nano ./vmmon-only/linux/driver.c

应用这些更改,由https://forums.gentoo.org/viewtopic-p-7841306.html#7841306在第 400 行左右,删除以 - 开头的行并添加以 + 开头的行(实际上不要放 +)。有一种方法可以使用 patch 命令来执行此操作,但无论如何。如果您知道如何阅读补丁文件,您会看到该表单上的用户对另一个文件进行了另一项更改,但一切都正常,无需我执行该操作。

#ifdef VMX86_DEVEL 
    unregister_chrdev(linuxState.major, linuxState.deviceName); 
 #else 
-   if (misc_deregister(&linuxState.misc)) { 
-      Warning("Module %s: error unregistering\n", linuxState.deviceName); 
-   } 
+   misc_deregister(&linuxState.misc); 

备份原件

mv vmmon.tar vmmon.tarbackup

重新压缩文件

tar cf vmmon.tar ./vmmon-only

从现在开始我有点不确定,因为我做了一些事情,但没有在每个步骤之后进行测试。所以这两项可能都不是必需的。使用您刚刚编辑的 driver.c 重新编译库

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

运行 VMWare,告诉它使用你刚刚编译的库

sudo VMWARE_USE_SHIPPED_LIBS=yes vmwarex:

相关内容