Debian的驱动程序以内核模块形式存储在/lib/modules/$(uname -r)目录下($(uname -r)为当前内核版本)。使用rsync命令可完整备份该目录(保留权限、属性等):
sudo rsync -aAXv /lib/modules /path/to/backup/lib/modules_$(uname -r)
其中-aAXv参数表示归档模式、保留ACL和扩展属性、显示详细过程,/path/to/backup替换为实际备份路径(如/home/user/drivers_backup)。
部分硬件驱动(如无线网卡、显卡)需要额外的固件文件,存储在/lib/firmware目录下。备份该目录:
sudo cp -r /lib/firmware /path/to/backup/firmware
固件文件是驱动正常工作的关键,缺失会导致硬件无法识别。
通过apt命令导出已安装的驱动包列表(含依赖),便于后续恢复:
apt list --installed | grep -iE 'driver|firmware|kernel-module' > /path/to/backup/installed_drivers.txt
或使用dpkg生成详细列表:
dpkg -l | grep -i driver > /path/to/backup/installed_drivers.txt
列表文件可记录驱动名称及版本,避免恢复时遗漏。
驱动相关的配置文件通常位于以下目录,需逐一备份:
/etc/modprobe.d/(如黑名单配置、模块参数);/etc/X11/xorg.conf或/etc/X11/conf.d/(显卡驱动配置);/etc/network/interfaces或/etc/netplan/(网络适配器配置)。cp或rsync命令备份:sudo cp -a /etc/modprobe.d/ /path/to/backup/modprobe_d
sudo cp -a /etc/X11/ /path/to/backup/xorg_conf
BackupNinja是Debian下的自动化备份工具,支持定时、增量备份:
sudo apt install backupninja;sudo ninja-config --name driver_backup,按提示设置备份源(如上述目录)、目标路径、频率(每日/每周);sudo ninja-backup driver_backup。etckeeper专门管理/etc目录的版本控制,自动提交配置变更:
sudo apt install etckeeper;sudo etckeeper init;sudo etckeeper commit "Backup driver configs";/var/lib/etckeeper/backups/,可通过Git或Bazaar恢复历史版本。将备份的/lib/modules/$(uname -r)目录复制回原路径:
sudo rsync -aAXv /path/to/backup/lib/modules_$(uname -r) /lib/modules/
恢复后需更新模块依赖:
sudo depmod -a
depmod会扫描模块目录,生成模块依赖关系文件(modules.dep),确保系统能正确加载驱动。
将备份的/lib/firmware目录复制回原路径:
sudo cp -r /path/to/backup/firmware /lib/
固件文件无需额外配置,系统会在驱动加载时自动读取。
根据之前导出的installed_drivers.txt列表,使用apt重新安装驱动包:
sudo apt install $(grep -iE 'driver|firmware|kernel-module' /path/to/backup/installed_drivers.txt | awk -F/ '{print $NF}' | tr '\n' ' ')
若驱动包来自第三方源(如NVIDIA),需先添加对应源再安装(如sudo add-apt-repository ppa:graphics-drivers/ppa)。
将备份的配置文件复制回原目录:
sudo cp -a /path/to/backup/modprobe_d/ /etc/modprobe.d/
sudo cp -a /path/to/backup/xorg_conf/ /etc/X11/
恢复后需检查配置文件权限(通常为root:root,权限644),避免权限问题导致驱动无法加载。
若驱动包无法通过apt获取(如旧版显卡驱动),需手动下载驱动源码编译安装:
tar -xzf NVIDIA-Linux-x86_64-xxx.xx.run && cd NVIDIA-Linux-x86_64-xxx.xx;sudo sh ./NVIDIA-Linux-x86_64-xxx.xx.run --no-drm;sudo apt install -f自动解决依赖。