真正干净卸载NVIDIA驱动需分步清除:先停图形环境,再用apt purge正则匹配彻底删包,手动卸载.run残留,清理Xorg配置与内核模块,重建initramfs(-k all),并黑名单nvidia模块,最后验证lsmod无输出、lshw显示正确驱动、glxinfo不报NVIDIA。

不能只靠 apt remove nvidia-driver —— 这会留下 nvidia-drm、nvidia-modeset 等内核模块,后续重装或切换显卡时大概率报错。
确认当前驱动状态和加载模块
先看系统到底在用什么、加载了哪些东西,避免盲目操作:
- 运行
lsmod | grep nvidia,如果输出里有nvidia、nvidia_modeset、nvidia_drm,说明模块仍在内存中 - 执行
nvidia-smi,若提示command not found但lsmod仍有输出,代表驱动二进制已删、模块却没卸载干净 - 查包残留:
dpkg -l | grep -i 'nvidia\|cuda',重点关注nvidia-dkms、nvidia-kernel、libnvidia-gl等带版本号的包
逐层清理:先停服务,再删包,最后清模块
顺序错了就会卡在 nvidia-drm already loaded 错误上:
本地语音转文字,支持可选后端:Parakeet(精度最高)或 Whisper(速度最快,支持多语言)。
- 切到字符终端:
sudo systemctl isolate multi-user.target(避免 Xorg 锁住模块) - 强制卸载所有相关包:
sudo apt purge '^nvidia-.*' '^cuda-.*' 'libnvidia-.*' 'xserver-xorg-video-nvidia.*'(注意用^正则匹配,比*nvidia*更精准) - 删掉手动安装残留:
sudo /usr/local/cuda/bin/cuda-uninstaller(如果装过 .run 包)或sudo /usr/bin/nvidia-uninstall(部分版本提供) - 清除 Xorg 配置:
sudo rm -f /etc/X11/xorg.conf和sudo rm -f /usr/share/X11/xorg.conf.d/10-nvidia.conf
清理顽固内核模块和 initramfs
即使包全删了,nvidia-drm 这类模块仍可能驻留在 initramfs 里,重启后自动加载:
- 检查模块是否还在:
find /lib/modules/$(uname -r) -mmin -60 | grep nvidia(找最近修改过的 nvidia 模块) - 手动移除:
sudo rm -f /lib/modules/$(uname -r)/updates/dkms/nvidia*.ko和/lib/modules/$(uname -r)/kernel/drivers/video/nvidia* - 重建 initramfs:
sudo update-initramfs -u -k all(必须加-k all,否则只更新当前 kernel) - 黑名单 nouveau 和 nvidia 模块:
echo "blacklist nvidia" | sudo tee -a /etc/modprobe.d/blacklist-nvidia.conf,再执行sudo update-initramfs -u
验证是否真正干净
重启前做三件事,缺一不可:
-
lsmod | grep nvidia必须无任何输出 -
sudo lshw -c video中configuration行不能出现driver=nvidia,应为driver=i915或driver=amdgpu - 启动进桌面后,运行
glxinfo | grep "OpenGL renderer",输出应是llvmpipe或集成显卡名,而非NVIDIA
最容易被忽略的是 initramfs 未全量更新和 nvidia-drm 模块残留 —— 它们不会影响 nvidia-smi 是否存在,但会让新驱动安装直接失败。


















