Linux 下的 NVIDIA 显卡驱动排错

Problem: NVIDIA-SMI fails to communicate with driver after laptop repair
Solution: Disable Secure Boot in BIOS

前情提要:电脑翻盖用于固定的铁片断了,去送修了。

刚拿到电脑,想着检查一下显卡怎么样,于是直接在命令行输入了 nvidia-smi 结果输出

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

驱动安装了,但是怎么还会报错呢?

网上找了一下,发现是因为电脑 BIOS 开启了 Security Boot,导致 NVIDIA 的 Linux 驱动模块无法正常启动:它会在开机时验证内核模块的签名,未签名的 NVIDIA 驱动模块会被拒绝加载。输入

mokutil --sb-state

检查 Security Boot 是否开启。如果开启了,直接重启然后进入 BIOS 把 Security Boot 关了即可。