VMware Workstation 12 vmmon nicht gefunden oder nicht geladen


10

Unter Ubuntu 12.04 habe ich VMware Workstation 6 problemlos verwendet. Eines schönen Tages trat dieser Fehler beim Starten einer VM auf:

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.

Ich bin mir des Grundes nicht sicher, aber es könnte rein spekulativ sein, weil der Nvidia-Treiber aktualisiert wurde (es war wie ein Besuch in der Zahnarztpraxis, also sag mir bitte nicht, ich soll noch einmal mit dem Grafiktreiber herumspielen. )
Um eine Lösung zu finden, habe ich mithilfe des GUI-Installationsprogramms auf VMware Workstation 12 aktualisiert.

gksudo bash xxxxx.bundle  

Ich gehe davon aus, dass es klug genug war, die ältere Version zu deinstallieren, bevor mit der Installation der neuen Version fortgefahren wurde. Alles ist gut, außer dass das gleiche Problem oben aufgetreten ist, als ich versucht habe, eine virtuelle Maschine zu starten. Wie empfohlen, konnte ich die Datei oder das Verzeichnis / dev / vmmon in meinem System nicht finden (dies gilt auch vor der Neuinstallation auf die neuere Version).
Nach einem anderen weisen Rat versuchte ich:

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

Die vollständige Ausgabe (damit ich nicht wegen mangelnder Detailgenauigkeit herabgestuft werde) ist wie folgt:

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

Ich sehe ein paar Warnmeldungen, aber keine Fehler, was den Fall des fehlenden und entladbaren VMMON in der Tat verwirrt .

Folgende andere Ratschläge:

>> 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)

Deinen weisen Rat suche ich verzweifelt.


Ich habe versucht, die vmmon-Datei von einer anderen Workstation zu kopieren, was mit VMware gut lief, aber nicht konnte. Es ist eine 0-Byte-Spezialdatei. Was ist das für ein schändlicher vmmon-ster ???
ng0323

Ich habe versucht, manuell über die Befehlszeile zu deinstallieren, dann die neueste Version (heute heruntergeladen) neu installiert und die oben genannten Hinweise wiederholt, aber leider waren meine Bemühungen vergeblich!
ng0323

1
Bitte versuchen Siesudo vmware-modconfig --console --install-all
Charles Green

1
Gibt es eine Möglichkeit, dies mit aktiviertem UFO-Boot zu beheben?
Rafaelphp

@ CharlesGreen Lösung funktionierte für mich
TungstenX

Antworten:


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

Dieser Befehl hat es für mich behoben


8

Das Deaktivieren von Secure Boot von UEFI ist eine schlechte Antwort, aber die offizielle Antwort im VMWare-Forum.

Ich hatte ein ähnliches Problem bei der Installation von VirtualBox und konnte meine VMWare beheben Problem mit derselben Methode . Dadurch kann ich den sicheren Start aktivieren und auch VMWare verwenden.

Das Problem ist, dass das VMware-Kernelmodul nicht signiert ist und daher nicht geladen werden kann, wenn der sichere Start aktiviert ist. Sie können das Modul jedoch "selbst signieren", was ich sowohl für die VMWare-Workstation als auch für VirtualBox getan habe.

  1. Gehen Sie zu diesem Forumsbeitrag: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Gehe zum Beitrag von Fayce66 am 6. Mai 2016, 08:37
  3. Ersetzen Sie in jedem Befehl das Kernelmodul "vboxdrv" (Name des Virtualbox-Moduls) durch "vmmon" (Name des VMware-Moduls).
  4. Möglicherweise müssen Sie alle Befehle für das Kernelmodul "vmnet" (VMware-Netzwerkmodul) erneut ausführen.

Diese Schritte haben bei mir funktioniert. Ich kann den sicheren Start aktiviert lassen und VMWare Workstation verwenden.


Ich werde den Inhalt hier als Pastebin-Link einfügen, falls der ursprüngliche Link unterbrochen wird (da es wahrscheinlich zu lang wäre, um die Antwort zu blockieren): pastebin.com/LyLdy3Wb
DeveloperACE

Offenbar zitierte die Person in diesem Kommentar einen Link zu gorka.eguileor.com/vbox-vmware-in-secureboot-linux (aktualisierte Version gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) als Seine Quelle für das Update kann für jemanden hilfreich sein
DeveloperACE

Es kann auch nützlich sein zu beachten, dass mokmanager.efi laut rodsbooks.com/efi-bootloaders/secureboot.html
DeveloperACE

6

Möglicherweise liegt Ihr Problem mit VMware Workstation 12 darin, dass ...

Auf einem Linux-Host mit aktiviertem Sicherheitsmodus dürfen keine nicht signierten Treiber geladen werden. Aus diesem Grund können VMware-Treiber wie vmmon und vmnet nicht geladen werden, wodurch das Einschalten der virtuellen Maschine verhindert wird.

Um dies zu beheben, ohne den sicheren Start zu deaktivieren, können Sie in einem Terminal die folgenden Schritte ausführen, um die Treiber selbst zu signieren:

  1. Generieren Sie mit openssl ein Schlüsselpaar, um vmmon- und vmnet-Module zu signieren:

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

    (Ersetzen Sie MOK durch den Namen der Datei, die Sie für den Schlüssel benötigen.)

  2. Signieren Sie die Module mit dem generierten Schlüssel, indem Sie die folgenden Befehle ausführen:

    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. Importieren Sie den öffentlichen Schlüssel in die MOK-Liste des Systems, indem Sie den folgenden Befehl ausführen:

    sudo mokutil --import MOK.der
    
  4. Bestätigen Sie ein Passwort für diese MOK-Registrierungsanfrage.

  5. Starten Sie Ihren Computer neu. Befolgen Sie die Anweisungen, um die Registrierung über die UEFI-Konsole abzuschließen.

Zitiert aus diesem VMWare-Artikel: https://kb.vmware.com/kb/2146460


Dies hat mein Problem behoben, danke! Stellen Sie einfach sicher, dass Sie sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)und sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)gemäß der verlinkten Seite haben, und fügen Sie sudozum mokutil --import MOK.derobigen Aufruf hinzu, mit der Option zu verwenden, sudo passwd rootgefolgt von, sudo mokutil --import MOK.der --root-pwwenn wie oben nicht funktioniert.
Campbeln

1

Deaktivieren Sie einfach den sicheren Start über die UEFI-Optionen.

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


Das Deaktivieren des sicheren Starts ist keine schlechte Antwort. Tatsächlich ist dies die einzige, die für meine beiden Computer (Desktop und Laptop) mit Ubuntu 18.04 LTS und VMPlayer 14.x funktioniert hat. Das Problem tritt beim Öffnen einer Bilddatei auf. Anstatt viel Zeit mit verschiedenen Arbeiten zu verbringen, würde ich empfehlen, den sicheren Start vorerst zu deaktivieren und ihn später zu aktivieren, wenn das Image geladen und verwendet wurde.
Ashu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.