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

9 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

  3. Both modules must be loaded, to load them type:
    sudo modprobe vmmon
    sudo modprobe vmnet
    to check status if both modules are loaded type:
    sudo /etc/init.d/vmware status
    to give the permission to execute on startup type:
    sudo chmod 755 /etc/init.d/vmware
    to update the startup list type:
    sudo update-rc.d vmware defaults
    and in the last to enable it type:
    sudo update-rc.d vmware enable
    reboot
    after these steps vmware will work perfectly 😉
    regards Unknown

  4. when I type
    sudo modprobe vmmon
    I got:
    sudo modprobe vmmon
    modprobe: ERROR: could not insert ‘vmmon’: Exec format error
    What can I do to solve the problem?

Leave a Reply

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