Actualicé Ubuntu 15.10 a 16.04 y desde entonces VirtualBox 5.0.18 ya no inicia mis máquinas virtuales. Se queja de que 'vboxdrv' no está cargado. Así que trato de cargarlo y obtengo el siguiente error:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Creo que está relacionado con el arranque seguro que uso y que quiero seguir usando. En realidad, con Ubuntu 15.10, el arranque seguro y VirtualBox funcionaban bien.
También probé $ sudo apt-get --reinstall install virtualbox-dkms
qué construyó el módulo del kernel con éxito pero no resolví este problema.
¿Alguna idea de cómo cargar vboxdrv mientras se mantiene habilitado el arranque seguro?
Actualización 2 : también intenté ejecutar sudo mokutil --disable-validation
. Cuando ejecuto este comando, durante el siguiente inicio, se me solicita que desactive el inicio seguro, agregue una clave o hash del disco. Como no quiero deshabilitar el arranque seguro, parece que esto tampoco resuelve mi problema. También quiero mantener UEFI activado para una instalación paralela de Windows.
Nota : Si no le importa deshabilitar el arranque seguro, consulte ¿Por qué obtengo "La clave requerida no está disponible" cuando instalo módulos de kernel de terceros o después de una actualización de kernel? en lugar.
aptitude install virtualbox virtualbox-dkms
será firmar el módulo y que pida una contraseña de una sola vez (?). Reinicie, ingrese la configuración MOK e inscriba la clave usando esa contraseña.Respuestas:
Desde la versión de kernel 4.4.0-20, se impuso que los módulos de kernel no firmados no se puedan ejecutar con Secure Boot habilitado. Como desea mantener el Arranque seguro, el siguiente paso lógico es firmar esos módulos.
Entonces probémoslo.
Crear claves de firma
Opción : para seguridad adicional, omita el interruptor -nodes, que le pedirá una contraseña. Luego, antes de pasar al siguiente paso, asegúrese de
export KBUILD_SIGN_PIN='yourpassword'
Firme el módulo (vboxdrv para este ejemplo, pero repita para otros módulos
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
para una funcionalidad completa)Confirme que el módulo está firmado
Registre las claves para el arranque seguro
que pedirá una contraseña para usar para confirmar la importación en el siguiente paso.
Reinicie y siga las instrucciones para inscribir MOK (clave del propietario de la máquina). Aquí hay una muestra con fotos. El sistema se reiniciará una vez más.
Confirme que la clave está registrada
Si VirtualBox todavía no se carga, puede ser porque el módulo no se cargó (
sudo modprobe vboxdrv
lo arreglará) o porque la clave no está firmada. Simplemente repita ese paso y todo debería funcionar bien.Recursos: Artículo detallado del sitio web para la implementación de Fedora y Ubuntu de la firma de módulos. @zwets para seguridad adicional . @shasha_trn por mencionar todos los módulos .
Recurso adicional: creé un script bash para mi propio uso cada vez que
virtualbox-dkms
realizo actualizaciones y, por lo tanto, sobrescribe los módulos firmados. Mira mi vboxsign originalmente en GitHub .fuente
sudo apt install --reinstall virtualbox-dkms
antes de seguir las instrucciones proporcionadas.KBUILD_SIGN_PIN
variable ambiental?export KBUILD_SIGN_PIN=password
yexport KBUILD_SIGN_PIN="password"
antes del paso 2 ambos resultaron enSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
En mi sistema hice lo siguiente para que funcione:
Ejecute mokutil:
Luego, mokutil me pidió que estableciera una contraseña para el Administrador MOK. Después de reiniciar la PC, el BIOS mostró un cuadro de diálogo para configurar el Administrador MOK. Inhabilité SecureBoot desde este cuadro de diálogo, solicitó varios caracteres de la contraseña (es decir, ingrese el carácter (5), etc.).
Después de arrancar, los módulos vboxdrv se cargaron correctamente.
Curiosamente, mokutil todavía muestra que SecureBoot está habilitado:
fuente
Puede deshabilitar la verificación de validación
Después de eso, los paquetes DKMS deberían instalarse.
fuente
También recibí un error sobre vboxdrv después de la actualización. Pero hubo un problema con la versión anterior (5.0.14) de Oracle VM VirtualBox Extension Pack. Descargué e instalé una versión más reciente (5.0.18) de este paquete y el problema desapareció.
fuente
Muy bien, después de un poco de prueba, estoy bastante seguro de que este es un problema de arranque seguro.
Como en si está habilitado, esto se lanza:
Sin embargo, si el inicio seguro está deshabilitado, virtualbox se carga bien sin errores.
Todavía tengo mi BIOS configurada como UEFI.
fuente
Tuve el mismo problema hoy, tenía Windows 10 y Ubuntu 15.10 en un arranque dual con uefi habilitado en Bios (no lo desactivé para poder ejecutar Windows preinstalado).
Después de actualizar a Ubuntu 16.04, VirtualBox dejó de cargar mis máquinas virtuales con el mismo mensaje de error:
Sospeché un problema de UEFI porque durante la actualización, el instalador me preguntó si quería deshabilitarlo, a lo que respondí que no (porque sí puede hacer que mi Windows sea inutilizable).
Lo que hice fue ir a Bios y habilitar el soporte para el arranque de BIOS heredado SIN deshabilitar el arranque seguro.
Virtualbox funciona bien ahora.
Actualización : como @zwets señaló correctamente en el comentario, habilitar los módulos heredados hace que el arranque seguro se deshabilite.
fuente