15.10-> 16.04 LTS升级后登录中断,与NVIDIA驱动程序有关

霍夫曼

我刚刚通过将系统从15.10更新到16.04 sudo do-release-upgrade在此过程中,它显示了一个带有以下消息的屏幕:

您的系统已启用UEFI安全启动。UEFI安全启动与第三方驱动程序的使用不兼容。

(...)Ubuntu仍然可以在您的系统上启动,但是这些第三方驱动程序将对您的硬件不可用。

禁用UEFI安全启动?(是|否)

由于我使用的唯一第三方驱动程序是NVIDIA图形驱动程序,并且由于它们在使用Ubuntu 15.10和启用安全启动的情况下都可以正常工作,因此我在此处选择了“否”选项。我不明白为什么我无缘无故禁用此功能,并且我假设我可以在更新后通过系统设置GUI重新安装第三方驱动程序。

las,不。重新启动后,我的登录屏幕显示为非常低的分辨率。尝试登录时,立即使我回到登录屏幕。

我尝试了以下方法来解决此问题:

sudo apt-get purge nvidia*
sudo reboot

这将导致显示紫色屏幕,并且对Ctrl-Alt-F1无反应。通过SSH登录,然后执行以下操作:

sudo apt-get install nvidia-current
sudo reboot

这再次给我带来了前一种情况,具有非常低的分辨率登录屏幕,并且无法登录。

