Linux怎么卸载残留驱动
卸载Linux驱动后需彻底清理残留,具体操作:先卸载已加载的内核模块并更新模块依赖(即执行sudodepmod-a),再删除/usr/lib/xorg/modules/drivers/下的驱动文件及OpenGL库,最后更新initramfs镜像,确保内核模块、用户态库、Xorg显示服务器插件等均无残留,以防重启后驱动自动加载。
搞Linux驱动卸载,最头疼的不是命令记不住,而是你以为删干净了,结果一重启,老驱动又幽灵般冒出来。这个问题在NVIDIA驱动上尤其典型——因为涉及的东西实在太散:内核模块、用户态库、Xorg驱动、GL调度器,甚至initramfs里都可能藏着旧模块。今天这篇就专门拆解每个环节,把清理的每一步掰开揉碎,确保系统彻底忘掉那个驱动曾经存在过。

rmmod 之后模块还在 lsmod 里?先查依赖链
直接rmmod失败,或者卸载后lsmod | grep xxx依然有输出,大概率是模块被其他模块引用着。比如nvidia依赖nvidia-modeset、nvidia-drm,必须按逆序卸载:
- 先卸载子模块,最后卸载主模块:
sudo modprobe -r nvidia-drm nvidia-modeset nvidia-uvm nvidia - 顺序一旦错了,系统会直接拒绝,提示
Module xxx is in use - 遇到这个提示别急着硬来,用
lsmod | grep xxx看看谁在用,或者lsof +D /dev/nvidia*查具体进程——杀死占用进程后再卸载
apt purge 后 /lib/modules/xxx.ko 还在?得手动删内核模块文件
包管理器只管软件包层面的文件,/lib/modules/$(uname -r)/下的.ko文件它是不碰的。这些残留驱动文件会带来一个经典问题:下次modprobe自动加载旧版,跟新版冲突,系统直接给你脸色看。
- 先定位残留:
find /lib/modules/$(uname -r) -name "nvidia*.ko*" 2>/dev/null - 确认无误后安全删除:
sudo find /lib/modules/$(uname -r) -name "nvidia*.ko*" -delete - 别忘了检查关联模块——尤其是Intel/NVIDIA混合场景下的
drm_kms_helper或i915 - 删完必须执行
sudo depmod -a,不然依赖关系缓存还指着旧模块,下次加载照样报错
卸载后 Xorg 还在用旧驱动?清空 /usr/lib/xorg/modules/drivers/
用户态驱动(比如nvidia_drv.so)不会随内核模块卸载而自动消失。X server启动时仍会加载它,结果要么黑屏,要么降级到llvmpipe软件渲染,性能一落千丈。
- 检查残留:
ls /usr/lib/xorg/modules/drivers/ | grep -i nvidia - 有东西的话直接删除:
sudo rm -f /usr/lib/xorg/modules/drivers/nvidia_drv.so - 同时清理GL库路径:
sudo rm -rf /usr/lib/x86_64-linux-gnu/nvidia* - 如果用了
glvnd,还要确认/usr/share/glvnd/egl_vendor.d/下面没有NVIDIA相关的json文件
uninstall.sh 执行完还报 command not found?检查 PATH 和 initramfs
卸载脚本可能删了二进制,但没更新系统环境——尤其用NVIDIA官方.run包安装的情况很常见。
- 先验证
nvidia-smi是否真消失:which nvidia-smi和command -v nvidia-smi都跑一遍 - 如果
which有输出但执行报错,说明PATH没刷新或符号链接断裂,可以用sudo updatedb && locate nvidia-smi全盘搜索确认 - 别忘了initramfs里可能打包了旧模块—Debian/Ubuntu上执行
sudo update-initramfs -u,RHEL/Fedora执行sudo dracut -f - 重启前,建议先
sudo systemctl isolate multi-user.target退出图形环境再操作,避免模块被占用
真正干净的卸载,不是“删完就完”,而是让系统彻底忘记那个驱动存在过——内核镜像、用户态库、Xorg插件、GL调度器、initramfs镜像,缺一不可。尤其是混合安装(apt + .run)的场景,漏掉任意一环,下次启动时它就可能悄悄复活。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













