如何在启用安全启动的情况下安装 nvidia 驱动程序?

Yer*_* Li 3 nvidia uefi secure-boot drivers

我找到了这篇文章: nvidia-smi 命令未找到 Ubuntu 16.04 | 询问 Ubuntu

这说明在 ubuntu 中找不到启用 IUEF 安全启动的nvidia-smi

$ nvidia-smi
nvidia-smi: command not found
Run Code Online (Sandbox Code Playgroud)

关于如何使用 nvidai 驱动程序功能启用安全启动的任何想法?

我找到了这篇关于使用virtual box解决安全启动问题的文章,但仍然对MOK 管理器的工作原理知之甚少:

VirtualBox + 安全启动 + Ubuntu = 失败 | Øyvind Stegard 博客

小智 12

尝试这个:

- 步骤 1:从 NVIDIA 网站https://www.geforce.com/drivers下载最新的驱动程序。

- 步骤 2:通过输入命令创建新的私钥对 (Nvidia.key) 和公钥 (Nvidia.der):

openssl req -new -x509 -newkey rsa:2048 -keyout PATH_TO_PRIVATE_KEY -outform DER -out PATH_TO_PUBLIC_KEY -nodes -days 36500 -subj "/CN=Graphics Drivers"
Run Code Online (Sandbox Code Playgroud)

例子:

openssl req -new -x509 -newkey rsa:2048 -keyout /home/itpropmn07/Nvidia.key -outform DER -out /home/itpropmn07/Nvidia.der -nodes -days 36500 -subj "/CN=Graphics Drivers"
Run Code Online (Sandbox Code Playgroud)

- 第 3 步:通过输入以下命令将公钥 (nvidia.der) 注册到 MOK(机器所有者密钥):

sudo mokutil --import PATH_TO_PUBLIC_KEY
Run Code Online (Sandbox Code Playgroud)

例子:

sudo mokutil --import /home/itpropmn07/Nvidia.der
Run Code Online (Sandbox Code Playgroud)

--> 此命令需要您创建注册密码。之后,重启电脑,下次开机时,系统会要求您注册,您输入密码(您在此步骤中创建的密码)进行注册。阅读更多:https : //sourceware.org/systemtap/wiki/SecureBoot

- 步骤4:首次安装NVidia驱动,需要输入以下命令禁用Nouveau内核驱动:

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf; sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)

--> 重启。

- 第五步:输入命令安装驱动

sudo sh ./XXXXXX.run -s --module-signing-secret-key=PATH_TO_PRIVATE_KEY --module-signing-public-key=PATH_TO_PUBLIC_KEY
Run Code Online (Sandbox Code Playgroud)

在哪里:

XXXXXX:文件安装程序的名称(从 NVIDIA 下载)。

PATH_TO_PRIVATE_KEY: 私钥的完整路径。如果您放置在主文件夹中,请使用/home/USER_NAME/而不是~

PATH_TO_PUBLIC_KEY: 公钥的完整路径。如果您放置在主文件夹中,请使用/home/USER_NAME/而不是~

例子:

sudo sh ./NVIDIA-Linux-x86_64-390.67.run -s --module-signing-secret-key=/home/itpropmn07/Nvidia.key --module-signing-public-key=/home/itpropmn07/Nvidia.der
Run Code Online (Sandbox Code Playgroud)

--> 完成

阅读更多https://us.download.nvidia.com/XFree86/Linux-x86/319.32/README/installdriver.html

  • 通过 apt 安装驱动程序包时有没有办法做同样的事情?我可能是错的,但我更喜欢启用相关的存储库/ppa,然后进行 apt 升级。 (2认同)

小智 6

itpropmn07 的推荐对我有用。我必须做出一个改变,这是最后一步。

而不是输入此命令:

sudo sh ./XXXXXX.run -s --module-signing-secret-key=PATH_TO_PRIVATE_KEY --module-signing-public-key=PATH_TO_PUBLIC_KEY
Run Code Online (Sandbox Code Playgroud)

我输入的命令没有-s

sudo sh ./XXXXXX.run --module-signing-secret-key=PATH_TO_PRIVATE_KEY --module-signing-public-key=PATH_TO_PUBLIC_KEY
Run Code Online (Sandbox Code Playgroud)

使用此命令我可以交互式安装驱动程序。