VMware Workstation 12 vmmon non trovato o non caricato


10

Su Ubuntu 12.04, ho usato felicemente VMware Workstation 6. Quindi, un bel giorno, questo errore si è verificato all'avvio di una 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.

Non sono sicuro del motivo, ma potrebbe essere, puramente speculativo, a causa dell'aggiornamento del driver Nvidia (era simile a una visita all'ufficio del dentista, quindi per favore non ditemi di scherzare di nuovo con il driver grafico. )
In cerca di una risoluzione, ho aggiornato a VMware Workstation 12 utilizzando il programma di installazione della GUI.

gksudo bash xxxxx.bundle  

Presumo che sia stato abbastanza intelligente disinstallare la versione precedente prima di procedere con l'installazione della nuova versione. Va tutto bene, tranne lo stesso problema sopra riportato quando ho provato ad avviare una macchina virtuale. Infatti, come consigliato, non sono riuscito a trovare il file o la directory / dev / vmmon nel mio sistema (questo vale anche prima di reinstallare la versione più recente.)
Dopo un altro saggio consiglio, ho provato:

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

L'output completo (per non essere sottoposto a downgrade per mancanza di dettagli) è tale:

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

Vedo un paio di messaggi di avvertimento ma nessun errore, quindi sconcertante davvero il caso del vmmon mancante e scaricabile .

Seguendo altri consigli:

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

Il tuo saggio consiglio che cerco disperatamente.


Ho provato a copiare il file vmmon da un'altra workstation che funzionava bene con VMware ma non ci sono riuscito. È un file "speciale" di 0 byte. Che cos'è questo vmmon-ster malvagio ???
ng0323

Ho provato a disinstallare manualmente dalla riga di comando, quindi ho reinstallato l'ultima versione (scaricata oggi) e ripetuto i consigli di cui sopra, ma purtroppo i miei sforzi sono stati vani!
ng0323

1
Per favore, provasudo vmware-modconfig --console --install-all
Charles Green,

1
C'è un modo per risolverlo con l'avvio ufi abilitato?
rafaelphp,

La soluzione di @CharlesGreen ha funzionato per me
TungstenX,

Risposte:


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

Questo comando l'ha risolto per me


8

La disabilitazione di Secure Boot da UEFI è una risposta scadente, ma è la risposta ufficiale sul forum VMWare.

Ho avuto un problema simile durante l'installazione di VirtualBox e sono riuscito a risolvere il mio problema VMWare utilizzando lo stesso metodo. Ciò mi consente di mantenere abilitato l'avvio protetto e utilizzare VMWare.

Il problema è che il modulo kernel vmware non è firmato, quindi non può essere caricato quando è abilitato l'avvio sicuro. Tuttavia è possibile "autofirmare" il modulo che è quello che ho fatto sia per la workstation VMWare che per VirtualBox.

  1. Vai a questo post del forum: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Vai al post di Fayce66 il 6 maggio 2016, 08:37
  3. In ogni comando sostituire il modulo del kernel "vboxdrv" (nome del modulo virtualbox) con "vmmon" (nome del modulo vmware)
  4. Potrebbe essere necessario ripetere tutti i comandi per il modulo kernel "vmnet" (modulo di rete vmware)

Questi passaggi hanno funzionato per me. Sono in grado di mantenere abilitato l'avvio protetto e utilizzare VMWare Workstation.


inserirò qui i contenuti come un link pastebin nel caso in cui il link originale si interrompa (dal momento che probabilmente sarebbe troppo lungo per bloccare la citazione nella risposta): pastebin.com/LyLdy3Wb
DeveloperACE

inoltre la persona in quel commento ha citato un link a gorka.eguileor.com/vbox-vmware-in-secureboot-linux (versione aggiornata gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) as la sua fonte per la correzione, può essere utile a qualcuno
DeveloperACE

Inoltre può essere utile notare che mokmanager.efi può essere chiamato mmx64.efi secondo rodsbooks.com/efi-bootloaders/secureboot.html
DeveloperACE

6

È possibile che il tuo problema con VMware Workstation 12 sia che ...

Su host Linux con modalità protetta abilitata, non è consentito caricare alcun driver non firmato. Per questo motivo, i driver VMware, come vmmon e vmnet, non possono essere caricati, il che impedisce l'accensione della macchina virtuale.

Per risolvere questo problema senza disattivare l'avvio sicuro, è possibile effettuare le seguenti operazioni in un terminale per autofirmare i driver:

  1. Genera una coppia di chiavi usando openssl per firmare i moduli vmmon e vmnet:

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

    (Sostituisci MOK con il nome del file desiderato per la chiave.)

  2. Firma i moduli utilizzando la chiave generata eseguendo questi comandi:

    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. Importa la chiave pubblica nell'elenco MOK del sistema eseguendo questo comando:

    sudo mokutil --import MOK.der
    
  4. Conferma una password per questa richiesta di iscrizione MOK.

  5. Riavvia il tuo computer. Seguire le istruzioni per completare la registrazione dalla console UEFI.

Citato da questo articolo di VMWare: https://kb.vmware.com/kb/2146460


Questo ha risolto il mio problema, grazie! Assicurati di avere sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)e sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)come nella pagina collegata e aggiungi sudoper mokutil --import MOK.derchiamare sopra, con l'opzione da usare sudo passwd rootseguita da sudo mokutil --import MOK.der --root-pwse come sopra non funziona.
Campbeln

1

La disabilitazione dell'avvio protetto non è una risposta scadente. In realtà questo è l'unico che ha funzionato per entrambe le mie macchine (desktop e laptop) con Ubuntu 18.04 LTS e VMPlayer 14.x. Il problema si verifica al momento dell'apertura di un file di immagine. Invece di dedicare molto tempo a varie soluzioni, consiglierei di disabilitare l'avvio sicuro per il momento e successivamente abilitarlo quando l'immagine è stata caricata e utilizzata.
Ashu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.