Vmware linux vmmon error

VMware Workstation 12 vmmon not found or not loaded

On Ubuntu 12.04, I have been happily using VMware Workstation 6. Then, one fine day, this error occurred when starting a VM:

Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded. Failed to initialize monitor device. 

I’m not sure of the reason, but it could be, purely speculative, due to upgrading the Nvidia driver (it was akin to a visit to the dentist’s office, so please do not tell me to mess around again with the graphic driver.)
In pursuit of a resolution, I updated to VMware Workstation 12 using the GUI installer.

I assume it was smart enough to uninstall the older version before proceeding to installing the new version. All is good, except the same problem above occured when I tried to start a virtual machine. Indeed, as counselled, I could not find the file or directory /dev/vmmon in my system (this is also true before reinstalling to the newer version.)
Following another wise counsel, I tried:

sudo vmware-modconfig --console --install-all 
Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done Using kernel build system. make: Entering directory `/tmp/modconfig-ha12A3/vmmon-only' /usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic' CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/apic.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/comport.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/hashFunc.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/phystrack.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/task.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/common/vmx86.o CC [M] /tmp/modconfig-ha12A3/vmmon-only/vmcore/moduleloop.o /tmp/modconfig-ha12A3/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’: /tmp/modconfig-ha12A3/vmmon-only/linux/driver.c:1983: warning: the frame size of 1280 bytes is larger than 1024 bytes LD [M] /tmp/modconfig-ha12A3/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules WARNING: "mcount" [/tmp/modconfig-ha12A3/vmmon-only/vmmon.ko] undefined! CC /tmp/modconfig-ha12A3/vmmon-only/vmmon.mod.o LD [M] /tmp/modconfig-ha12A3/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-ha12A3/vmmon-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only' Using kernel build system. make: Entering directory `/tmp/modconfig-ha12A3/vmnet-only' /usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic' CC [M] /tmp/modconfig-ha12A3/vmnet-only/driver.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/hub.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/userif.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/netif.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/bridge.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/procfs.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/smac.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/vnetEvent.o CC [M] /tmp/modconfig-ha12A3/vmnet-only/vnetUserListener.o LD [M] /tmp/modconfig-ha12A3/vmnet-only/vmnet.o Building modules, stage 2. MODPOST 1 modules WARNING: "mcount" [/tmp/modconfig-ha12A3/vmnet-only/vmnet.ko] undefined! CC /tmp/modconfig-ha12A3/vmnet-only/vmnet.mod.o LD [M] /tmp/modconfig-ha12A3/vmnet-only/vmnet.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-ha12A3/vmnet-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only' cp -f vmnet.ko ./../vmnet.o make: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only' Starting VMware services: Virtual machine monitor failed Virtual machine communication interface done VM communication interface socket family done Blocking file system done Virtual ethernet failed VMware Authentication Daemon done Unable to start services 

I see a couple of warning messages but no errors, hence baffling indeed the case of the missing and unloadable vmmon. Following other counsels:

>> sudo /etc/init.d/vmware restart Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done Starting VMware services: Virtual machine monitor failed Virtual machine communication interface done VM communication interface socket family done Blocking file system done Virtual ethernet failed VMware Authentication Daemon done >> sudo modprobe vmmon FATAL: Error inserting vmmon (/lib/modules/3.13.0-49-generic/misc/vmmon.ko): Unknown symbol in module, or unknown parameter (see dmesg) 

Источник

Читайте также:  Linux variables in sed

How to fix VMWare Could not open /dev/vmmon

On Linux host with secure mode enabled, it is not allowed to load any unsigned drivers. Due to this, VMware drivers, such as vmmon and vmnet, are not able to be loaded which prevents virtual machine to power on.

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMWare" sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon) sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet) sudo mokutil --import MOK.der sudo shutdown -r now 

During the very next startup, you may need to enter MOK Management during boot, and select «ENROLL MOK» to import the key, and reboot once more.

During the next startup, you still need to tap «Enter» to enter MOK management, and then select «ENROLL MOK» to import the keys.

Ubuntu 20.04 solution that worked for me:

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMWare" sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet) sudo su mokutil --import MOK.der input password: input password again: exit sudo shutdown -r now 

At startup «ENROLL MOK» and «Restart» again.

It did it for me on ubuntu 20.04. You may need to interrupt manually the boot to enter the BIOS menu and select the «Mok» entry.

How can this work if modinfo -n vmmon returns an error ? These modules appears to be gone from Ubuntu 22.xx

This may work with Ubuntu but with RHEL 7.8/8 I use the following commands (as root):

openssl req -new -x509 -newkey rsa:2048 -keyout VMWare.priv -outform DEF -out VMWare.der -nodes -days 36500 -subj "/CN=VMware/" /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./VMWare.priv ./VMWare.der $(modinfo -n vmmon) /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./VMWare.priv ./VMWare.der $(modinfo -n vmnet) mokutil --import VMWare.der reboot 

