当前位置:首页 > Linux > 正文

Linux驱动丢失如何备份?

备份Linux驱动需保存内核模块文件和相关配置,主要步骤: ,1. 定位驱动文件:位于 /lib/modules/$(uname -r)/kernel/ 目录 ,2. 备份整个模块目录: sudo cp -r /lib/modules/$(uname -r) /备份路径 ,3. 备份配置文件:复制 /etc/modprobe.d/ 和 /etc/modules 等目录 ,备份后建议压缩存储,重装系统时还原即可恢复驱动。

手动备份驱动文件(推荐)

原理:直接复制内核驱动文件(.ko)及配置文件,适用于所有Linux发行版。

步骤

  1. 定位驱动文件

    # 列出所有已加载驱动模块 lsmod | awk 'NR>1 {print $1}' > current_modules.txt # 查找模块路径(以e1000网卡驱动为例) modinfo e1000 | grep "filename:" | awk '{print $2}'

    输出示例:/lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/e1000/e1000.ko

  2. 创建备份目录

    sudo mkdir -p /backup/drivers/$(uname -r)
  3. 复制核心文件

    # 备份.ko驱动模块 sudo cp /lib/modules/$(uname -r)/kernel/drivers/**/*.ko /backup/drivers/$(uname -r)/ # 备份模块依赖关系 sudo cp /lib/modules/$(uname -r)/modules.dep /backup/drivers/$(uname -r)/ # 备份设备配置文件(关键!) sudo cp /etc/modprobe.d/* /backup/drivers/$(uname -r)/
  4. 验证备份完整性

    Linux驱动丢失如何备份? 第1张

    sha256sum /backup/drivers/$(uname -r)/*.ko > /backup/drivers/checksums.txt


使用dkms动态内核模块支持

适用场景:针对通过DKMS(Dynamic Kernel Module Support)安装的驱动(如NVIDIA显卡驱动)。

操作流程

  1. 确认驱动支持DKMS:

    dkms status # 输出示例:nvidia, 470.182.03, 5.15.0-86-generic, x86_64: installed

  2. 备份DKMS模块源码:

  3. 导出配置信息:

    Linux驱动丢失如何备份? 第2张

    dkms status > /backup/drivers/dkms_status.log
  4. 恢复命令

    sudo dkms install -m <module_name> -v <version>


    自动化脚本备份(高危操作防护)

    推荐工具:driver-backup脚本(社区维护)

    步骤

    1. 下载脚本:

    2. 执行备份(自动打包当前内核所有驱动):

      sudo ./driver-backup.sh -o /backup/drivers_$(date +%F).tar.gz
    3. 安全验证

      解压后检查/lib/modules/目录结构是否完整,避免覆盖系统文件。

    4. 关键注意事项

      1. 内核版本绑定

        备份的驱动仅适用于相同内核版本的系统,通过uname -r记录内核号,恢复前需确认目标系统版本一致。

      2. 存储安全

        • 将备份文件保存至外部设备或云存储(如使用rsync同步至NAS)
        • 加密敏感配置:gpg -c /backup/drivers.tar.gz
      3. 恢复流程

        # 手动恢复示例 sudo cp -r /backup/drivers/$(uname -r)/* /lib/modules/$(uname -r)/ sudo depmod -a # 重建模块依赖 sudo modprobe <module_name> # 加载驱动
      4. 硬件兼容性

        虚拟机驱动(如virtio)无需备份,重点备份显卡、网卡、RAID卡等专用硬件驱动。


      为什么备份驱动至关重要?

      • 系统升级风险:内核更新可能导致专有驱动失效(如NVIDIA驱动)
      • 硬件故障应对:快速替换故障服务器网卡/存储控制器
      • 合规审计:保留旧版驱动满足企业安全策略要求

      专业提示:每季度或重大升级前备份一次,结合cron设置自动任务:

      0 3 * * 1 tar -zcf /backup/drivers_$(date +%F).tar.gz /lib/modules/$(uname -r)


      引用说明

      • DKMS官方文档:https://github.com/dell/dkms
      • Linux内核模块管理:https://www.kernel.org/doc/html/latest/admin-guide/modules.html
      • 驱动备份脚本源码:https://github.com/driver-backup-project/driver-backup(GPLv3许可)

      Linux驱动丢失如何备份? 第3张

0