Ubuntu 分区备份实用指南
一、方法总览与选择建议
- 按分区分别备份:适合多分区(如 /、/home、/boot)的桌面/服务器。优点是粒度细、恢复快;可用 tar/rsync 做文件级备份,或用 dd 做逐扇区镜像。
- 全盘镜像备份:适合“整盘克隆/迁移”,用 dd 或 Clonezilla 一键镜像,恢复时整盘还原,省去逐条配置。
- 图形化与自动化:面向桌面用户,Timeshift(系统快照,默认不备份 /home)、Deja Dup(用户数据)更易用;远程/加密可用 Duplicity/BorgBackup。
- 建议策略:系统分区(如 /)每周一次全量+增量,个人数据(如 /home)每日/每周;定期验证备份可恢复性。
二、按分区备份与恢复(tar 与 rsync)
- 准备
- 备份目标建议写到外置硬盘或网络存储,例如挂载到 /media/backup。
- 确认分区挂载点:lsblk、df -h;若系统无法进入,使用 Live USB 启动再操作。
- 备份(文件级)
- 使用 tar(保留权限,排除虚拟/临时文件系统):
sudo tar -cvpzf /media/backup/ubuntu_root_$(date +%F).tar.gz \
--exclude=/proc --exclude=/tmp --exclude=/sys \
--exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run \
--exclude=/dev --exclude=/var/cache \
--one-file-system /
如需更高压缩:将 -z 换为 -j(生成 .tar.bz2)。
- 仅备份单独分区(示例:/home):
sudo tar -cvpzf /media/backup/ubuntu_home_$(date +%F).tar.gz /home
- 使用 rsync(增量、可校验):
sudo rsync -aAX --info=progress2 --delete \
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
/ /media/backup/root/
- 恢复
- 系统可进终端:挂载目标分区(如 mount /dev/sda1 /mnt),然后
sudo tar -xvpzf /media/backup/ubuntu_root_*.tar.gz -C /mnt --numeric-owner
仅恢复 /home:tar -xvpzf … -C /home。
- 系统无法启动:用 Live USB 启动,挂载根分区到 /mnt,必要时挂载 /boot、/home 到对应子目录,再执行 tar 解压;随后重建虚拟目录并修复引导:
sudo mkdir -p /mnt/{proc,sys,dev,run,tmp}
sudo mount --bind /dev /mnt/dev
sudo mount --bind /run /mnt/run
sudo chroot /mnt
grub-install --target=i386-pc /dev/sda # BIOS;UEFI 见下节
update-grub
exit
- 还原后建议检查:文件权限、fstab、网络配置等。
三、整盘或分区镜像备份(dd 与 Clonezilla)
- dd 逐扇区镜像(适合整盘或单分区)
- 查看磁盘/分区:sudo fdisk -l(确认如 /dev/sda、/dev/sda1)。
- 整盘镜像(在 Live 环境下执行,避免对运行中的系统盘操作):
sudo dd if=/dev/sda of=/media/backup/ubuntu_disk.img bs=4M status=progress
压缩镜像:sudo dd if=/dev/sda bs=4M status=progress | gzip -6 > /media/backup/ubuntu_disk.img.gz
- 单分区镜像:
sudo dd if=/dev/sda1 of=/media/backup/ubuntu_sda1.img bs=4M status=progress
- 恢复:
sudo dd if=/media/backup/ubuntu_disk.img of=/dev/sda bs=4M status=progress
# 或解压后还原
gzip -dc /media/backup/ubuntu_disk.img.gz | sudo dd of=/dev/sda bs=4M status=progress
- 提示:镜像大小≈实际已用数据;跨硬件恢复后可能需要调整网络接口名(如删除 /etc/udev/rules.d/70-persistent-net.rules)。
- Clonezilla 克隆/镜像
- 制作 Clonezilla 启动盘 → 选择“device-device”直连克隆或“device-image”镜像到外置盘/网络存储 → 按向导选择源盘/分区与目标。恢复流程与备份对称,适合批量/快速整机迁移。
四、图形化与自动化工具
- Timeshift(系统快照,RSYNC/BTRFS):
- 安装:sudo apt install timeshift;首次运行按向导选择快照类型、位置与计划。
- 特点:默认不备份 /home,适合回滚系统配置与软件环境;系统无法启动时可用 Live USB 安装并运行 Timeshift 进行恢复。
- Deja Dup(用户数据):
- 系统设置 → 备份(或安装 deja-dup),选择备份目录(本地/远程),设置频率与保留策略,适合 /home 与重要文档。
- Duplicity/BorgBackup(加密与去重):
- 支持加密、增量与远程存储(如 S3、SSH),适合对安全性与带宽敏感的场景。
五、关键注意事项与恢复要点
- 一致性与安全
- 对运行中系统做镜像(dd)风险高,优先在 Live USB 下操作;备份前停止数据库/服务(如 MySQL)以减少不一致。
- 校验备份:tar -tzf 备份.tar.gz;镜像可用 sha256sum 校验。
- 引导修复与特殊场景
- 还原系统后若无法启动,chroot 到目标系统执行:
- BIOS:grub-install --target=i386-pc /dev/sda && update-grub
- UEFI:挂载 /boot/efi 到 /mnt/boot/efi,然后 grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu && update-grub
- LVM 用户:优先用 lvcreate --snapshot 创建快照后再备份,保证一致性。
- 跨硬件/虚拟机恢复:关注网卡名变化、显卡驱动、fstab 的 UUID 或设备名是否匹配。
- 备份策略
- 定期(如每周)做系统分区全量,日常用 rsync 增量同步;重要数据多副本(本地+外置/云端)。