VMware Workstation 12 vmmon no encontrado o no cargado

10

En Ubuntu 12.04, he estado felizmente usando VMware Workstation 6. Luego, un buen día, este error ocurrió al iniciar 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.

No estoy seguro de la razón, pero podría ser, puramente especulativo, debido a la actualización del controlador de Nvidia (fue similar a una visita a la oficina del dentista, así que no me diga que vuelva a perder el tiempo con el controlador gráfico. )
En busca de una resolución, actualicé a VMware Workstation 12 usando el instalador de GUI.

gksudo bash xxxxx.bundle  

Supongo que fue lo suficientemente inteligente como para desinstalar la versión anterior antes de proceder a instalar la nueva versión. Todo está bien, excepto que el mismo problema anterior ocurrió cuando intenté iniciar una máquina virtual. De hecho, como se aconsejó, no pude encontrar el archivo o directorio / dev / vmmon en mi sistema (esto también es cierto antes de reinstalar a la versión más reciente).
Siguiendo otro consejo sabio, intenté:

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

El resultado completo (no sea que me rechacen por falta de detalles) es tal:

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

Veo un par de mensajes de advertencia pero no errores, por lo tanto, desconcierto, de hecho, el caso de vmmon que falta y no se puede cargar .

Siguiendo otros consejos:

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

Tu consejo sabio que busco desesperadamente.

ng0323
fuente
Traté de copiar el archivo vmmon desde otra estación de trabajo que estaba funcionando bien con VMware pero no pudo. Es un archivo 'especial' de 0 bytes. ¿Qué es este vmmon-ster?
ng0323
He intentado desinstalar manualmente desde la línea de comandos, luego reinstalé la última versión (descargada hoy) y repetí los consejos anteriores, ¡pero mis esfuerzos fueron en vano!
ng0323
1
Por favor, intentesudo vmware-modconfig --console --install-all
Charles Green
1
¿Hay alguna manera de arreglar eso con el arranque ufi habilitado?
rafaelphp
La solución @CharlesGreen funcionó para mí
TungstenX

Respuestas:

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

Este comando me lo arregló

Zack Boniphace
fuente
8

Desactivar el arranque seguro desde UEFI es una respuesta pobre, pero es la respuesta oficial en el foro VMWare.

Tuve un problema similar al instalar VirtualBox y logré resolver mi problema de VMWare usando el mismo método. Esto me permite mantener habilitado el arranque seguro y también usar VMWare.

El problema es que el módulo del kernel vmware no está firmado, por lo que no puede cargarse cuando el arranque seguro está habilitado. Sin embargo, puede "auto firmar" el módulo, que es lo que hice para la estación de trabajo VMWare y VirtualBox.

  1. Vaya a esta publicación del foro: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Ir al post de Fayce66 el 6 de mayo de 2016, 08:37
  3. En cada comando, reemplace el módulo del núcleo "vboxdrv" (nombre del módulo virtualbox) con "vmmon" (nombre del módulo vmware)
  4. Es posible que tenga que hacer todos los comandos nuevamente para el módulo de kernel "vmnet" (módulo de red vmware)

Estos pasos me funcionaron. Puedo mantener el arranque seguro habilitado y usar VMWare Workstation.

Una oferta
fuente
pondré el contenido como un enlace de pastebin aquí en caso de que el enlace original se rompa (ya que probablemente sería demasiado largo para bloquear la cita en la respuesta): pastebin.com/LyLdy3Wb
DeveloperACE
aparentemente, la persona en ese comentario citó un enlace a gorka.eguileor.com/vbox-vmware-in-secureboot-linux (versión actualizada gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) como su fuente para la solución puede ser útil para alguien
DeveloperACE
También puede ser útil tener en cuenta que mokmanager.efi puede llamarse mmx64.efi de acuerdo con rodsbooks.com/efi-bootloaders/secureboot.html
DeveloperACE
6

Es posible que su problema con VMware Workstation 12 sea que ...

En el host Linux con el modo seguro habilitado, no está permitido cargar ningún controlador sin firmar. Debido a esto, los controladores de VMware, como vmmon y vmnet, no se pueden cargar, lo que impide que la máquina virtual se encienda.

Para solucionar esto sin desactivar el arranque seguro, puede hacer lo siguiente en un terminal para firmar automáticamente los controladores:

  1. Genere un par de claves usando el openssl para firmar los módulos vmmon y vmnet:

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

    (Reemplace MOK con el nombre del archivo que desea para la clave).

  2. Firme los módulos con la clave generada ejecutando estos comandos:

    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. Importe la clave pública a la lista MOK del sistema ejecutando este comando:

    sudo mokutil --import MOK.der
    
  4. Confirme una contraseña para esta solicitud de inscripción MOK.

  5. Reinicia tu máquina. Siga las instrucciones para completar la inscripción desde la consola UEFI.

Citado de este artículo de VMWare: https://kb.vmware.com/kb/2146460

EriC
fuente
Esto solucionó mi problema, gracias! Solo asegúrese de tener sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)y sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)según la página vinculada y agregar sudoa la mokutil --import MOK.derllamada anterior, con la opción de uso sudo passwd rootseguida de sudo mokutil --import MOK.der --root-pwsi como anteriormente no funciona.
Campbeln
1

Simplemente desactive el arranque seguro desde las opciones de UEFI.

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

Bilgitay
fuente
Deshabilitar el arranque seguro no es una mala respuesta. De hecho, este es el único que funcionó para mis dos máquinas (de escritorio y portátiles) con ubuntu 18.04 LTS y VMPlayer 14.x. El problema ocurre al momento de abrir un archivo de imagen. En lugar de pasar mucho tiempo en varios trabajos, recomendaría deshabilitar el arranque seguro por el momento y luego habilitarlo cuando la imagen se haya cargado y utilizado.
Ashu