这是非常糟糕的升级体验。其他人有这个吗,我该怎么做才能解决?(同时启用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视频驱动程序,但是其他驱动程序也可能会受到影响。

有(或可能有)几个替代方法可以解决此问题:

  • 禁用安全启动-这是最简单的解决方案。您可以通过修改固件设置或(调整)调整Shim设置来做到这一点。(我不确定如何通过调整Shim的设置来做到这一点,但是我很确定这是可能的。)
  • 不要使用第三方内核模块-如果您限制自己使用Ubuntu标准Linux内核中包含的开源驱动程序,那应该没问题,因为Canonical会签署所有此类驱动程序(AFAIK)。注意,使用这样的驱动程序应该对Nvidia有很好的支持。您的系统可能回退到次优驱动程序,因为它认为可以使用闭源驱动程序。我不知道如何立即从一个切换到另一个,但是这个问题是关于使用AMD / ATI驱动程序进行切换的,因此这可能是一个有用的起点。
  • 签署相关模块-从理论上讲,亲自签署商业模块应该可以使它们正常工作。不幸的是,我没有关于如何执行此操作的说明的指针,实际上,我什至不能完全确定是否可以使用现有的Ubuntu内核来执行此操作。这样的内核可能仅支持使用Canonical密钥签名的模块,而您当然不具备这些模块。
  • 编译自己的内核-如果编译自己的内核,则可以根据需要设置其选项,包括放宽加载未签名模块的限制。然后,您需要使用自己的EFI密钥对内核进行签名,并将该密钥的公共版本添加到MOK列表中。这是有关编译自己的内核的问题和解答。
  • 切换到较旧的GRUB-由于较旧的GRUB将启动未签名的内核,因此您可以安装这样的GRUB(从Ubuntu 15.10或更早版本开始),并使其启动未签名的内核。请注意,保持较旧的GRUB可能会很痛苦。
  • 切换到不支持安全启动的启动加载程序-如果要使用自己的密钥对SYSLINUX或ELILO这样的启动加载程序进行签名,然后将该密钥的公共版本添加到MOK列表中,则该启动加载程序将忽略安全启动引导设置,就像旧版本的GRUB一样。然后,您可以启动未签名的内核。

请注意,我100%肯定可以使用的其中两个选项仅是禁用安全启动或避免使用第三方内核模块。我避免使用瘟疫之类的第三方内核模块,因此在安全启动环境中使用它们时,我没有任何个人经验。除了禁用安全启动之外,构建自己的内核可能是次要的工作,其次是使用较旧的GRUB或使用不支持安全启动的启动加载程序。构建自己的内核曾经很普遍,但是很少有人再做,而对于现代内核,花时间学习如何配置内核(更不用说实际配置)是很重要的。使用较旧的GRUB或其他引导加载程序可能会更容易,但是您需要了解足够的知识才能进行设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

15.10-> 16.04 LTS升级后登录中断,与NVIDIA驱动程序有关

来自分类Dev

使R识别“ 41520092010”为“ 04/15/2009 20:10”的最有效方法

来自分类Dev

在 Ubuntu 16-04 上安装 opencv

来自分类Dev

从 15.x 升级后,Google 在 React 16 中出现错误

来自分类Dev

如果display(15)我想要结果1,2,3,4,5,6,8,9,10,12,15,16,18,20,24

来自分类Dev

锐化(5%,10%,15%)

来自分类Dev

Android本机进程在10到15秒后暂停

来自分类Dev

以下软件包具有未满足的依赖性:无法安装任何软件。Ubuntu的16:04

来自分类Dev

是Lubuntu Daily Build on 15-04-2014 = Lubuntu 14.04

来自分类Dev

安装ubuntu服务器时出错14:04 / 15:04

来自分类Dev

带有 NDK 15c 的 FFMpeg 3.4 与带有 NDK 16b 的 FFMpeg 3.4

来自分类Dev

HP 2114/15/16浮点转换

来自分类Dev

使用日期时如何将当前时间设为 09:04:15 而不是 9:4:15?

来自分类Dev

无法在kvm上获得16:9的比例,只有16:10或4:3

来自分类Dev

在 Ubuntu 16 中使用 Nvidia 驱动程序的问题

来自分类Dev

升级到Windows 10后没有自动安装驱动程序:系统策略禁止安装此设备

来自分类Dev

无法安装Cuda 8,但具有正确的nvidia驱动程序(Ubuntu 16)

来自分类Dev

如何使用 R 创建向量 (10^16 + 1, 10^16 + 2, ... , 10^16 + 1000)?

来自分类Dev

10月15日更新后如何获取instagram帐户的用户ID和访问令牌?

来自分类Dev

Ubuntu 在 10-15 秒内从挂起/休眠状态恢复后冻结

来自分类Dev

如何使我的程序检查用户输入是否在随机整数的5、10、15、20等范围内?

来自分类Dev

api15,api 10上的sqlite异常,但api21上没有

来自分类Dev

(* abc)+ 15是不确定的,因为数组只有10个字符长吗?

来自分类Dev

为什么Ubuntu的次要版本号仅为04或10?

来自分类Dev

如何显示4/25/10至2010-25-04?

来自分类Dev

以10为底的int()的无效文字:'2016-04-22'

来自分类Dev

如何在php中将Sun 10-04-19日期转换为10-04-2019

来自分类Dev

Windows 10下具有最新NVIDIA驱动程序的图形故障

来自分类Dev

“ golang 2006年1月2日星期一15:04:05”的起源

Related 相关文章

  1. 1

    15.10-> 16.04 LTS升级后登录中断,与NVIDIA驱动程序有关

  2. 2

    使R识别“ 41520092010”为“ 04/15/2009 20:10”的最有效方法

  3. 3

    在 Ubuntu 16-04 上安装 opencv

  4. 4

    从 15.x 升级后,Google 在 React 16 中出现错误

  5. 5

    如果display(15)我想要结果1,2,3,4,5,6,8,9,10,12,15,16,18,20,24

  6. 6

    锐化(5%,10%,15%)

  7. 7

    Android本机进程在10到15秒后暂停

  8. 8

    以下软件包具有未满足的依赖性:无法安装任何软件。Ubuntu的16:04

  9. 9

    是Lubuntu Daily Build on 15-04-2014 = Lubuntu 14.04

  10. 10

    安装ubuntu服务器时出错14:04 / 15:04

  11. 11

    带有 NDK 15c 的 FFMpeg 3.4 与带有 NDK 16b 的 FFMpeg 3.4

  12. 12

    HP 2114/15/16浮点转换

  13. 13

    使用日期时如何将当前时间设为 09:04:15 而不是 9:4:15?

  14. 14

    无法在kvm上获得16:9的比例,只有16:10或4:3

  15. 15

    在 Ubuntu 16 中使用 Nvidia 驱动程序的问题

  16. 16

    升级到Windows 10后没有自动安装驱动程序:系统策略禁止安装此设备

  17. 17

    无法安装Cuda 8,但具有正确的nvidia驱动程序(Ubuntu 16)

  18. 18

    如何使用 R 创建向量 (10^16 + 1, 10^16 + 2, ... , 10^16 + 1000)?

  19. 19

    10月15日更新后如何获取instagram帐户的用户ID和访问令牌?

  20. 20

    Ubuntu 在 10-15 秒内从挂起/休眠状态恢复后冻结

  21. 21

    如何使我的程序检查用户输入是否在随机整数的5、10、15、20等范围内?

  22. 22

    api15,api 10上的sqlite异常,但api21上没有

  23. 23

    (* abc)+ 15是不确定的,因为数组只有10个字符长吗?

  24. 24

    为什么Ubuntu的次要版本号仅为04或10?

  25. 25

    如何显示4/25/10至2010-25-04?

  26. 26

    以10为底的int()的无效文字:'2016-04-22'

  27. 27

    如何在php中将Sun 10-04-19日期转换为10-04-2019

  28. 28

    Windows 10下具有最新NVIDIA驱动程序的图形故障

  29. 29

    “ golang 2006年1月2日星期一15:04:05”的起源

热门标签

归档