温馨提示×

CentOS驱动如何卸载

小樊
38
2025-11-16 02:12:49
栏目: 智能运维

CentOS 驱动卸载指南

一、通用准备与注意事项

  • 备份重要数据与当前工作,尽量在救援模式/多用户文本模式下操作,避免图形会话占用导致文件被占用。
  • 确认系统版本与内核:cat /etc/centos-releaseuname -r,不同版本(如 CentOS 7/8/Stream)包管理命令略有差异。
  • 明确驱动类型与安装方式:如 NVIDIA 专有驱动(.run 安装器或 RPM/kmod 方式)、内核模块(第三方 ko)、或 容器/虚拟化驱动(如 nvidia-docker2)。
  • 操作需要 root 权限;执行后建议重启验证。

二、NVIDIA 显卡驱动卸载步骤

  • 停止图形界面与相关业务
    • 切换到多用户目标:systemctl isolate multi-user.target
    • 停止容器/服务:systemctl stop nvidia-docker2(若安装)
  • 按安装方式选择卸载
    • 使用官方安装器(.run)
      • 执行:/usr/bin/nvidia-uninstall 或重新运行安装包:sh NVIDIA-Linux-x86_64-<版本>.run --uninstall
    • 使用 RPM/YUM(kmod/nvidia-drv 等)
      • 列包:rpm -qa | grep -i nvidia
      • 卸载示例:yum remove kmod-nvidia* nvidia-x11-drv* nvidia-settings nvidia-detect
  • 清理残留配置与文件
    • 配置与 X:rm -f /etc/modprobe.d/nvidia*.confrm -f /etc/X11/xorg.conf /etc/X11/xorg.conf.d/00-nvidia.conf
    • 库与驱动文件:rm -rf /usr/lib64/nvidia /usr/lib64/xorg/modules/drivers/nvidia_drv.so /var/lib/nvidia
    • 日志:find /var/log/ -name ‘*nvidia*’ -delete
  • 重建 initramfs 并重启
    • dracut --force
    • reboot
  • 验证卸载结果
    • 模块:lsmod | grep nvidia(应无输出)
    • PCI 设备:lspci -k | grep -A 2 -i “vga”(应显示使用 nouveau 或内核自带驱动,而非 nvidia)
    • 包残留:rpm -qa | grep -i nvidia(应无输出)

三、通用内核模块卸载方法

  • 查看与卸载
    • 查看:lsmod | grep <模块名>
    • 卸载:modprobe -r <模块名>rmmod <模块名>(模块无引用时才能卸载)
  • 处理依赖与黑名单
    • 若被占用,先停占用进程/服务;必要时临时移除黑名单:rmmod <被依赖模块> 后再卸载目标模块
    • 清理残留配置:/etc/modprobe.d/ 中与该模块相关的 .conf 条目
  • 持久化与验证
    • 更新 initramfs:dracut --force
    • 重启后再次检查:lsmod | grep <模块名>

四、常见问题与排查

  • 卸载后仍能 lsmod | grep nvidia:说明模块仍在,先停止 GUI/容器,再用 modprobe -r nvidia 卸载,必要时 rmmod -f(谨慎),随后 dracut --force 并重启。
  • 开机仍自动加载 NVIDIA:检查并清理 /etc/modprobe.d/nvidia*.conf、更新 initramfs,确认 /usr/lib64/nvidia 等目录已删除。
  • 图形无法进入:可能 Xorg 仍引用 NVIDIA 配置,删除 /etc/X11/xorg.conf/etc/X11/xorg.conf.d/00-nvidia.conf,或切换回 nouveau 后重启。
  • 容器报错找不到驱动:卸载 nvidia-docker2 后,清理其配置与容器运行时,再按需重装匹配版本的驱动与容器工具链。

0