在 Linux 下“回滚驱动”通常指把内核模块(驱动)或内核本身恢复到旧版本。下面按常见场景系统说明。
如果驱动是通过发行版安装的(如 linux-modules-extra、nvidia-driver 等):
Debian / Ubuntu
# 查看历史版本
apt-cache policy linux-modules-extra-$(uname -r)
# 安装指定版本
sudo apt install linux-modules-extra-5.15.0-91-generic=5.15.0-91.101
RHEL / CentOS
sudo dnf history list
sudo dnf history undo <ID>
Arch
sudo pacman -U /var/cache/pacman/pkg/xxx.tar.zst
适用于自定义编译驱动:
# 查看当前驱动
lsmod | grep xxx
modinfo xxx
# 卸载
sudo rmmod xxx
# 替换旧模块
sudo cp old_xxx.ko /lib/modules/$(uname -r)/kernel/drivers/xxx/
sudo depmod -a
sudo modprobe xxx
⚠️ 注意:
内核版本必须匹配,否则无法加载。
# Ubuntu / Debian
dpkg -l | grep linux-image
# RHEL / CentOS
rpm -qa | grep kernel
sudo reboot
在 GRUB 中选择:
Advanced options for Ubuntu
→ Linux 5.x.x-old
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux 5.x.x-old"
sudo update-grub
snapper list
snapper undochange <from>..<to>
lvcreate --snapshot --name root-snap --size 10G /dev/vg/root
# 回滚
lvconvert --merge /dev/vg/root-snap
dkms status
dkms remove xxx/1.2.3 --all
dkms install xxx/1.2.2
✅ 回滚前:
uname -a❌ 不要:
.koinsmod 不兼容模块如果你能说明:
我可以给你精确的一步一步回滚命令。