适用场景需要升级 NVIDIA 驱动以满足 CUDA 版本要求当前驱动版本过低如 550 支持 CUDA 12.4但某些工程需要 CUDA 12.6从手动安装的驱动切换到系统推荐版本步骤 1查看当前驱动版本nvidia-smi记录 Driver Version 和 CUDA Version驱动支持的 CUDA 上限。步骤 2查看系统可用驱动ubuntu-drivers devices找到标记recommended的版本如nvidia-driver-595。步骤 3确认之前驱动安装方式nvidia-uninstall结果说明处理方式命令不存在apt 安装用apt purge卸载命令存在.run 文件安装用nvidia-uninstall卸载步骤 4卸载旧驱动# apt 安装的驱动sudoaptpurge nvidia-* nvidia-driver-*# 清理残留sudoaptautoremove步骤 5安装系统推荐驱动sudoubuntu-drivers autoinstall自动安装recommended标记的驱动版本。步骤 6重启生效sudoreboot步骤 7验证新驱动nvidia-smi确认 Driver Version 和 CUDA Version 已更新。驱动版本与 CUDA 对应关系驱动版本支持 CUDA 上限53512.254512.355012.456012.658012.859512.9常见问题问题原因解决Driver/library version mismatch新驱动安装后未重启执行sudo rebootnvidia-smi失败驱动未正确加载重启或检查安装日志快速命令汇总# 一键操作从卸载到安装sudoaptpurge nvidia-* nvidia-driver-*sudoaptautoremovesudoubuntu-drivers autoinstallsudoreboot内核版本与驱动冲突问题问题背景内核版本支持的最高 NVIDIA 驱动CUDA 版本6.8.0-52-genericnvidia-550CUDA 12.46.8.0-100nvidia-560/570/580/595CUDA 12.6SAM3 官方要求 CUDA ≥ 12.6。冲突场景当内核被apt-mark hold锁定在旧版本如 6.8.0-52但需要新驱动如 nvidia-595时HWE 元包机制 → 自动拉取最新内核的驱动模块 用户内核锁定 → 内核不升级 结果 → 驱动模块装到不存在的内核版本nvidia-smi 失败临时解决方案双内核切换适用于两个程序不同时使用、需要远程切换的场景。1. 锁定旧内核防止被删除sudoapt-mark hold linux-image-6.8.0-52-generic2. 切换到新内核环境SAM3# 设置默认启动内核修改 /etc/default/grubsudosed-is/6.8.0-52-generic/6.8.0-111-generic//etc/default/grubsudoupdate-grub# 安装新驱动会自动卸载旧驱动sudoaptinstallnvidia-driver-595 linux-modules-nvidia-595-6.8.0-111-generic# 重启sudoreboot3. 切换回旧内核环境其他程序# 设置默认启动内核sudosed-is/6.8.0-111-generic/6.8.0-52-generic//etc/default/grubsudoupdate-grub# 安装旧驱动sudoaptinstallnvidia-driver-550 linux-modules-nvidia-550-6.8.0-52-generic# 重启sudoreboot4. 创建一键切换脚本可选# 切换到 SAM3 环境echo#!/bin/bash sudo sed -i s/6.8.0-52-generic/6.8.0-111-generic/ /etc/default/grub sudo update-grub sudo apt install nvidia-driver-595 linux-modules-nvidia-595-6.8.0-111-generic -y sudo reboot~/switch_to_sam3.shchmodx ~/switch_to_sam3.sh# 切换到其他程序环境echo#!/bin/bash sudo sed -i s/6.8.0-111-generic/6.8.0-52-generic/ /etc/default/grub sudo update-grub sudo apt install nvidia-driver-550 linux-modules-nvidia-550-6.8.0-52-generic -y sudo reboot~/switch_to_other.shchmodx ~/switch_to_other.sh使用~/switch_to_sam3.sh# 一键切换到 SAM3 环境~/switch_to_other.sh# 一键切换回其他程序环境常用命令# 查看当前运行的内核uname-r# 查看 GRUB 默认启动的内核grepGRUB_DEFAULT /etc/default/grub# 查看已安装的内核dpkg-l|greplinux-image|grep-vmeta# 查看被锁定的包支持锁住多个apt-mark showhold apt-mark showhold|greplinux-image# 锁定内核sudoapt-mark hold linux-image-6.8.0-52-generic# 解锁内核sudoapt-mark unhold linux-image-6.8.0-52-generic