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
References