VMware Workstation 12 vmmon을 찾을 수 없거나로드하지 않았습니다


10

Ubuntu 12.04에서 VMware Workstation 6을 사용하고 있습니다. 어느 날 VM을 시작할 때이 오류가 발생했습니다.

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.
Failed to initialize monitor device.

나는 그 이유를 잘 모르겠지만 Nvidia 드라이버를 업그레이드했기 때문에 순전히 추측 적 일 수 있습니다 (치과 의사의 진료소 방문과 유사했기 때문에 그래픽 드라이버로 다시 혼란스럽게 말하지 말아주세요). )
해결책을 찾기 위해 GUI 설치 프로그램을 사용하여 VMware Workstation 12로 업데이트했습니다.

gksudo bash xxxxx.bundle  

새 버전을 설치하기 전에 이전 버전을 제거하는 것이 현명하다고 생각합니다. 가상 머신을 시작하려고 할 때 위와 동일한 문제가 발생한다는 것을 제외하고는 모두 좋습니다. 실제로, 조언대로, 나는 내 시스템에서 파일 또는 디렉토리 / dev / vmmon 을 찾을 수 없었습니다 (이것은 또한 새로운 버전으로 다시 설치하기 전에도 마찬가지입니다).
다른 현명한 조언에 따라 시도했습니다.

sudo vmware-modconfig --console --install-all

전체 출력 (세부 사항을 제공하지 않아 하향 투표해야 함)은 다음과 같습니다.

Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
Using kernel build system.
make: Entering directory `/tmp/modconfig-ha12A3/vmmon-only'
/usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/..    SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic'
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/vmcore/moduleloop.o
/tmp/modconfig-ha12A3/vmmon-only/linux/driver.c: In function   ‘LinuxDriver_Ioctl’:
/tmp/modconfig-ha12A3/vmmon-only/linux/driver.c:1983: warning: the frame size of 1280 bytes is larger than 1024 bytes
  LD [M]  /tmp/modconfig-ha12A3/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "mcount" [/tmp/modconfig-ha12A3/vmmon-only/vmmon.ko] undefined!
  CC      /tmp/modconfig-ha12A3/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-ha12A3/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-ha12A3/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only'
Using kernel build system.
make: Entering directory `/tmp/modconfig-ha12A3/vmnet-only'
/usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/..     SUBDIRS=$PWD     SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic'
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/modconfig-ha12A3/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "mcount" [/tmp/modconfig-ha12A3/vmnet-only/vmnet.ko] undefined!
  CC      /tmp/modconfig-ha12A3/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-ha12A3/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-ha12A3/vmnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only'
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

몇 가지 경고 메시지가 표시되지만 오류는 없으므로 vmmon 이 없거나로드되지 않은 경우 당황합니다 .

다른 조언을 따르면 :

>> sudo /etc/init.d/vmware restart
Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
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

>> sudo modprobe vmmon
FATAL: Error inserting vmmon (/lib/modules/3.13.0-49-generic/misc/vmmon.ko): Unknown symbol in module, or unknown parameter (see dmesg)

당신의 지혜로운 조언은 필사적으로 추구합니다.


VMware에서는 잘 작동했지만 다른 워크 스테이션에서 vmmon 파일을 복사하려고했습니다. 0 바이트 '특수'파일입니다. 이 vmmon-ster는 무엇입니까 ???
ng0323

명령 줄에서 수동으로 제거 한 다음 최신 버전을 다시 설치하고 (오늘 다운로드) 위의 권고를 반복했지만 아쉽게도 내 노력은 헛된 것입니다!
ng0323

1
시도하십시오sudo vmware-modconfig --console --install-all
Charles Green

1
ufi 부팅을 사용하여 문제를 해결하는 방법이 있습니까?
rafaelphp

@CharlesGreen 솔루션은 저에게 효과적이었습니다
TungstenX

답변:


12
sudo vmware-modconfig --console --install-all 

이 명령은 나를 위해 그것을 고쳤다


8

