Si has instalado VMware Workstation en tu sistema Ubuntu y te has encontrado con el error “Could not open /dev/vmmon: No such file or directory”, no estás solo.
Este problema es común, especialmente después de actualizaciones del sistema o al usar versiones más recientes del kernel con Secure Boot habilitado.
En esta guía, te explicaré las causas del error y te proporcionaré una solución paso a paso para resolverlo.
¿Por qué ocurre este error?
El error se debe a que VMware necesita cargar módulos del kernel (vmmon y vmnet) para funcionar correctamente. Aunque cuando Secure Boot está activado, el sistema solo permite cargar módulos firmados digitalmente.
Como los módulos de VMware no están firmados de forma predeterminada, el sistema los bloquea, generando este error.
Solución Paso a Paso
1️⃣ Intentar la configuración básica de módulos
Primero, prueba instalar los módulos de VMware con este comando:
sudo vmware-modconfig --console --install-all
Si el error persiste, sigue con los siguientes pasos.
2️⃣ Crear una clave de firma
Como Secure Boot solo permite módulos firmados, crearemos una clave de firma:
openssl req -new -x509 -newkey rsa:2048 -keyout VMWARE15.priv -outform DER -out VMWARE15.der -nodes -days 36500 -subj "/CN=VMWARE/"
Esto generará:
- VMWARE15.priv (clave privada para firmar los módulos).
- VMWARE15.der (clave pública que registraremos en Secure Boot).
3️⃣ Firmar los módulos del kernel
Ahora, firmemos los módulos de VMware con la clave generada:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE15.priv ./VMWARE15.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE15.priv ./VMWARE15.der $(modinfo -n vmnet)
Para verificar que la firma se aplicó correctamente:
tail $(modinfo -n vmmon) | grep "Module signature appended"
Si es exitoso, verás el mensaje “Binary file (standard input) matches”.
4️⃣ Registrar la clave en Secure Boot
Para que el sistema acepte los módulos firmados, debemos registrar nuestra clave en el MOK (Machine Owner Key):
sudo mokutil --import VMWARE15.der
Se te pedirá crear una contraseña temporal para el proceso de registro.
5️⃣ Reiniciar y completar el registro
Ejecuta:
sudo reboot
Durante el arranque, aparecerá un menú azul de MOK Management.
Sigue estos pasos:
- Selecciona “Enroll MOK”.
- Elige “Continue”.
- Confirma seleccionando “Yes”.
- Ingresa la contraseña que creaste en el paso anterior.
- Selecciona “OK” y reinicia.
Si no ves este menú, reinicia y presiona una tecla repetidamente durante el arranque.
6️⃣ Verificar el registro de la clave
Una vez reiniciado el sistema, verifica que la clave se registró correctamente:
mokutil --test-key VMWARE15.der
Si todo salió bien, verás: “VMWARE15.der is already enrolled”.
7️⃣ Iniciar VMware
Ahora, ejecuta VMware y deberías poder usarlo sin problemas.
vmware
Alternativas si el problema persiste
Deshabilitar Secure Boot (opción rápida)
Si prefieres evitar todo este proceso, puedes deshabilitar Secure Boot en la configuración de BIOS/UEFI:
- Reinicia tu PC y accede a la BIOS/UEFI (tecla F2, Del o Esc durante el arranque).
- Ve a la sección Security o Boot.
- Busca la opción Secure Boot y desactívala.
- Guarda los cambios y reinicia.
⚠ Nota: Deshabilitar Secure Boot reduce la seguridad del sistema.
Automatizar el proceso (script)
Si necesitas repetir estos pasos con frecuencia, usa este script automatizado:
cd /tmp
wget https://raw.githubusercontent.com/rune1979/ubuntu-vmmon-vmware-bash/master/wm_autoupdate_key.sh
chmod +x wm_autoupdate_key.sh
./wm_autoupdate_key.sh
Solo tendrás que reiniciar y seguir el proceso de registro de la clave.
Problemas comunes y soluciones ⚠
No aparece el menú de MOK Management: Asegúrate de estar usando shimx64.efi en lugar de grubx64.efi en la configuración de arranque.
Error “Failed to enroll MOK”: Vuelve a ejecutar mokutil --import VMWARE15.der y usa una contraseña más simple (5-8 caracteres, sin caracteres especiales).
El error reaparece después de una actualización del kernel: Repite el proceso de firma cada vez que actualices el kernel.
Conclusión
El error “Could not open /dev/vmmon” ocurre debido a Secure Boot bloqueando los módulos de VMware. La mejor solución es firmar los módulos y registrar la clave en MOK.
✔ Si prefieres una solución rápida, deshabilita Secure Boot en BIOS.
✔ Si necesitas una solución segura, sigue los pasos de firma y registro.
✔ Para automatizarlo, usa el script mencionado.
Ahora puedes ejecutar VMware sin problemas en Ubuntu.
Conclusión
Si este artículo te ayudó, compártelo con otros usuarios de Ubuntu y VMware. ¡Buena suerte!
