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
- 重启验证
- 说明:恢复步骤与备份项一一对应;如仅做系统级快照/镜像,可直接回滚到备份点再按需修正配置。
四、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,检查并确保启动盘位于引导顺序首位,必要时恢复默认设置后重试。
- 说明:以上为恢复模式卸载与配置回滚的常见路径,可快速排除驱动导致的启动/登录问题。