Acabo de actualizar mi sistema de 15.10 a 16.04 a través de sudo do-release-upgrade
. Durante este proceso, mostró una pantalla con el siguiente mensaje:
Su sistema tiene UEFI Secure Boot habilitado. UEFI Secure Boot no es compatible con el uso de controladores de terceros.
(...) Ubuntu aún podrá arrancar en su sistema, pero estos controladores de terceros no estarán disponibles para su hardware.
¿Deshabilitar el arranque seguro UEFI? (sí | no)
Como los únicos controladores de terceros que estoy usando son los controladores de gráficos NVIDIA, y dado que han funcionado bien con Ubuntu 15.10 y Secure Boot habilitado, elegí la opción "no" aquí. No veo por qué debería deshabilitar esto sin una buena razón, y asumí que puedo reinstalar el controlador de terceros a través de la GUI de configuración del sistema después de la actualización.
Por desgracia no. Al reiniciar, mi pantalla de inicio de sesión apareció en muy baja resolución. Cuando intento iniciar sesión, inmediatamente me devuelve a la pantalla de inicio de sesión.
He intentado lo siguiente para solucionar la situación:
sudo apt-get purge nvidia*
sudo reboot
Esto lleva a una pantalla púrpura y no hay reacción a Ctrl-Alt-F1. Iniciando sesión a través de SSH, luego hice:
sudo apt-get install nvidia-current
sudo reboot
lo que nuevamente me trae el escenario anterior, con una pantalla de inicio de sesión de muy baja resolución y sin forma de iniciar sesión.
Esta es una experiencia de actualización bastante mala. ¿Alguien más tiene esto y qué puedo hacer para solucionarlo? (mientras mantiene UEFI Secure Boot habilitado) Gracias.
Respuestas:
A través de Ubuntu 15.10, el manejo de arranque seguro de Ubuntu se detuvo en GRUB, es decir, la versión de Shim de Ubuntu lanzaría la versión de Ubuntu de GRUB, que lanzaría cualquier kernel de Linux, ya sea que haya sido firmado o no. Esta fue una barra de soporte muy baja para Secure Boot. A modo de comparación, GRUB de Fedora lanzaría solo núcleos de Linux firmados, y los núcleos de Fedora, cuando detectaran que el Arranque seguro estaba activo, cargarían solo los archivos binarios de kernel firmados. La intención del soporte de arranque seguro más robusto de Fedora era proteger el sistema contra los módulos de kernel "corruptos", que podrían, en teoría, hacerse cargo de la computadora a un nivel muy bajo. Ubuntu 15.10 y anteriores carecían de dicha protección.
A partir de 16.04, Ubuntu sigue un módulo de arranque seguro más estricto, más parecido a lo que Fedora ha estado haciendo durante bastante tiempo. Esto tiene beneficios de seguridad, pero como has visto, también tiene problemas. Si un controlador de terceros no está firmado con una clave criptográfica que la versión de Ubuntu del kernel de Linux reconoce como válida, no se cargará. Esto afecta principalmente a los controladores de video Nvidia y AMD / ATI de código cerrado, pero también hay otros controladores que pueden verse afectados.
Hay (o podría haber) varias soluciones a este problema:
Tenga en cuenta que las dos únicas opciones de las que estoy 100% seguro funcionarían son deshabilitar el Arranque seguro o evitar módulos de kernel de terceros. Evito los módulos de kernel de terceros como la plaga, por lo que no tengo experiencia personal con su uso en un entorno de arranque seguro. Además de deshabilitar el Arranque seguro, la construcción de su propio núcleo podría ser la siguiente más probable que funcione, seguido de un GRUB anterior o un cargador de arranque que no cumpla con el Arranque seguro. Construir su propio kernel fue una vez común, pero pocas personas lo hacen más, y con los kernel modernos, la inversión de tiempo para aprender cómo configurar un kernel, sin mencionar que realmente lo hace, puede ser significativa. Usar un GRUB anterior u otro cargador de arranque puede ser más fácil, pero necesitará saber lo suficiente para poder configurarlo.
fuente
/lib/modules/x.y.z/updates/dkms/nvidia*.ko
usandokmodsign
(también después de cada actualización del controlador) o automáticamente conapt install shim-signed
.