admin管理员组

文章数量:1636320

一、nvidia官网下载驱动(可以下载后用U盘转移,安装前要加执行权限chmod 777 文件名)

1.1在浏览器地址栏输入nvidia进入nvidia官网

1.2点击网页右上角的“驱动程序”,进入
1.3根据自己电脑的显卡进行选择。其中,操作系统选择“Linux 64-bit"(我的电脑是inter的),下载类型选择”生产分支“。然后选择搜索。

1.4点击“下载”


1.5点击“同意并开始下载”

二、更新软件列表和安装必要软件、依赖

终端输入一下命令:

sudo apt-get install update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

三、禁用默认驱动nouveau

输入以下指令打开系统的黑名单列表文件

sudo gedit /etc/modprobe.d/blacklist.conf

在文件的末尾另起一行,加上以下内容

blacklist nouveau

点击保存,在终端输入以下内容使其生效

sudo update-initramfs -u

四、安装nvidia显卡驱动(请确保BIOS中的secure boot已开启)

4.1.打开终端,进入nvidia驱动所在的文件夹,我的是在Downloads里,可以在终端输入一下命令:

cd Downloads
sudo bash NVIDIA-Linux-x86_64-(版本号).run

第二条指令,输入到"NVI"后可以直接按TAB键,自动补全

4.2.按照下面白色部分进行选择(例如第一张图片左边是被选中的),通过左右键和Enter键进行选择。

进行中



下面这张图片,好像是:已签名,是否删除私钥。这里我选择“否”,然后去文件位置(在下下图/usr/share/nvidia/),将.der(公钥)和.key(私钥)文件移到其他位置,并改成简单的名字。后续更新时上面那张图片选择“use an existing key pair”,然后先输入私钥位置,后输入公钥位置(绝对路径)。

下面这张可以用手机拍下,记录其中的文件位置





4.3重启电脑(如果黑屏,请看文末)

五、秘钥

5.1正常情况下,在你进行完成这一系列步骤后,进行4.3的重启后应该会出现蓝屏的perform mok managemnet。如果有,请跳到下一步。否则,在终端输入以下命令:

nvidia-smi

应该会像我这样显示:

继续输入以下命令,进入刚才手机拍照保存的那个文件位置:

cd /usr/share/nvidia
ls

输入ls后会看到一个.der文件,输入以下命令将秘钥注册到安全启动中。(输入nvidia-mo后可以用TAB键补全)

sudo mokutil --import nvidia-modsign-crt-F655ABA2.der

会弹出“input password:”,建议只输入一个数字,比如“0”,输入后是看不到的。然后是再次确认密码,再次输入“0”。

此时在进行重启,就会出现mok management界面。

5.2蓝屏的perform mok managemnet(以下是手机拍照,会有点模糊),通过上下键选择,Enter键确认。

在perform mok mangement界面选择enroll mok

选择continue(enroll mok界面)

选择yes(enroll the key界面)

输入在安装时设定的密码“0”

跳转到perform mok manageent界面boot即可。

重启后在终端输入navidia-smi即可看到显卡信息了!!恭喜安装成功!

————————————

出现问题:
如果重启电脑后黑屏了,可以在ubuntu的引导界面,通过上下键使得光标选中“ubuntu”,然后按“e”键进入,在开头为"liunx"那一行的"quiet splash —“处删去”—“,后面加上"nomodeset”。注意,splash和nomodeset中间有空格。然后,按F10或ctrl+x以修改后的参数启动。
————————————
安装十多次后的经验:

  1. 安装成功后黑屏,加入“nomodeset”也黑屏,可以进入高级选项,选择恢复模式,选择dpkg修复破损包,看命令行,按“y”按Enter后选第一个重启。这个方法重启后可能还是黑屏,可能是驱动不合适,换版本吧。目前我5.15.0.107内核用的是535版本才好用。
  2. 安装成功,重启后输入nvidia-smi显示失败,可以使用sudo mokutil --list-enrolled查看之前的公钥还在不在。
  3. 删除多余公钥的方法:
# 查看已有的内核签名
mokutil --list-enrolled
# 创建内核签名目录:
mkdir der
cd der
# 导出已有内核签名文件到der目录
sudo mokutil --export
# 查看需要删除的内核签名,记下名字key*, *是数字
mokutil -l | less
# 删除对应的文件,输入密码(当时下载NVIDIA驱动用的密码是0)
sudo mokutil --delete MOK-000*.der
# 重启
sudo reboot
# 进入蓝色界面,按任意键后选择“delete MOK”,“continue”, 输入密码0后,重启“reboot”

本文标签: 显卡驱动模式下UEFINVIDIAUbuntu