UEFI에서 보안 부팅을 비활성화하는 것은 좋지 않은 답변이지만 VMWare 포럼의 공식 답변입니다.

VirtualBox를 설치할 때 비슷한 문제가 있었고 동일한 방법을 사용하여 VMWare 문제 를 해결했습니다 . 이를 통해 보안 부팅을 활성화하고 VMWare를 사용할 수 있습니다.

문제는 vmware 커널 모듈이 서명되지 않았기 때문에 보안 부팅이 활성화 된 경우로드되지 않습니다. 그러나 VMWare 워크 스테이션과 VirtualBox 모두에 대해 수행 한 모듈을 "자체 서명"할 수 있습니다.

  1. 이 포럼 게시물로 이동 하십시오 : https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. 2016 년 5 월 6 일 08:37에 Fayce66의 게시물로 이동
  3. 각 명령에서 커널 모듈 "vboxdrv"(가상 박스 모듈 이름)를 "vmmon"(vmware 모듈 이름)으로 바꿉니다.
  4. 커널 모듈 "vmnet"(vmware 네트워크 모듈)에 대해 모든 명령을 다시 수행해야 할 수도 있습니다.

이 단계는 나를 위해 일했습니다. 보안 부팅을 활성화하고 VMWare Workstation을 사용할 수 있습니다.


:거야 (아마이 질문에 BLOCKQUOTE 너무 긴 것 때문에) 경우에 여기에 페이스트 빈 링크로 원래의 링크 나누기 내용을 넣어 pastebin.com/LyLdy3Wb
DeveloperACE

또한 그 의견에 따르면 gorka.eguileor.com/vbox-vmware-in-secureboot-linux (업데이트 된 버전 gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update )에 대한 링크를 인용했습니다. 이 수정 프로그램의 소스는 누군가에게 도움이 될 것입니다
DeveloperACE


6

VMware Workstation 12의 문제는 다음과 같습니다.

보안 모드가 활성화 된 Linux 호스트에서는 서명되지 않은 드라이버를로드 할 수 없습니다. 이로 인해 vmmon 및 vmnet과 같은 VMware 드라이버를로드 할 수 없으므로 가상 시스템의 전원이 켜지지 않습니다.

보안 부팅을 끄지 않고이 문제를 해결하려면 터미널에서 다음을 수행하여 드라이버에 자체 서명 할 수 있습니다.

  1. openssl을 사용하여 vmmon 및 vmnet 모듈에 서명하는 키 페어를 생성하십시오.

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

    MOK를 키에 원하는 파일 이름으로 바꿉니다.

  2. 다음 명령을 실행하여 생성 된 키를 사용하여 모듈에 서명하십시오.

    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)
    
  3. 이 명령을 실행하여 공개 키를 시스템의 MOK 목록으로 가져옵니다.

    sudo mokutil --import MOK.der
    
  4. 이 MOK 등록 요청에 대한 비밀번호를 확인하십시오.

  5. 컴퓨터를 재부팅하십시오. 지침에 따라 UEFI 콘솔에서 등록을 완료하십시오.

이 VMWare 기사에서 인용했습니다 : https://kb.vmware.com/kb/2146460


이로 인해 내 문제가 해결되었습니다. 감사합니다! 그냥 확인해야하는 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)링크 된 페이지 당과 추가 sudo하는 mokutil --import MOK.der사용하는 옵션으로, 위의 호출 sudo passwd root다음에 sudo mokutil --import MOK.der --root-pw위의 작업을하지 않는 경우.
Campbeln

1

보안 부팅을 비활성화하는 것은 나쁜 대답이 아닙니다. 사실 이것은 우분투 18.04 LTS 및 VMPlayer 14.x를 실행하는 내 컴퓨터 (데스크톱 및 랩톱) 모두에서 작동하는 유일한 제품입니다. 이미지 파일을 열 때 문제가 발생합니다. 다양한 작업에 많은 시간을 소비하지 말고 당분간 보안 부팅을 비활성화하고 나중에 이미지를로드하고 사용할 때 활성화하는 것이 좋습니다.
Ashu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.