温馨提示×

ubuntu驱动备份恢复

小樊
41
2025-12-29 21:42:58
栏目: 智能运维

Ubuntu 驱动备份与恢复实用指南

一、核心思路

  • Linux 驱动多为内核模块与用户态组件,没有统一的“设备管理器导出驱动”的通用方法。实际可行的做法是:备份关键配置文件、已安装包列表与内核模块,必要时配合系统级快照/镜像,以便在出问题时快速回滚或重装到一致状态。

二、通用备份清单与命令

  • 建议将备份放到**/opt/driver_backup_$(date +%F)**或外置盘,避免与原盘同盘存放。
  • 备份清单与示例命令(按需精简):
    • 已安装包列表(便于重装一致环境)
      • 命令:sudo dpkg --get-selections > /opt/driver_backup_$(date +%F)/pkglist.txt
    • 源列表与第三方仓库密钥(便于还原软件源)
      • 命令:sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.d/ /opt/driver_backup_$(date +%F)/
      • 命令:sudo cp -a /usr/share/keyrings/ /opt/driver_backup_$(date +%F)/keyrings/
    • 内核与模块(仅备份与本机内核相关的 NVIDIA 模块,若存在)
      • 命令:sudo tar czf /opt/driver_backup_$(date +%F)/nvidia-modules-$(uname -r).tar.gz -C /lib/modules/$(uname -r)/kernel/drivers/video/nvidia* . 2>/dev/null || true
    • Xorg 与显示配置(若存在)
      • 命令:sudo cp -a /etc/X11/xorg.conf /etc/X11/xorg.conf.d/ /opt/driver_backup_$(date +%F)/
    • 第三方驱动专用目录(如 NVIDIA 专有库)
      • 命令:sudo cp -a /usr/lib/nvidia /opt/driver_backup_$(date +%F)/ 2>/dev/null || true
    • 使用 rsync 做整机/目录增量备份(可选)
      • 命令:sudo rsync -aAX --info=progress2 --delete / /opt/driver_backup_$(date +%F)/rootfs/ --exclude={/proc,/sys,/dev,/run,/tmp,/lost+found,/mnt,/media,/cdrom}
    • 使用 tar 做系统快照(可选)
      • 命令:sudo tar czf /opt/driver_backup_$(date +%F)/system-$(uname -r)-$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/lost+found /
  • 说明:上述做法与社区常用的tar/rsync 系统备份、以及NVIDIA 驱动文件与配置备份一致,可作为通用基础。

三、通用恢复流程

  • 包与源恢复
    • 命令:sudo cp -a /opt/driver_backup_/sources.list /etc/apt/
    • 命令:sudo cp -a /opt/driver_backup_/keyrings/ /usr/share/keyrings/
    • 命令:sudo apt update
    • 命令:sudo dpkg --set-selections < /opt/driver_backup_*/pkglist.txt && sudo apt dselect-upgrade
  • 内核模块与专有库恢复
    • 命令:sudo tar xzf /opt/driver_backup_/nvidia-modules-.tar.gz -C /lib/modules/$(uname -r)/kernel/drivers/video/
    • 命令:sudo depmod -a $(uname -r)
    • 命令:sudo cp -a /opt/driver_backup_*/nvidia /usr/lib/ 2>/dev/null || true
  • 配置恢复
    • 命令:sudo cp -a /opt/driver_backup_/xorg.conf /etc/X11/
  • 重建 initramfs(若涉及 nvidia 模块)
    • 命令:echo “blacklist nouveau” | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
    • 命令:echo “options nouveau modeset=0” | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
    • 命令:sudo update-initramfs -u
  • 重启验证
    • 命令:sudo reboot
  • 说明:恢复步骤与备份项一一对应;如仅做系统级快照/镜像,可直接回滚到备份点再按需修正配置。

四、NVIDIA 显卡的专项备份与回滚

  • 升级前快速备份
    • 命令:sudo mkdir -p /opt/nvidia_backup
    • 命令:nvidia-smi --query-gpu=driver_version --format=csv,noheader | head -n1 | sudo tee /opt/nvidia_backup/driver_version.txt
    • 命令:sudo cp -r /usr/lib/nvidia /opt/nvidia_backup/
    • 命令:sudo cp -r /lib/modules/$(uname -r)/kernel/drivers/video/nvidia* /opt/nvidia_backup/ 2>/dev/null || true
    • 命令:sudo cp /etc/X11/xorg.conf /opt/nvidia_backup/ 2>/dev/null || true
  • 回滚到备份版本(示例)
    • 命令:sudo apt remove --purge -y nvidia-driver-* nvidia-kernel-* nvidia-dkms-*
    • 命令:sudo apt autoremove -y && sudo apt autoclean
    • 命令:sudo cp -a /opt/nvidia_backup/nvidia /usr/lib/
    • 命令:sudo cp -r /opt/nvidia_backup/nvidia* /lib/modules/$(uname -r)/kernel/drivers/video/
    • 命令:sudo cp /opt/nvidia_backup/xorg.conf /etc/X11/ 2>/dev/null || true
    • 命令:echo “blacklist nouveau” | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
    • 命令:echo “options nouveau modeset=0” | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
    • 命令:sudo update-initramfs -u && sudo reboot
  • 说明:该流程覆盖版本记录、库文件、内核模块与 Xorg 配置的回滚要点,适合在升级失败或黑屏时快速恢复。

五、进不去桌面或启动异常时的应急

  • 进入恢复模式卸载问题驱动
    • 开机按住Shift进入GRUB菜单 → 选择Advanced options for Ubuntu → 选择带有**(recovery mode)的内核 → 在恢复菜单选择Drop to root shell**。
    • 执行卸载(以 NVIDIA 为例):sudo apt-get remove --purge nvidia-*,随后执行 sudo reboot。
  • 仅回滚 Xorg 配置
    • 若存在备份:sudo cp /opt/driver_backup_*/xorg.conf /etc/X11/ 或恢复 xorg.conf.d 片段,再重启。
  • 检查引导顺序
    • 若系统反复进入 BIOS,检查并确保启动盘位于引导顺序首位,必要时恢复默认设置后重试。
  • 说明:以上为恢复模式卸载配置回滚的常见路径,可快速排除驱动导致的启动/登录问题。

0