VMware Workstation 12 does not run after ubuntu upgrade to 17.10

6,053

Solution 1

You need to upgrade to VMWare Workstation 14. Workstation 12 will not run with the kernel (4.13) in Ubuntu 17.10 unless you patch it. Patch available here: https://github.com/mkubecek/vmware-host-modules/commit/b50848c985f1

Run the following commands in Terminal to Patch (there are two ways to do this):

Patch Procedure 1:

Gain root user access:

sudo su
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 a normal user:

/usr/lib/vmware/bin/vmware

OR

Patch Procedure 2:

Get into your home directory, or somewhere you can store files temporarily:

cd ~ [YOUR DIRECTORY]

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 and overwrite the one from the tar ball:

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

Reboot your system:

sudo reboot

Sources to patch:

https://communities.vmware.com/thread/571370?start=0&tstart=0

AND

Ubuntu 17.10 Upgrade Broke VMWare Workstation 12.5

EVEN BETTER, I recommend upgrading to Workstation 14, which will remove Workstation 12.

Run the following commands in Terminal to install VMware Workstation Player 14:

mkdir ~/vmware
cd ~/vmware
wget -c https://download3.vmware.com/software/player/file/VMware-Player-14.1.1-7528167.x86_64.bundle

OR

Download it here:

https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0

Give the package permissions:

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

Finally, install:

sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

As soon as the installer starts, please follow on screen instructions to complete the installation.

Select I accept the terms in the license agreement and then Click on Next. Update on startup; select yes (if you want).

Feedback; select yes or no.

License Key is optional (can be left blank).

Click Install on next screen.

Close when finished.

UNINSTALLATION

sudo vmware-installer -u vmware-player

Hope this helps.

Solution 2

Using Charly's script on superuser.com/questions/1328401/vmware-workstation-vmmon-broken-on-ubuntu-18-04/, I was able to build the needed modules for kernel 4.15.0-29-generic on 16.04LTS. There is a typo at the end of the script, there should not be a line return between sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 and /usr/lib/vmware/lib/libz.so.1/libz.so.1

Another addition I would recommend is to add sudo /etc/init.d/vmware restart command to the end of the above script.

So the actual solution script with tweaks is:

#!/bin/bash
VMWARE_VERSION=workstation-12.5.9
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart

Note that this will only work for Workstation 12.5.9, you can easily tell which version you have by running vmware --version and you can probably update the script to have it work for other versions... but I haven't tested that.

Share:
6,053

Related videos on Youtube

Arend
Author by

Arend

Updated on September 18, 2022

Comments

  • Arend
    Arend over 1 year

    I have upgraded to Ubuntu 17.10 (from 17.04). Everything seems to work, however, VMware Workstation 12 does not startup anymore. No messages generated. Please help.

  • Arend
    Arend over 6 years
    I cannot upgrade to Player 14. My processor (Intel® Core™2 Duo CPU T9300 @ 2.50GHz × 2) is too old. So my only option is to patch the kernel(?). Can you explain exactly how to do that please?
  • Dave
    Dave over 6 years
    I've updated my answer to show how to patch for those that cannot run VMWare workstation 14.
  • Arend
    Arend over 6 years
    Thanks for your reply. However, I receive some errors. Best thing I should do is to re-install Ubuntu 17.4. (dir 4.13.0-16-generic does not exist). Also "vim vmnet-only/bridge.c΅ shows an editor but then what? Make in vmmon-only seems to work. Make in vmnet-only produces errors. Any comments?
  • Arend
    Arend over 6 years
    cc1: some warnings being treated as errors scripts/Makefile.build:308: recipe for target '/usr/lib/vmware/modules/source/vmnet-only/bridge.o' failed make[2]: *** [/usr/lib/vmware/modules/source/vmnet-only/bridge.o] Error 1 Makefile:1550: recipe for target '_module_/usr/lib/vmware/modules/source/vmnet-only' failed make[1]: *** [_module_/usr/lib/vmware/modules/source/vmnet-only] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-25-generic' Makefile:120: recipe for target 'vmnet.ko' failed make: *** [vmnet.ko] Error 2
  • Dave
    Dave over 6 years
    Try replacing the 4.13.0-16-generic with whatever your kernel is. For example, mine is currently 4.13.0-31-generic.
  • Arend
    Arend over 6 years
    I did replace it. Still got error messages. I have re-installed 17.04 and VMware works again. Thanks for trying to help me.