Ubuntu 17.10升级中断了VMWare工作站12.5


10

您好,升级到Ubuntu 17.10后,vmware现在无法启动。

我收到消息:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'

我知道有可用的修补程序,我正在尝试应用这些修补程序并重新编译。我已经从https://communities.vmware.com/thread/571370的解决方案运行:

cd ~  
#Copy the vmmon source tar ball to your temporary location
cp /usr/lib/vmware/modules/source/vmmon.tar .   
#Extract the tar ball
tar xf vmmon.tar  

#Download the modified file that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c   

#Wrap up the newly modified files into a tar ball replacing the original one
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only  

#Rebuild the VMware kernel modules
sudo vmware-modconfig --console --install-all  
Failed to get gcc information. 
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...

不幸的是,vmware-modconfig失败了,因为它似乎依赖于特定的gcc版本。我在正确的轨道上吗?任何有关此问题的帮助将不胜感激。

编辑 谢谢你,史蒂夫,下面的vmware再次出现了。我已进行了一些小更正。经过测试并确认我可以运行虚拟机。

sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
tar xvf vmmon.tar 
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit

# run vmware as normal user
/usr/lib/vmware/bin/vmware

2
通常,第三方虚拟化将在新内核和新版本方面滞后。这似乎对vmware的影响比对virtualbox的影响更大。由于vmware是封闭源,因此您必须询问他们。作为潜在的替代方法-这就是为什么我尝试尽可能多地使用KVM或LXC的原因(尽管我仍然觉得LXC还没有准备好用于生产服务器)。KVM +香料非常快(FWIW)。我估计使用vmware时,根据问题的复杂程度,可以在1-3天或3-4周的任何时间进行工作。
黑豹

您尝试应用的补丁程序用于解决内存处理错误,而不是与您提到的错误消息有关的问题。AFAIK尚未解决该问题。在启动板上
user749720

您是否能够解决“无法获取gcc信息”问题?
的Oguzhan Topcu的

不幸的是,我当前运行的脚本是sudo执行insmodvmware-networks命令,然后以普通用户身份运行vmware binary。
user1330734

我有Lubuntu 18.04-Stephen Wassell的方法无效。tokam的解决方案-升级到VMWare 14也不起作用-因为VMWare的策略仅支持最新的硬件。John的方法确实有效-但仅当我以su启动vmplayer时才有效。否则,我将得到可靠的消息:第106行:29487内存错误(写入了内存转储)“ $ BINDIR” / vmware-modconfig --appname =“ VMWaer Player!--ivon =” vmware-player“
Tobias Trappe

Answers:


12

我设法在Kubuntu 17.10上运行VMWare Workstation 12.5.7。

/usr/lib/vmware/modules/source

  1. 提取vmmon.tarvmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    这将创建vmmon-onlyvmnet-only目录。

  2. 获取补丁 hostif.c

    sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
    

    (注意:https : //communities.vmware.com/thread/571370-还包含针对VMWare Workstation 14的类似修复程序)

  3. 编辑vmnet-only/bridge.c

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
    ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
    
  5. 作为用户:

    /usr/lib/vmware/bin/vmware
    

    (以防止其运行vmware-modconfig


太棒了,伟大的作品Stephen,您的答案非常容易理解。我已经明确地重复了这些步骤,并在上面的问题编辑中为步骤8添加了较小的更正。干杯!
user1330734

很高兴它对你有效!我也修复了步骤8,感谢您的纠正。希望这一切在重启后能持续下去...
Stephen Wassell

1
再次感谢Stephen,如果我以开头,我一切都很好/usr/lib/vmware/bin/vmware,否则vmware报告无法找到GCC。
user1330734

非常感谢您的发布!这让我再次奔跑。我们可以在哪里找到VMWare提供的修复程序?
艾瑞克(Eric)

4
现在发布了Workstation 14.1.0,可以解决此问题。 my.vmware.com/group/vmware/...
斯蒂芬Wassell

6

我尝试了几乎所有其他解决方案,但没有任何效果。但是这些步骤对我适用于Ubuntu 18.04,VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

参考:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29


2
效果很好,非常感谢!自问世以来,我一直在为ubuntu 18.04寻找解决方案!
斯坦·凯

1
可以确认它适用于带有VMWare Workstation Pro 12.5.9的Ubuntu 18.10。
anonnoir

该解决方案在具有vmware工作站专业版12.5.9的Linux Mint 19.2 64位上为我工作。
Lexib0y

2

错误修复程序的描述:斯蒂芬导致许多其他错误:“无法获取gcc信息。”

最简单的办法下载VMware播放工作站14.1

安装它而不是12.5版本可以解决上述问题。

为此,只需运行

chmod +x VMware-Player-14.1.1-7528167.x86_64.bundle
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

并按照图形安装程序中的说明进行操作。


2
需要许可证升级
shadowbq '18

启动使用/usr/lib/vmware/bin/vmware代替来解决“无法获取gcc信息”
shadowbq '18

2
我认为非商业化也无需升级许可证即可工作
tokam

2

除了Stephen Wassell的回答外,如果您仍在运行VM Workstation 12.5.x版本,则还需要.ko针对每个内核补丁重新编译您的内核。

您可能会看到此错误:(无效的模块格式

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

这是一个用于在内核补丁后更新ubuntu-flavor-distros内核模块的工具。

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

我还提供了一个简单的包装程序.sh,您可以使用它来启动vmware工作站,以确保每次都能正确加载vm-network和vm-mon内核模块。

注意:此脚本不会扩展'tar'或'patch'源文件,这是为了按照Stephen Wassell的原始步骤在内核补丁之后自动重新编译内核模块。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.