Registering MOK, vmmon, and vmnet modules in VMware Workstation Pro on Ubuntu 22.04 with Secure Boot
VMware Workstation Pro is a popular virtualization solution for running multiple operating systems on a single physical machine. With the release of Ubuntu 22.04, Secure Boot has become more strict, which affects the way VMware modules are loaded. This article will guide you through the process of registering the MOK, vmmon, and vmnet modules in VMware Workstation Pro on Ubuntu 22.04 with Secure Boot enabled.
What is Secure Boot?
Secure Boot is a security feature provided by the Unified Extensible Firmware Interface (UEFI) to prevent unauthorized firmware, operating systems, or bootloaders from running on your computer. It uses digital signatures to verify the integrity of these components before they are loaded. In Ubuntu 22.04, Secure Boot has been strengthened, which can cause issues when trying to load VMware modules.
Preparing Ubuntu 22.04 for VMware
Before installing VMware Workstation Pro, you need to install the required dependencies and prepare the system for VMware. Open a terminal and run the following commands:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)
Installing VMware Workstation Pro
Download the VMware Workstation Pro .bundle installer from the official website and run the following command to make it executable:
chmod +x VMware-Workstation-Full-17.0.0-17869201.x86_64.bundle
Now, install VMware Workstation Pro with this command:
sudo ./VMware-Workstation-Full-17.0.0-17869201.x86_64.bundle
Registering MOK, vmmon, and vmnet modules
To register the MOK, vmmon, and vmnet modules, follow these steps:
- Disable Secure Boot temporarily:
sudo mokutil --disable-validation
- Reboot your system.
- Launch VMware Workstation Pro and accept the license agreement.
- Close VMware Workstation Pro.
- Re-enable Secure Boot:
sudo mokutil --enable-validation
- Reboot your system.
- Open a terminal and navigate to the VMware Workstation Pro installation directory:
cd /usr/lib/vmware/modules/source
- Extract the vmmon and vmnet modules:
sudo vmware-modconfig --extract-modules vmmon
sudo vmware-modconfig --extract-modules vmnet
- Sign the modules:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
/var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der \
vmmon-only/module.symbols.bin vmmon-only/vmmon.ko
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
/var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der \
vmnet-only/module.symbols.bin vmnet-only/vmnet.ko
- Re-bundle the modules:
sudo vmware-modconfig --clean-modules vmmon
sudo vmware-modconfig --clean-modules vmnet
sudo vmware-modconfig --build vmmon
sudo vmware-modconfig --build vmnet
In this article, we discussed how to register the MOK, vmmon, and vmnet modules in VMware Workstation Pro on Ubuntu 22.04 with Secure Boot enabled. By following the steps outlined in this guide, you can ensure that your VMware modules are properly signed and loaded, allowing you to use VMware Workstation Pro without any issues.
References
- VMware Workstation Pro documentation: https://docs.vmware.com/en/VMware-Workstation-Pro/index.html
- Ubuntu Secure Boot documentation: https://wiki.ubuntu.com/UEFI/SecureBoot
- VMware Community: https://communities.vmware.com/