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 2016

@CharlesGreenソリューションが私にとってうまくいった
TungstenX

回答:



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」(virtualboxモジュール名)を「vmmon」(vmwareモジュール名)に置き換えます
  4. カーネルモジュール「vmnet」(vmwareネットワークモジュール)に対してすべてのコマンドを再度実行する必要がある場合があります。

これらの手順は私のために働いた。セキュアブートを有効にしてVMWare Workstationを使用できます。


元のリンクが壊れた場合に備えて、ここにペーストビンリンクとしてコンテンツを配置します(おそらく回答でブロック引用するには長すぎるため):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 2018年

1

UEFIオプションからのセキュアブートを無効にするだけです。

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2103112


セキュアブートを無効にすることは悪い答えではありません。実際、これは、ubuntu 18.04 LTSとVMPlayer 14.xを実行している私のマシン(デスクトップとラップトップ)の両方で機能した唯一のものです。画像ファイルを開く際に問題が発生。さまざまな作業に多くの時間を費やすのではなく、当面はセキュアブートを無効にし、後でイメージがロードされて使用されたときに有効にすることをお勧めします。
アシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.