본문 바로가기
Infra/Ubuntu-Linux

Cannot open /dev/vmmon: No such file or directory

by 골든크랩 2021. 5. 7.
728x90
반응형

kb.vmware.com/s/article/2146460

아래글도 읽어보자

develmonk.com/2020/06/06/whats-wrong-with-vmware-workstation-on-ubuntu/

 

 

 

해결법은 BIOS 예 있었다.  

위에 것들을 하고 재부팅하면서...MOK 등록을 해주니까 해결되었다.

참조한 글은....davi06000.tistory.com/m/22

 

 

 

VMware를 설치하는 과정에서...

/lib/modules/5.8.0-50-generic/misc  아래

vmmon.ko , vmnet.ko 파일이 생성되는 것을 알게 됨 (vmware 드라이버)

 

이건 /tmp/vmware-root/vmware-PID번호.log 를 보고 알게 됨 

 

sudo /etc/init.d/vmware stop

sudo /etc/init.d/vmware start

sudo /etc/init.d/vmware restart

 

 

 Symptoms

  • Powering on a virtual machine on Linux hosts that boots from UEFI with secure boot enabled fails
  • You see the error:
    Cannot open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded

 Purpose

The article provide steps to sign VMware drivers on Linux host with secure boot enabled, so that VMware Workstation can run VMs successfully.

 Cause

On Linux host with secure mode enabled, it is not allowed to load any unsigned drivers. Due to this, VMware drivers, such as vmmon and vmnet, are not able to be loaded which prevents virtual machine to power on.

 Resolution

Notes:

  • Workstation does not ship vmmon.ko and vmnet.ko in the bundle currently. The two modules are built during the installation or the first launch of workstation.
  • During the installation if the host provides the proper kernel headers and gcc, these two modules will be built silently. The progress is logged into /tmp/vmware-root/vmware-PID.log.
  • When workstation is first launched, a dialog will pop up to ask you for the usable kernel headers and/or gcc. These two modules will be built with window showing the progress and log printed on terminal.
  • Ensure to have the Host OS updated with the latest patches.

To correct the issue with secure boot enabled:

  1. Generate a key pair using the openssl to sign vmmon and vmnet modules:

    $openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"

    Replace MOK with the name of the file you want for the key.
     
  2. Sign the modules using the generated key by running these commands:

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
  • Import the public key to the system's MOK list by running this command:

    $mokutil --import MOK.der
  • Confirm a password for this MOK enrollment request.
  • Reboot your machine. Follow the instructions to complete the enrollment from the UEFI consol.

    Note: Preceding commands are verified to work on Ubuntu 16.04 hosts. The general steps are applicable to all Linux distributions, but specific Linux distributions might differ in commands.

 Related Information

With VMware you will have two modules with this problem, vmmon and vmnet. You must sign them both:

  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

 

 

 Symptoms

  • Powering on a virtual machine on Linux hosts that boots from UEFI with secure boot enabled fails
  • You see the error:
    Cannot open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded

 Purpose

The article provide steps to sign VMware drivers on Linux host with secure boot enabled, so that VMware Workstation can run VMs successfully.

 Cause

On Linux host with secure mode enabled, it is not allowed to load any unsigned drivers. Due to this, VMware drivers, such as vmmon and vmnet, are not able to be loaded which prevents virtual machine to power on.

 Resolution

Notes:

  • Workstation does not ship vmmon.ko and vmnet.ko in the bundle currently. The two modules are built during the installation or the first launch of workstation.
  • During the installation if the host provides the proper kernel headers and gcc, these two modules will be built silently. The progress is logged into /tmp/vmware-root/vmware-PID.log.
  • When workstation is first launched, a dialog will pop up to ask you for the usable kernel headers and/or gcc. These two modules will be built with window showing the progress and log printed on terminal.
  • Ensure to have the Host OS updated with the latest patches.

To correct the issue with secure boot enabled:

  1. Generate a key pair using the openssl to sign vmmon and vmnet modules:

    $openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"

    Replace MOK with the name of the file you want for the key.
     
  2. Sign the modules using the generated key by running these commands:

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
  • Import the public key to the system's MOK list by running this command:

    $mokutil --import MOK.der
  • Confirm a password for this MOK enrollment request.
  • Reboot your machine. Follow the instructions to complete the enrollment from the UEFI consol.

    Note: Preceding commands are verified to work on Ubuntu 16.04 hosts. The general steps are applicable to all Linux distributions, but specific Linux distributions might differ in commands.

 Related Information

With VMware you will have two modules with this problem, vmmon and vmnet. You must sign them both:

  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

 

 Symptoms

  • Powering on a virtual machine on Linux hosts that boots from UEFI with secure boot enabled fails
  • You see the error:
    Cannot open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded

 Purpose

The article provide steps to sign VMware drivers on Linux host with secure boot enabled, so that VMware Workstation can run VMs successfully.

 Cause

On Linux host with secure mode enabled, it is not allowed to load any unsigned drivers. Due to this, VMware drivers, such as vmmon and vmnet, are not able to be loaded which prevents virtual machine to power on.

 Resolution

Notes:

  • Workstation does not ship vmmon.ko and vmnet.ko in the bundle currently. The two modules are built during the installation or the first launch of workstation.
  • During the installation if the host provides the proper kernel headers and gcc, these two modules will be built silently. The progress is logged into /tmp/vmware-root/vmware-PID.log.
  • When workstation is first launched, a dialog will pop up to ask you for the usable kernel headers and/or gcc. These two modules will be built with window showing the progress and log printed on terminal.
  • Ensure to have the Host OS updated with the latest patches.

To correct the issue with secure boot enabled:

  1. Generate a key pair using the openssl to sign vmmon and vmnet modules:

    $openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"

    Replace MOK with the name of the file you want for the key.
     
  2. Sign the modules using the generated key by running these commands:

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)

    $sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
  • Import the public key to the system's MOK list by running this command:

    $mokutil --import MOK.der
  • Confirm a password for this MOK enrollment request.
  • Reboot your machine. Follow the instructions to complete the enrollment from the UEFI consol.

    Note: Preceding commands are verified to work on Ubuntu 16.04 hosts. The general steps are applicable to all Linux distributions, but specific Linux distributions might differ in commands.

 Related Information

With VMware you will have two modules with this problem, vmmon and vmnet. You must sign them both:

  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
  • user@localhost:$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

 

728x90
반응형

'Infra > Ubuntu-Linux' 카테고리의 다른 글

VMware 삭제 하기  (0) 2021.05.07
우분투 단축키(퍼온글)  (0) 2021.05.07
우분투 설치후 초기 root 패스워드  (0) 2021.05.05
VirtualBox 설치하기....실패...  (0) 2021.05.05
우분투 개발 환경 꾸미기  (0) 2021.05.04

댓글