温馨提示×

Ubuntu分区如何进行备份

小樊
44
2026-01-08 16:07:13
栏目: 智能运维

Ubuntu 分区备份实用指南

一、方法总览与选择建议

  • 按分区分别备份:适合多分区(如 //home/boot)的桌面/服务器。优点是粒度细、恢复快;可用 tar/rsync 做文件级备份,或用 dd 做逐扇区镜像。
  • 全盘镜像备份:适合“整盘克隆/迁移”,用 ddClonezilla 一键镜像,恢复时整盘还原,省去逐条配置。
  • 图形化与自动化:面向桌面用户,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 增量同步;重要数据多副本(本地+外置/云端)。

0