Problem
When starting VMware Workstation, the following error is displayed:
Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded.
Also, virtual machines cannot be started.
Solution
“vmmon” is the virtual machine monitor kernel module. You can rebuid it by running:
sudo vmware-modconfig --console --install-all |
Sample output:
Stopping VMware services: VMware Authentication Daemon [ OK ] VM communication interface socket family [ OK ] Virtual machine communication interface [ OK ] Virtual machine monitor [ OK ] Blocking file system [ OK ] Using 2.6.x kernel build system. make: Entering directory `/tmp/modconfig-lea0x8/vmmon-only' /usr/bin/make -C /lib/modules/2.6.32-504.1.3.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' CC [M] /tmp/modconfig-lea0x8/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/apic.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/comport.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/hashFunc.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/phystrack.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/task.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/common/vmx86.o CC [M] /tmp/modconfig-lea0x8/vmmon-only/vmcore/moduleloop.o LD [M] /tmp/modconfig-lea0x8/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-lea0x8/vmmon-only/vmmon.mod.o LD [M] /tmp/modconfig-lea0x8/vmmon-only/vmmon.ko.unsigned NO SIGN [M] /tmp/modconfig-lea0x8/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-lea0x8/vmmon-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-lea0x8/vmmon-only' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/modconfig-lea0x8/vmmon-only' Using 2.6.x kernel build system. make: Entering directory `/tmp/modconfig-lea0x8/vmnet-only' /usr/bin/make -C /lib/modules/2.6.32-504.1.3.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' CC [M] /tmp/modconfig-lea0x8/vmnet-only/driver.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/hub.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/userif.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/netif.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/bridge.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/procfs.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/smac.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/vnetEvent.o CC [M] /tmp/modconfig-lea0x8/vmnet-only/vnetUserListener.o LD [M] /tmp/modconfig-lea0x8/vmnet-only/vmnet.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-lea0x8/vmnet-only/vmnet.mod.o LD [M] /tmp/modconfig-lea0x8/vmnet-only/vmnet.ko.unsigned NO SIGN [M] /tmp/modconfig-lea0x8/vmnet-only/vmnet.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-lea0x8/vmnet-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-lea0x8/vmnet-only' cp -f vmnet.ko ./../vmnet.o make: Leaving directory `/tmp/modconfig-lea0x8/vmnet-only' Using 2.6.x kernel build system. make: Entering directory `/tmp/modconfig-lea0x8/vmblock-only' /usr/bin/make -C /lib/modules/2.6.32-504.1.3.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/block.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/control.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/dentry.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/file.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/filesystem.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/inode.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/module.o CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/stubs.o /tmp/modconfig-lea0x8/vmblock-only/linux/control.c: In function âExecuteBlockOpâ: /tmp/modconfig-lea0x8/vmblock-only/linux/control.c:285: warning: assignment from incompatible pointer type /tmp/modconfig-lea0x8/vmblock-only/linux/control.c:296: warning: passing argument 1 of âputnameâ from incompatible pointer type include/linux/fs.h:2185: note: expected âstruct filename *â but argument is of type âchar *â CC [M] /tmp/modconfig-lea0x8/vmblock-only/linux/super.o LD [M] /tmp/modconfig-lea0x8/vmblock-only/vmblock.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-lea0x8/vmblock-only/vmblock.mod.o LD [M] /tmp/modconfig-lea0x8/vmblock-only/vmblock.ko.unsigned NO SIGN [M] /tmp/modconfig-lea0x8/vmblock-only/vmblock.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-lea0x8/vmblock-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-lea0x8/vmblock-only' cp -f vmblock.ko ./../vmblock.o make: Leaving directory `/tmp/modconfig-lea0x8/vmblock-only' Using 2.6.x kernel build system. make: Entering directory `/tmp/modconfig-lea0x8/vmci-only' /usr/bin/make -C /lib/modules/2.6.32-504.1.3.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' CC [M] /tmp/modconfig-lea0x8/vmci-only/linux/driver.o CC [M] /tmp/modconfig-lea0x8/vmci-only/linux/vmciKernelIf.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciContext.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciDatagram.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciDoorbell.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciDriver.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciEvent.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciHashtable.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciQPair.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciQueuePair.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciResource.o CC [M] /tmp/modconfig-lea0x8/vmci-only/common/vmciRoute.o CC [M] /tmp/modconfig-lea0x8/vmci-only/driverLog.o LD [M] /tmp/modconfig-lea0x8/vmci-only/vmci.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-lea0x8/vmci-only/vmci.mod.o LD [M] /tmp/modconfig-lea0x8/vmci-only/vmci.ko.unsigned NO SIGN [M] /tmp/modconfig-lea0x8/vmci-only/vmci.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-lea0x8/vmci-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-lea0x8/vmci-only' cp -f vmci.ko ./../vmci.o make: Leaving directory `/tmp/modconfig-lea0x8/vmci-only' Using 2.6.x kernel build system. make: Entering directory `/tmp/modconfig-lea0x8/vsock-only' /usr/bin/make -C /lib/modules/2.6.32-504.1.3.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/af_vsock.o CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/notify.o CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/notifyQState.o CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/stats.o CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/util.o CC [M] /tmp/modconfig-lea0x8/vsock-only/linux/vsockAddr.o CC [M] /tmp/modconfig-lea0x8/vsock-only/driverLog.o LD [M] /tmp/modconfig-lea0x8/vsock-only/vsock.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-lea0x8/vsock-only/vsock.mod.o LD [M] /tmp/modconfig-lea0x8/vsock-only/vsock.ko.unsigned NO SIGN [M] /tmp/modconfig-lea0x8/vsock-only/vsock.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-504.1.3.el6.x86_64' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-lea0x8/vsock-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-lea0x8/vsock-only' cp -f vsock.ko ./../vsock.o make: Leaving directory `/tmp/modconfig-lea0x8/vsock-only' Starting VMware services: Virtual machine monitor [ OK ] Virtual machine communication interface [ OK ] VM communication interface socket family [ OK ] Blocking file system [ OK ] Virtual ethernet [ OK ] VMware Authentication Daemon [ OK ] Shared Memory Available [ OK ] |
VMware Workstation should now work the next time you start it.
My System Configuration
- VMware Workstation 10.0.4
- CentOS 6.6 x86 64-bit