CentOS驱动程序备份与恢复指南
使用lshw或lspci命令导出硬件及驱动信息,便于后续匹配驱动:
sudo lshw -short > /path/to/backup/hardware_info.txt(记录设备型号、厂商等);lspci -v > /path/to/backup/pci_info.txt(包含设备ID、驱动名称等关键信息);for module in $(lsmod | awk '{print $1}'); do sudo modinfo $module > /path/to/backup/$module.info; done(保存驱动的版本、依赖项、支持硬件等)。通过包管理器列出并下载已安装的驱动RPM包,方便后续重新安装:
rpm -qa | grep -i driver | xargs sudo yum reinstall --downloadonly --downloaddir=/path/to/backup(仅下载驱动RPM包,不安装);dnf list installed | grep -i driver | awk '{print $1}' | xargs dnf reinstall --downloadonly --downloaddir=/path/to/backup(同理,适用于dnf系统)。内核模块是驱动的核心文件,打包/lib/modules/$(uname -r)/kernel/drivers/目录可保存所有已加载驱动:
sudo tar -czvf /path/to/backup/drivers_backup.tar.gz /lib/modules/$(uname -r)/kernel/drivers/(压缩目录以节省空间,$(uname -r)代表当前内核版本,确保备份与系统内核匹配)。
部分驱动需要通过配置文件调整参数,备份以下目录可保留配置:
sudo cp -r /etc/modprobe.d /path/to/backup/modprobe.d_backup(包含驱动黑名单、参数设置等,如禁用nouveau驱动的配置);sudo cp -r /etc/modules-load.d /path/to/backup/modules-load.d_backup(记录开机自动加载的驱动模块);sudo cp /etc/modules /path/to/backup/modules_backup(系统默认加载的模块列表)。若已备份驱动RPM包,可使用包管理器重新安装:
sudo yum localinstall /path/to/backup/*.rpm(安装备份的所有驱动RPM包);sudo dnf localinstall /path/to/backup/*.rpm(同理,适用于dnf系统)。若备份了drivers目录,可将模块解压至对应内核版本目录:
sudo tar -xzvf /path/to/backup/drivers_backup.tar.gz -C /lib/modules/$(uname -r)/kernel/drivers/(恢复驱动文件后,需执行下一步生成initramfs)。
驱动模块需加载至initramfs(初始RAM文件系统),否则系统启动时无法识别驱动:
sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r)(-f参数强制覆盖原有镜像,确保新驱动生效)。
将备份的配置文件复制回原目录,恢复驱动参数与开机加载设置:
sudo cp -r /path/to/backup/modprobe.d_backup/* /etc/modprobe.d/;sudo cp -r /path/to/backup/modules-load.d_backup/* /etc/modules-load.d/;sudo cp /path/to/backup/modules_backup /etc/modules。root权限(通过sudo执行),避免权限不足导致失败;uname -r查看当前内核版本),否则驱动可能无法加载;