vmware error after upgrade to ubuntu 16.04

32,553

Update: Note that while some indicate that VMWare version 12.1.1-3770994 fixes the issue - excellent for you! - unfortunately, this is not the case for me. I am running 12.1.1-3770994 and still having the problem as per my answer.

I suspect this is a Secure Boot issue. 16.04 now enforces module signatures and the the VMWare modules built by the VMWare installer (vmnet and vmmon) are not signed.

See here for info on the 16.04 change.

See here for a similar problem with VirtualBox.

You can test this by running modprobe manually:

sudo modprobe vmnet

You should see a "Required key not available" error or similar.

Two options:

  1. Disable Secure Boot in your BIOS.
  2. Manually sign your modules. See here for info on how to do this.

I'm unsure if VMWare will provide some mechanism for building this into the install procedure (will keep an eye on the VMWare forums...).

For me, I've had to disable Secure Boot for now as my BIOS does not seem to want to install my MOK (Module owned Key) key.

I'll keep you posted if I learn anything more.

Cheers, Daniel

Share:
32,553

Related videos on Youtube

Abdd
Author by

Abdd

Updated on September 18, 2022

Comments

  • Abdd
    Abdd over 1 year

    I just upgraded to ubuntu 16.04 and I started having problems with vmware (v 12.1.0 build-3272444).

    When I try to play the virtual machine I receive the following error: Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon is loaded. followed by Failed to initialize monitor device.

    I have spent some time in forums trying to find a solution. Typically in cases like this it is recommended to execute sudo vmware-modconfig --console --install-all, however in my case this doesn't work. In the command log I can see that there are issues.

    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
    

    In the vmware log as well I can see that there problems. I tried to look for solutions to the issue generating the message: Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h, but without success.

    2016-04-24T17:07:45.101+01:00| vthread-4| I125: The GCC version matches the kernel GCC minor version like a glove.
    2016-04-24T17:07:45.101+01:00| vthread-4| I125: Validating path "/lib/modules/4.4.0-21-generic/build/include" for kernel release "4.4.0-21-generic".
    2016-04-24T17:07:45.101+01:00| vthread-4| I125: Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h
    2016-04-24T17:07:45.101+01:00| vthread-4| I125: /lib/modules/4.4.0-21-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
    2016-04-24T17:07:45.101+01:00| vthread-4| I125: using /usr/bin/gcc for preprocess check
    2016-04-24T17:07:45.115+01:00| vthread-4| I125: Preprocessed UTS_RELEASE, got value "4.4.0-21-generic".
    2016-04-24T17:07:45.115+01:00| vthread-4| I125: The header path "/lib/modules/4.4.0-21-generic/build/include" for the kernel "4.4.0-21-generic" is valid.  Whoohoo!
    2016-04-24T17:07:45.115+01:00| vthread-4| I125: Using temp dir "/tmp".
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: Obtaining info using the running kernel.
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: Setting header path for 4.4.0-21-generic to "/lib/modules/4.4.0-21-generic/build/include".
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: Validating path "/lib/modules/4.4.0-21-generic/build/include" for kernel release "4.4.0-21-generic".
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: Failed to find /lib/modules/4.4.0-21-generic/build/include/linux/version.h
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: /lib/modules/4.4.0-21-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
    2016-04-24T17:07:45.116+01:00| vthread-4| I125: using /usr/bin/gcc for preprocess check
    2016-04-24T17:07:45.123+01:00| vthread-4| I125: Preprocessed UTS_RELEASE, got value "4.4.0-21-generic".
    2016-04-24T17:07:45.123+01:00| vthread-4| I125: The header path "/lib/modules/4.4.0-21-generic/build/include" for the kernel "4.4.0-21-generic" is valid.  Whoohoo!
    2016-04-24T17:07:45.289+01:00| vthread-4| I125: found symbol version file /lib/modules/4.4.0-21-generic/build/Module.symvers
    2016-04-24T17:07:45.289+01:00| vthread-4| I125: Reading symbol versions from /lib/modules/4.4.0-21-generic/build/Module.symvers.
    2016-04-24T17:07:45.314+01:00| vthread-4| I125: Read 18759 symbol versions
    2016-04-24T17:07:45.314+01:00| vthread-4| I125: Invoking modinfo on "vmmon".
    2016-04-24T17:07:45.316+01:00| vthread-4| I125: "/sbin/modinfo" exited with status 0.
    2016-04-24T17:07:45.316+01:00| vthread-4| I125: Invoking modinfo on "vmnet".
    2016-04-24T17:07:45.319+01:00| vthread-4| I125: "/sbin/modinfo" exited with status 0.
    

    Any help would be greatly appreciated!

    Andreas

  • dani24
    dani24 over 7 years
    I tried everything, until I disabled the Secure Boot and it worked! You have to restart the PC and go to the Setup (F2 in most of the PCs) and then disabling the secure boot.
  • Halsafar
    Halsafar about 7 years
    Is disabling secure boot the equivalent to setting it to "Other OS". When the option was "Secure Boot: Windows UEFI" I could not load VM drivers just like the OP. Changed it to "Secure Boot: Other OS" works perfectly now. This was in Ubuntu 14.04 for me but same exact issue as above.