温馨提示×

Ubuntu虚拟机如何备份与恢复数据

小樊
39
2025-11-14 19:57:21
栏目: 云计算

Ubuntu 虚拟机备份与恢复实用指南

一、备份与恢复策略总览

  • 按层级选择工具:
    • 虚拟机层面:导出/克隆整个虚拟机,迁移与整机恢复最省事。
    • 系统层面:用 Timeshift(BTRFS 或 RSYNC 快照)做系统级回滚;用 Clonezilla 做整盘镜像;用 rsync/tar 做文件级备份。
    • 文件层面:用 Déjà Dup 做用户数据增量备份到本地或云端。
  • 典型场景:
    • 日常回滚与配置漂移修复 → Timeshift;
    • 跨主机/跨平台迁移 → 导出 OVA 或 Clonezilla 镜像;
    • 仅备份用户数据 → Déjà Dup/rsync;
    • 系统无法启动 → Live 环境 + Timeshift/Clonezilla/Boot Repair 修复。

二、虚拟机层面的备份与恢复(适合整机迁移)

  • VirtualBox
    • 导出为 OVA(包含配置与磁盘,便于迁移):VirtualBox 管理器 → 选中虚拟机 → 右键 导出虚拟机 → 选择 OVA → 拷贝到备份位置。恢复:管理器 → 导入虚拟机 → 选择 OVA。
    • 克隆虚拟磁盘(VDI/VMDK):命令行执行
      VBoxManage clonehd “源磁盘.vdi” “新磁盘.vdi” --format VDI
      适合在同一宿主机做磁盘级备份/分支。
    • 建议操作前先关闭虚拟机,避免快照不一致。
  • VMware Workstation/VirtualBox 通用
    • 直接复制整个虚拟机目录(含 .vmdk/.vdi.vmx/.vbox、快照目录等)到备份介质,恢复时在同一产品中使用“添加现有虚拟磁盘/注册虚拟机”即可。
  • 适用场景:跨宿主机迁移、整机克隆、快速灾难恢复。

三、系统层面的备份与恢复(适合回滚与镜像级恢复)

  • Timeshift(系统快照,推荐)
    • 安装与配置:sudo apt install timeshift → 启动向导选择 RSYNCBTRFS → 选择备份位置(建议外置硬盘)→ 设置计划(可按需)。
    • 恢复:系统可启动时在 Timeshift 中选择快照点还原;系统无法启动时,用 Live USB 启动 → 安装/运行 Timeshift → 选择快照恢复。
  • Clonezilla(整盘镜像)
    • 制作 Clonezilla 启动盘 → 从 U 盘启动 → 选择 device-devicedevice-image → 备份整盘到外置盘;恢复时进入 restore 模式选择镜像写回目标盘。
  • rsync 手动备份(文件/目录级)
    • 备份:
      sudo rsync -aAXv --exclude={“/dev/“,”/proc/”,“/sys/“,”/tmp/”,“/run/“,”/mnt/”,“/media/*”,“/lost+found”} / /path/to/backup/folder
    • 恢复:
      sudo rsync -aAXv /path/to/backup/folder/ /mnt/target/
  • dd 整盘镜像(最原始、最通用)
    • 备份到文件:
      sudo dd if=/dev/sda of=/mnt/backup/system_backup.img bs=4M status=progress
      可压缩:sudo dd if=/dev/sda bs=4M | gzip > /mnt/backup/system_backup.img.gz
    • 恢复到磁盘:
      gunzip -c /mnt/backup/system_backup.img.gz | sudo dd of=/dev/sda bs=4M status=progress
    • 注意:目标设备容量需不小于源设备;操作前确认盘符(lsblk),避免写错目标。
  • tar 打包系统(不依赖 LVM/Btrfs)
    • 备份:sudo tar cvpzf backup.tgz --exclude=backup.tgz /
    • 恢复:sudo tar xvpfz backup.tgz -C /(建议在 Live 环境或救援模式下进行)。

四、文件级备份与恢复(用户数据为主)

  • Déjà Dup(图形化,增量)
    • 安装:sudo apt install deja-dup(多数桌面版已预装)→ 打开“备份”→ 选择要备份的文件夹备份位置(本地/网络/云端)→ 设置计划与保留策略 → 执行备份。
    • 恢复:打开“恢复”,按时间点选择文件/目录并还原到原位置或指定目录。
  • rsync(命令行,灵活)
    • 适合备份 /home 等用户数据分区;可结合 cron 做定时增量备份。

五、无法启动时的修复与恢复流程

  • 进入 Live 环境
    • 在 VMware/VirtualBox 中挂载 Ubuntu ISO → 调整启动顺序(F2/F12)→ 选择 Try Ubuntu 进入 Live 桌面。
  • 定位系统分区并挂载
    • lsblk -f 确认系统盘与分区(如 /dev/sda1、/dev/sda5)→ 挂载根分区:sudo mount /dev/sda5 /mnt → 绑定系统目录:
      for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done
    • 如需联网与包管理:sudo cp /etc/resolv.conf /mnt/etc/ → sudo chroot /mnt /bin/bash -l
  • 修复引导(GRUB)
    • BIOS/MBR:
      apt-get install --reinstall grub-pc -y
      grub-install --recheck /dev/sda
      update-grub
    • UEFI:
      apt-get install --reinstall grub-efi-amd64 -y
      grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
      update-grub
  • 使用 Boot Repair(一键修复)
    • 挂载 Boot Repair ISO → 启动后选择 Recommended repair → 自动重建 GRUB、修复 initramfs/EFI 条目。
  • 其他常见修复
    • 包管理异常:apt-get update、dpkg --configure -a、apt-get install -f
    • 内核/initramfs 问题:apt install --reinstall linux-image-generic、update-initramfs -u -k all、update-grub
  • 退出并重启
    • 在 Live 环境执行 umount -R /mnt → 关闭 Live → 取消 ISO 挂载 → 从硬盘启动。

0