nvidia驱动安装的时候,需要注意是否主板开启secure boot安全模式,如果开启了,这会导致后续nvidia未被注册到系统的mok下,即使启动了,也无法使用驱动。在此记录一下Linux系统下完整的Nvidia安装教程,以ubuntu为主。windows通常没有该问题。
1. Nvidia下载安装详细说明
1.1 官网下载.run驱动文件
在浏览器地址栏输入https://nvidia.cn进入nvidia官网,下载对应操作系统的驱动文件

1.2 禁用系统默认的nouveau
# 编辑文件
sudo gedit /etc/modprobe.d/blacklist.conf
# 新增一行
blacklist nouveau
# 保存更新
sudo update-initramfs -u1.3 安装显卡驱动
cd Downloads
sudo bash NVIDIA-Linux-x86_64-(版本号).run1.4 按照图片依次选择安装


注意,如果开启了secure boot模式,则必须要安装签名文件,否则无法使用

选择生成新的签名证书,后面手动添加到系统信任中;如果是升级的话,需要选择左侧,使用之前已经安装的签名公钥和私钥

如果是首次生成,需要选择是否删除私钥,选择否,方便下次升级时使用

最后输出的是公钥和私钥位置

然后选择保存32位以及DKMS生成




至此,如果没有开启secure boot模式,则已经安装完毕,reboot重启后使用nvidia-smi即可看到显卡信息
1.5 (注) 如果开启Secure boot,则需要手动加入公钥到系统信任列表中,否则无法使用
首先需要注册到系统信任列表中
# 进入到公钥位置,添加进去
cd /usr/share/nvidia
# 添加到系统信任中,选择实际的文件
sudo mokutil --import nvidia-modsign-xxxxxx.der注意:注册时候会弹出“input password:”,建议只输入一个数字,比如“0”,输入后是看不到的。然后是再次确认密码,再次输入“0”。
此时在进行重启,就会出现mok management界面。
重启后在mok management界面验证
在perform mok mangement界面选择enroll mok

然后选择continue(enroll mok界面)

选择yes(enroll the key界面)

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

跳转到perform mok manageent界面boot即可

重启后在终端输入navidia-smi即可看到显卡信息了