I get Cant’t find private key when I sign vmnet/vmmon however, other articles on the internet have indicated that this is OK.

Читайте также:  Oracle linux поддержка до какого года

The mok is imported and then I try to run VMWare and I get Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module ‘vmmon’ is loaded. . If I make sure RHEL 7.8 is fully up to date the computer does not get the UEFI splash screen.

Источник

Arch Linux

The version of linux-headers I had installed was for a more recent linux kernel than I had installed. By upgrading my kernel to 5.16.5-arch1-1, and then installing that corresponding version of linux-headers from pacman, I was then able to run sudo make inside of the vmware-host-modules.git repo, which allowed me to then run sudo vmware-mod-config —console —install-all, which solved the «Could not open /dev/vmmon:» error.

So working backwards, the steps are:
1. Update your linux kernel and install the right linux-headers for it.
2. Clone this git repo, cd into it, git checkout -b 16.2.1 origin/workstation-16.2.1, and run sudo make install
3. Run sudo vmware-mod-config —console —install-all

See the section DETAILED SOLUTION at the bottom for more details.

ORIGINAL POST

I’ve been trying to get vmware-workstation working on my machine for days now. I run into one issue, whose solution require solving their own issues, and so on. After repeatedly surfing through various forum posts and trying different solutions with no success, I’ve decided it’s time to make a thorough post on the Arch forums.

Kernel version: 5.15.10-arch1-1
Laptop model: Asus M16 GU603

I first install vmware-workstation 16.2.1-3 from the AUR

You can see a gist of the output Here. The installation seems successful, but one thing that might be worth noting is this bit:

(4/6) Install DKMS modules ==> ERROR: Missing 5.16.2-arch1-1 kernel modules tree for module vmware-workstation/16.2.1_18811642.

In any event, I am able to startup vmware (although I have to do it in su on the very first time for some reason).
I start up vmware, create a virtual machine, and try starting up the virtual machine. I receive this error:

Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded.

Relevant forum posts say that I need to run the following command:

vmware-modconfig --console --install-all

When I try running this (with sudo), I get the following error:

[AppLoader] GLib does not have GSettings support. (process:10586): GLib-CRITICAL **: 04:15:37.201: g_file_test: assertion 'filename != NULL' failed Failed to setup build environment.

Related forum posts suggested that these issues might be related to my linux kernal version not being compatible with gcc or something, or that I am missing the linux-headers package.
I’ve installed the linux-headers from pacman, and have switched to the Linux-lts 5.15.19-1 kernel, but no success.

Читайте также:  Linux для powerbook g4

At one point I was suggested to clone the git repo https://github.com/mkubecek/vmware-host-modules.git and make it, but that runs into it’s own errors:

vmware-host-modules]$ sudo make make -C vmmon-only make[1]: Entering directory '/home/mm/vmware-host-modules/vmmon-only' Using standalone build system. In file included from ./autoconf/geninclude.c:20: ./include/compat_autoconf.h:38:13: fatal error: generated/autoconf.h: No such file or directory 38 | # include | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: Entering directory '/home/mm/vmware-host-modules/vmmon-only/driver-5.15.10-arch1-1' In file included from .././autoconf/geninclude.c:20: .././include/compat_autoconf.h:38:13: fatal error: generated/autoconf.h: No such file or directory 38 | # include | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Dependencies for task.c cc1: error: code model kernel does not support PIC mode make[2]: *** [.././Makefile.normal:121: task.d] Error 1 make[2]: Leaving directory '/home/mm/vmware-host-modules/vmmon-only/driver-5.15.10-arch1-1' make[1]: *** [Makefile.normal:132: deps] Error 2 make[1]: Leaving directory '/home/mm/vmware-host-modules/vmmon-only' make: *** [Makefile:21: vmmon-only] Error 2
DETAILED SOLUTION

To solve the error «Could not open /dev/vmmon/:» you need to run:

sudo vmware-mod-config --console --install-all

If this returns an error about Glib not having support, you need to clone https://github.com/mkubecek/vmware-host-modules.git and make it.

$ git clone https://github.com/mkubecek/vmware-host-modules.git $ cd vmware-host-modules $ git checkout -b 16.2.1 origin/workstation-16.2.1 $ sudo make

If this returns an error containing fatal error: generated/autoconf.h: No such file or directory, you need to install linux-headers and make sure it matches your linux kernel version. Probably also make sure your kernel is up to date, although I’m not sure if that’s necessary.

$ sudo pacman -S linux $ sudo reboot $ sudo pacman -S linux-headers

Now you should be able to make install in that cloned repo, which should install the required modules for you to be able to run the vmware-mod-config —console —install-all command, which should solve the issue.

Last edited by michaelmoreno (2022-03-11 13:19:54)

Источник

Оцените статью
Adblock
detector