目录
报错日志
解决步骤
步骤 1: 确认已安装的 NVIDIA 驱动
步骤 2: 检查 DKMS 状态
步骤 3: 重新生成 NVIDIA 内核模块
卸载现有模块(如果存在)
添加并构建模块
步骤 4: 更新 initramfs 并重启
步骤 5: 使用官方 NVIDIA 安装程序
步骤 6: 检查日志文件
步骤 7: 手动加载模块
报错日志
root@h1-6-gpu:/opt/tools# modprobe nvidia
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.15.0-131-generic
解决步骤
出现 modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.15.0-131-generic
错误,说明当前内核版本(5.15.0-131-generic
)没有找到 NVIDIA 驱动模块。这通常是因为驱动程序未为该内核版本正确编译或安装。以下是解决此问题的步骤:
步骤 1: 确认已安装的 NVIDIA 驱动
首先确认你已经安装了正确的 NVIDIA 驱动程序:
dpkg -l | grep nvidia
确保 nvidia-driver-550
及其相关依赖项已正确安装。
步骤 2: 检查 DKMS 状态
如果你使用的是 DKMS(Dynamic Kernel Module Support),请检查 DKMS 是否已为当前内核编译并安装了 NVIDIA 模块:
sudo dkms status
你应该能看到类似以下输出:
nvidia, 550.90.07, 5.15.0-131-generic, x86_64: installed
如果没有看到当前内核版本对应的条目,可能需要重新构建模块。
步骤 3: 重新生成 NVIDIA 内核模块
如果 DKMS 没有为当前内核版本生成模块,可以手动重新生成:
卸载现有模块(如果存在)
sudo dkms remove nvidia/550.90.07 --all
添加并构建模块
sudo dkms add nvidia/550.90.07
sudo dkms build nvidia/550.90.07
sudo dkms install nvidia/550.90.07
步骤 4: 更新 initramfs 并重启
有时,更新 initramfs 文件可以帮助解决问题。运行以下命令:
sudo update-initramfs -u -k 5.15.0-131-generic
然后重启系统:
sudo reboot
步骤 5: 使用官方 NVIDIA 安装程序
如果上述方法无效,可以尝试使用 NVIDIA 官方提供的 .run
文件进行安装。
-
下载最新的驱动程序: 访问 NVIDIA 官方下载页面 并下载适合你 GPU 型号的驱动程序。
-
切换到终端并停止图形界面(如果你在使用图形界面):
sudo systemctl stop gdm # 对于 GDM sudo systemctl stop lightdm # 对于 LightDM sudo systemctl stop sddm # 对于 SDDM
-
运行下载的驱动程序安装脚本:
sudo sh ./NVIDIA-Linux-x86_64-<version>.run
在安装过程中,确保选择选项以自动更新
initramfs
和Xorg
配置文件。 -
完成安装后,重启系统:
sudo reboot
步骤 6: 检查日志文件
如果仍然无法加载 NVIDIA 模块,可以检查系统日志以获取更多信息。
查看 dmesg
输出:
dmesg | grep nvidia
查看系统日志:
cat /var/log/syslog | grep nvidia
或者查看 Xorg 日志(如果使用图形界面):
cat /var/log/Xorg.0.log | grep nvidia
这些日志可能会提供有关为什么驱动程序无法加载的更多信息。
步骤 7: 手动加载模块
重启后,尝试手动加载 NVIDIA 模块:
sudo modprobe nvidia
如果成功加载,你可以运行 nvidia-smi
来确认驱动程序是否正常工作:
nvidia-smi
通过以上步骤,你应该能够解决 modprobe: FATAL: Module nvidia not found
的问题。如果仍然遇到问题,请提供更多的错误信息或日志内容以便进一步诊断。