我刚刚通过 将我的系统从 15.10 更新到 16.04 sudo do-release-upgrade。在此过程中,它显示了一个带有以下消息的屏幕:
您的系统启用了 UEFI 安全启动。UEFI 安全启动与第三方驱动程序的使用不兼容。
(...) Ubuntu 仍然可以在您的系统上启动,但这些第三方驱动程序将不适用于您的硬件。
禁用 UEFI 安全启动?(是|否)
由于我使用的唯一第三方驱动程序是 NVIDIA 图形驱动程序,并且由于它们在 Ubuntu 15.10 和启用安全启动的情况下运行良好,因此我在此处选择了“否”选项。我不明白为什么我应该无缘无故地禁用它,我认为我可以在更新后通过系统设置 GUI 重新安装第三方驱动程序。
唉,没有。重新启动后,我的登录屏幕以非常低的分辨率出现。尝试登录时,它立即将我抛回登录屏幕。
我尝试了以下方法来解决这种情况:
sudo apt-get purge nvidia*
sudo reboot
Run Code Online (Sandbox Code Playgroud)
这会导致出现紫色屏幕并且对 Ctrl-Alt-F1 没有反应。通过SSH登录,然后我做了:
sudo apt-get install nvidia-current
sudo reboot
Run Code Online (Sandbox Code Playgroud)
这又给我带来了前一种情况,登录屏幕分辨率很低,而且无法登录。
这是一个非常糟糕的升级体验。有没有其他人有这个,我能做些什么来解决这个问题?(同时保持 UEFI 安全启动启用)谢谢。
通过 Ubuntu 15.10,Ubuntu 对安全启动的处理在 GRUB 停止——也就是说,Ubuntu 版本的 Shim 将启动 Ubuntu 版本的 GRUB,它会启动任何Linux 内核,无论它是否已签名。这是对安全启动的支持非常低的标准。作为比较,Fedora 的 GRUB 将仅启动已签名的 Linux 内核,而 Fedora 的内核在检测到安全启动处于活动状态时,将仅加载已签名的内核二进制文件。Fedora 更强大的安全启动支持的目的是保护系统免受“流氓”内核模块的侵害,理论上,这些模块可以在非常低的级别接管计算机。Ubuntu 15.10 及更早版本缺乏这种保护。
从 16.04 开始,Ubuntu 遵循更严格的安全启动模块,更像是 Fedora 长期以来一直在做的事情。这具有安全优势,但正如您所见,它也存在问题。如果第三方驱动程序未使用 Linux 内核的 Ubuntu 版本识别为有效的加密密钥进行签名,则不会加载它。这主要影响封闭源代码的 Nvidia 和 AMD/ATI 视频驱动程序,但也有其他驱动程序可能会受到影响。
此问题有(或可能有)几种解决方法:
请注意,我 100% 确定可以使用的这些选项中只有两个是禁用安全启动或避免第三方内核模块。我避免使用像瘟疫这样的第三方内核模块,所以我没有在安全启动环境中使用它们的个人经验。除了禁用安全启动之外,构建您自己的内核可能是下一个最有可能工作的方法,其次是使用较旧的 GRUB 或使用不支持安全启动的引导加载程序。构建您自己的内核曾经很常见,但现在很少有人这样做了,而对于现代内核,学习如何配置内核的时间投入,更不用说实际这样做了,可能会很重要。使用较旧的 GRUB 或其他引导加载程序可能更容易,但您需要了解足够的知识才能进行设置。
| 归档时间: |
|
| 查看次数: |
8476 次 |
| 最近记录: |