惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
D
Docker
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - 司徒正美
博客园 - Franky
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
S
Secure Thoughts
博客园 - 聂微东
L
LINUX DO - 最新话题
U
Unit 42
SecWiki News
SecWiki News
A
Arctic Wolf
Schneier on Security
Schneier on Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Visual Studio Blog
量子位
The Cloudflare Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
Last Week in AI
Last Week in AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Latest news
Latest news

无妄当自持

在 RTX 4060 Laptop(8GB 显存)笔记本上部署 Qwen3.5-4B 和 Qwopus3.5-9B-Coder 的完整实战 给 Hermes Agent 接入 Sciverse:5 分钟搞定学术搜索 MCP MinerU:让 AI Agent 读懂 PDF 的文档提取利器 用 Firecrawl + SearXNG 给 Hermes Agent 搭建本地搜索与网页抓取 让服务器的 AI 读写你的 Obsidian 笔记库:从自建同步到 MCP 集成 在 RTX 4060 笔记本上运行 Qwen 3.5 9B:llama.cpp 本地部署实录 在 Fedora 44 上编译支持 CUDA 的 llama.cpp:完整指南 Hermes WebUI 安装与使用指南 Hermes Agent 使用实践:核心机制与命令技巧 小米 MiMo 模型本地部署实践:从选型到踩坑 介绍并初步使用 Hermes Agent Linux 下将浏览器缓存放到内存,并在登录登出时进行同步 Fedora 使用脚本配置国内镜像源 在 Fedora server 39 中纯手动部署 Nextcloud 使用 shell 脚本和 systemd 定时替换 Gnome 壁纸 Linux 下字体配置 设置 VirtualBox 虚拟机为静态 ip 以方便主机访问 曲登尼玛冰川 面向神经科学家的人工神经网络
在启用安全启动的 Fedora 中安装 Nvidia 驱动
insidentally · 2023-07-20 · via 无妄当自持

现在新出厂的电脑 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. 安装自动签名所需的工具

1
sudo dnf install kmodtool akmods mokutil openssl

2. 生成签名密钥

1
sudo kmodgenca -a

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

3. 启动密钥注册

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

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

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

4. 重启以注册密钥

1
sudo reboot

5. 注册密钥

重启后,你将看到蓝色的 MOK 管理器界面,不要惊惶,按照以下步骤注册密钥。

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

  1. 首先要及时按任意建继续进入 MOK 管理(如果没有及时进入 MOK 管理,系统会重启)
MOK 管理界面1
  1. 接着选择“Enroll MOK”注册 MOK。

  2. 然后选择“Continue”。

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

MOK 管理界面5
  1. 此时密钥已经注册,选择“reboot”,设备将再次重启。
MOK 管理界面6

6. 安装英伟达驱动程序

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

你需要提前配置好 rpmfusion 软件源。参看清华开源镜像站的教程

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

7. 确保内核模块已编译

1
sudo akmods --force

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

1
sudo dracut --force

9. 重启设备

1
sudo reboot

确认是否成功

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

1
lsmod | grep -i nvidia

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

1
2
3
4
5
6
7
$ 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

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

对于使用 Debian 的朋友,可以参考 Debian 关于安全启动的官方教程。由于我没有在 Debian 上尝试过,无法为你提供帮助。

希望本文能够帮助到你。