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

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

  1. I ran the command and it still wont work. See below.

    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

  2. It wont work,mine says :
    Starting vmware (via systemctl): Job for vmware.service failed because the control process exited with error code. See “systemctl status vmware.service” and “journalctl -xe” for details.

    Unable to start services

    Worked with VMWare Workstation 10.0.4 on Centos 7 x64

Leave a Reply

Your email address will not be published. Required fields are marked *

*