VMware Workstation 10: “Error: Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon is loaded.”

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