文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在启用安全启动的 Fedora 中安装英伟达驱动

2024-11-30 10:30

关注

背景信息

现在新出厂的电脑 UEFI 会默认开启安全启动Secure Boot,它的作用是防止恶意软件侵入。当电脑的引导程序被病毒修改之后,它会给出提醒并拒绝启动,避免可能带来的进一步损失。不过它同样会阻止一些未经微软签名的 Linux 内核启动运行。虽然可以直接选择在主板设置中关闭安全启动来解决这些麻烦,但在近期微软公布的 Windows 11 最低硬件标准中可以看到,安全启动被微软看的越来越重。如果你的电脑是 Windows + Linux 双系统,最好还是让 Linux 本身支持安全启动。

而最好用的发行版之一 Fedora 更热衷于开源驱动。Fedora 其本身是支持安全启动的,但是当你通过 Rpmfusion 安装官方的英伟达驱动,会造成这些驱动的内核模块未签名。在 Linux 启动过程中因为安全启动校验签名,会阻止加载这些模块,进而无法正常驱动显卡。

用过 Ubuntu 的伙伴们应该知道,在安全启动开启的情况下,Ubuntu 安装程序会自动用自签密钥来签名英伟达驱动内核模块,并在开机过程中自动将该自签密钥导入 MOK List(安全启动机器主人信任密钥列表)。但 Fedora 只会保证自身内核签名有效,而对 Rpmfusion 中的第三方内核模块签名问题不予理会,导致无法正常加载英伟达驱动。

本文介绍如何在 Fedora 中自动签署英伟达内核模块

准备工作

在 Fedora 36 之前,要像 Ubuntu 那样自动签署内核模块有点困难。但从这个版本开始,你只需几个简单的步骤就能做到。

在开始之前,让我们先确认一些前提条件已经满足:

  1. 已启用安全启动;
  2. 尚未安装英伟达驱动程序(非常关键,如果你已经安装了专有的英伟达驱动,可能需要重装系统才行);
  3. 以及安装了 Fedora 36 及以上版本。

本指南主要参考了以下资料:

  1. Rpmfusion 的官方英伟达文档
  2. Rpmfusion 的官方安全启动文档
  3. Andrei Nevedomskii 的博客教程

希望深入了解的朋友可以阅读上述资料进一步研究。

具体步骤

1、安装自动签名所需的工具

sudo dnf install kmodtool akmods mokutil openssl

2、生成签名密钥

sudo kmodgenca -a

该命令会在 /etc/pki/akmods/certs/ 目录下生成密钥,运行正确的情况下不会有输出。

3、启动密钥注册

这将使 Linux 内核信任使用你的密钥签名的驱动程序。

sudo mokutil --import /etc/pki/akmods/certs/public_key.der

你会被要求输入一个密码。请记住这个密码,在下面的第五步中还需要再次使用。

4、重启以注册密钥

sudo reboot

5、注册密钥

重启后,你将看到蓝色的 MOK 管理器界面,不要被这种类似 BSOD 的页面吓坏,按照以下步骤注册密钥。

如果你曾在启用安全启动的 Ubuntu 中安装过英伟达驱动程序,你可能见过这个界面。

首先要及时按任意建继续进入 MOK 管理(如果没有及时进入 MOK 管理,系统会重启)

MOK 管理界面1

首先选择 “Enroll MOK” 注册 MOK。

然后选择 “Continue”。

选择 “Yes” 并输入步骤 3 中的密码并回车(密码不会在输入框中显示,输入密码直接回车就好了)。

MOK 管理界面2

此时密钥已经注册,选择 “reboot”,设备将再次重启。

MOK 管理界面3

6、安装英伟达驱动程序

现在只需正常安装英伟达驱动程序。

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs

7、确保内核模块已编译

sudo akmods --force

8、确保启动镜像也已更新

sudo dracut --force

9、重启设备

sudo reboot

验证是否成功

重启完成后,输入以下命令确认驱动是否加载:

lsmod | grep -i nvidia

如果有类似以下的输出,恭喜你,一切顺利,一切就绪!

$ lsmod | grep -i nvidia
nvidia_drm             94208  2
nvidia_modeset       1560576  2 nvidia_drm
nvidia_uvm           3493888  0
nvidia              62517248  118 nvidia_uvm,nvidia_modeset
video                  73728  3 asus_wmi,i915,nvidia_modeset

现在,你可以愉快的在开启安全启动的情况下使用英伟达显卡了。

希望本文能够帮助到你。

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