升级Linux内核后,导致NVIDIA驱动丢失
最近在开发的过程中,遇到了一个问题,觉得以后还有可能会遇到,所以发出来,记录一下。
问题起因:
当使用nvidia-smi时,输出以下提示:
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
可是我明明记得已经装过了显卡驱动,甚至连cuda都装过了,结果现在却不能用了
排查原因:
如果安装 NVIDIA 驱动程序从CUDA 工具包中运行文件或绑定驱动程序,升级 Linux 内核时驱动程序可能丢失。所以应该重新安装 NVIDIA 驱动程序。
可以安装带有 dkms 选项的驱动程序:
sudo sh NVIDIA-Linux-x86_64-470.xx.xx.run --dkms
其中,dkms的作用
NVIDIA-installer 可以选择注册 NVIDIA 内核模块源,如果安装了 DKMS,然后使用 DKMS 注册的源构建和安装内核模块。这将允许 DKMS 基础设施在更改内核时自动构建新的内核模块。在安装过程中,如果检测到 DKMS,nvidia-installer 将询问用户是否希望向 DKMS 注册该模块; 默认响应为“ no”。此选项将绕过 DKMS 的检测,并导致安装程序尝试基于 DKMS 的安装,而不管是否存在 DKMS。
OK, 问题解决!
本文记录了一个在Linux内核升级后导致NVIDIA驱动丢失的问题及解决方案。问题表现为无法通过nvidia-smi检查驱动状态。解决方法是重新安装NVIDIA驱动,并使用DKMS选项确保后续内核更新时自动适配驱动。
1万+

被折叠的 条评论
为什么被折叠?



