温馨提示×

centos驱动如何卸载干净

小樊
43
2025-11-28 00:25:11
栏目: 智能运维

CentOS 驱动卸载干净的标准流程

一、按安装方式选择卸载路径

  • 使用 NVIDIA 官方安装包(.run)
    1. 建议先切到多用户文本模式,避免图形界面占用驱动:systemctl isolate multi-user.target
    2. 执行卸载:sh NVIDIA-Linux-x86_64-<版本>.run --uninstall
    3. 若安装过 CUDA Toolkit,按提示运行 /usr/local/cuda/bin/cuda-uninstaller,或删除对应目录(如 rm -rf /usr/local/cuda-<版本>)。
  • 使用 RPM/YUM/DNF 安装(含 kmod、DKMS 等)
    • CentOS 7:yum remove “nvidia*” “kmod-nvidia*” “nvidia-x11-drv*” “nvidia-settings” “nvidia-detect”
    • CentOS 8/Stream:dnf remove “nvidia*” “kmod-nvidia*” “nvidia-x11-drv*” “nvidia-settings” “nvidia-detect”
    • 若通过模块方式安装过:dnf module remove --all nvidia-driver && dnf module reset nvidia-driver
  • 使用模块方式(DKMS/nvidia 内核模块)
    • 列出并移除:rpm -qa | grep -i nvidia;yum/dnf remove kmod-nvidia* nvidia-dkms*
  • 仅使用 CUDA Toolkit(无驱动)
    • 卸载 CUDA 包:yum/dnf remove “cuda*” “cublas” “cufft” “curand” “cusolver” “cusparse” “npp” “nvjpeg” “nsight*” “nvvm
    • 删除残留目录:rm -rf /usr/local/cuda-<版本>
  • 多实例/高速互联相关(如 ebmgn8v/ebmgn7/ebmgn7e 规格族)
    • 停止并卸载 nvidia-fabricmanager:systemctl stop nvidia-fabricmanager && systemctl disable nvidia-fabricmanager
    • 查包名:rpm -qa | grep nvidia-fabric-manager;卸载:rpm -e nvidia-fabric-manager-<版本>
  • 完成后重启:reboot。

二、清理残留与内核模块

  • 结束占用进程并卸载模块(按依赖顺序)
    • 检查:lsmod | grep nvidia(常见模块:nvidia_uvm、nvidia_drm、nvidia_modeset、nvidia)
    • 卸载:modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia(若提示忙,先停占用进程,如 X/Wayland、容器、计算任务)
  • 删除配置文件与残留目录
    • 配置与 X:rm -rf /etc/modprobe.d/nvidia* /etc/X11/xorg.conf.d/00-nvidia.conf /etc/X11/xorg.conf
    • 库与驱动文件:rm -rf /usr/lib64/nvidia /usr/lib64/xorg/modules/drivers/nvidia_drv.so /var/lib/nvidia
  • 重建 initramfs(避免重启后误加载 nvidia)
    • CentOS 7:dracut --force
  • 可选:若计划改用开源驱动,确保 nouveau 未被黑名单屏蔽(如需启用,删除对应 blacklist 条目并重建 initramfs)。

三、卸载后的验证清单

  • 包是否已清:rpm -qa | grep -i nvidia(应无输出)
  • 模块是否清:lsmod | grep nvidia(应无输出)
  • 设备绑定:lspci -k | grep -A 2 -i “vga|3d”(应看不到 “Kernel driver in use: nvidia”)
  • 文件残留:检查 /usr/lib64/nvidia、/etc/modprobe.d/nvidia*、/etc/X11/xorg.conf* 是否已被删除
  • 环境变量:grep -i nvidia ~/.bashrc ~/.bash_profile ~/.zshrc /etc/profile /etc/profile.d/*(如有残留行请删除并 source 重载)

四、常见问题与处理

  • 有进程占用导致无法卸载模块:先停 X/Wayland(systemctl isolate multi-user.target)、容器/计算任务,再 modprobe -r;必要时用 lsof/ss 查占用者。
  • 更新驱动时报 “An NVIDIA kernel module ‘nvidia-uvm’ appears to already be loaded”:重启系统后再安装,可避免模块占用冲突。
  • 使用 .run 安装但找不到卸载程序:确认安装包是否包含 --uninstall 脚本,或改用包管理器方式清理后重装。

五、重要提示

  • 执行上述操作需 root 权限;操作前建议备份关键配置。
  • 若为 GPU 实例,卸载驱动后将无法使用 GPU 加速,务必在卸载前确认业务影响,并在完成后安装与实例规格及操作系统匹配的驱动再恢复业务。

0