升级到17.10后,VMplayer没有足够的内存(巧妙的aardvark)

升级到Artful后,我无法让任何虚拟机在VMplayer中运行,当我尝试运行任何旧机器时,我收到以下消息:

没有足够的物理内存可用于使用其配置的设置启动此虚拟机。 本机应用程序和/或服务可能已锁定内存,这可能阻止虚拟机启动。 关闭不必要的应用程序或服务可能会释放足够的内存来启动此虚拟机。 如果您以前能够在此主机上启动此虚拟机,请尝试重新启动主机。 重新启动可能允许您使用稍多的主机内存来运行虚拟机。

注意:内存使用量:2.74G / 7.67(我有8G的内存)。

显示该消息后,VMplayer崩溃。

我在互联网上做了一些研究,但大多数post都在Windows中处理这个问题。
我试过这几个解决方案:

  • 搜索.lck文件以删除它们,找不到。
  • 搜索.vmss文件查找并删除它们。
  • 编辑了我的所有.vmx文件转到checkpoint.vmState = "" ,并删除引号之间的文本。
  • 最后卸载,清除并重新安装应用程序。 为了unistall我发现这个命令: sudo vmware-installer -u vmware-player因为sudo apt-get remove VMplayer没有做任何事情,并重新安装我下载并运行最新版本: VMware-Player-14.0.0-6661328.x86_64.bundle
  • 创建新的虚拟机。

以上解决方案似乎没有解决问题,我被VirtualBox困住了,我无法让USB再次工作。

基于这种方法,我使用以下命令来解决类似的问题:

 cd /tmp git clone https://github.com/mkubecek/vmware-host-modules.git cd vmware-host-modules git checkout workstation-14.0.0 tar cf vmmon.tar vmmon-only sudo cp vmmon.tar /usr/lib/vmware/modules/source sudo vmware-modconfig --console --install-all 

通过这种方式,它可以正确编译和工作。

好的,这是你如何做到这一点:在Ubuntu 17.10中安装VM Workstation Player 14后,下载这个正确的差异补丁并将其保存到/tmp/hostif-fix.patch

https://gist.githubusercontent.com/geneC/936e4caf6963f3dea99131aa31f004ea/raw/bd87148030746126d744ae694f5a5e43c9faf06c/hostif-fix.patch

以root身份运行以下命令(使用sudo su手动运行,或者使用sudo sh运行.sh文件):

 cd /usr/lib/vmware/modules/source tar xf vmmon.tar cd vmmon-only/linux patch hostif.c /tmp/hostif-fix.patch cd ../.. tar cf vmmon.tar vmmon-only rm -rf vmmon-only vmware-modconfig --console --install-all 

工作,在Ubuntu 17.10上使用Workstation Player 14进行测试。感谢geneC用于创建工作补丁,以及Charles Green用于识别原始提交和过程

显然这是内核14.0及更高版本的已知问题 – https://github.com/mkubecek/vmware-host-modules/commit/770c7ffe611520ac96490d235399554c64e87d9f提供了一个补丁

说明(改编自Arch Linux)

 cd /usr/lib/vmware/modules/source tar xf vmmon.tar cd vmmon-only/linux vim hostif.c # or use the patch command to apply the patch cd ../.. tar cf vmmon.tar vmmon-only rm -rf vmmon-only # cleanup # Lastly, we need to rebuild the patched module sudo vmware-modconfig --console --install-all 

一些参考:

vmware社区

超级用户

基于Windows主机的VMWare解决方案

我有完全相同的问题 – 感谢@CharlesGreen的答案!

当我正在运行Workstation Player 14.0.0时,只需用引用的补丁替换文件就行了。

您必须实际替换提取的hostif.c的代码。 引用的Patch是为Workstation Player 12.5提供的,不适用于14