VMware is an excellent virtualization solution for Linux users who want to experiment with multiple operating systems on one computer, but it has one annoying problem. It tends to break when you update the Linux kernel to a very recent version.
When this happens, you can either go without your virtual machines and wait for the VMware team to update the kernel modules—which could take a few days or longer—or you can fix the kernel modules yourself.
We’re going to assume you want to fix the VMware kernel modules yourself. It’s not as difficult as you might think and it will get your virtual machines up and running again immediately.
Download the VMware Recent Kernel Patches
The mkubecek/vmware-host-modules repository on GitHub tracks patches needed to build VMware (Player and Workstation both) host modules against recent kernels.
The easiest way to fix a broken VMware installation after a kernel upgrade is to clone, compile, and install the files provided in this repository.
To set up the patch on your system, you’ll first need to visit the GitHub page to select the correct package for the version of VMware that you have installed and get its URL to clone the repository.
You need to clone the repository only once. After that, you will be able to process any new updates with just a few quick commands in your terminal.
On the page, you’ll see a button with the word master on it. Click on that button to view the list of available patches. There are patches available for several different versions of both VMware Workstation and VMware Player packages.
Note that if you haven’t bought a VMware license, you are running the free VMware Player.
Select the version of the VMware Player that you are using from the list. If you are unsure and this is the first time you’ve needed to do this procedure, there’s a very good chance that you are running the latest version.
Once you have selected the correct version, click on the green Code button. A small box will pop up with the URL needed to clone the version of the patch that you have selected. Copy that URL and go back to your terminal.
At your terminal, enter the following command to clone the repository. Make sure to replace the URL in the command below with the one you’ve copied.
git clone https://github.com/mkubecek/vmware-host-modules.git
The entire process should only take a few seconds. Then, with the repository successfully cloned, you are just a few moments away from patching and fixing your VMware installation.
Install the VMware Recent Kernel Patch for the First Time
First, navigate to the newly-created directory using the cd command. From here, enter the following commands in order and provide your password if prompted:
sudo make install
You will see quite a few lines of text go by as the compiler does its job. Depending on the speed of your computer, it can take anywhere from a few seconds to a few minutes for both steps to complete.
Note: If you get an error saying that the make command does not exist, this means that you don’t have a suitable compiler installed on your system.
That’s it. You’ve installed the updated kernel modules. In most cases, your VMware installation should work again. If you still receive an error when trying to load VMware, reboot your system to make sure all kernel modules get loaded correctly.
How to Update VMware Kernel Modules After Future Updates
You will have to update the kernel modules again whenever your system’s kernel gets updated. Doing so is quick and easy now that you have the updated Git repository cloned.
The next time your VMware installation breaks because of a kernel update, open a terminal, switch to the directory where you cloned the repository, and enter the following commands one by one:
sudo make clean
sudo make install
The git pull command will automatically download the latest files from the repository to your computer. The make clean command will remove the files that you previously compiled.
Then, the make and make install commands will compile the modules with the new code and install them. Then, once again, your VMware installation should function normally.
Now You Can Update VMware Kernel Modules on Demand
There you have it. You now have everything you need to update your VMware kernel modules when your installation breaks because of a system kernel update. Whenever you run into such problems, all you need to do is pull the latest source code from the repository, as shown above, and run the make and make install commands.
If you decide you don’t want to perform manual fixes like this every time you update the kernel, don’t forget that there are alternative hypervisors available for Linux. Depending on your needs, they might be worth exploring.
If you want to run a second operating system on your Linux machine without rebooting to switch between them, a virtual machine is your only answer.
About The Author