温馨提示×

怎样备份ubuntu fromscratch

小樊
44
2026-09-28 15:17:06
栏目: 智能运维

“Ubuntu From Scratch”(常简称 UFS)一般是指完全从源码/最小系统自己构建的 Ubuntu 风格系统,不是标准 ISO 安装版。因此备份方式和普通 Ubuntu 略有不同,核心目标是:保留你构建出的文件系统、配置和启动环境。

下面按推荐程度给你几种备份方案。


一、最推荐:整盘 / 文件系统级备份(可靠、可恢复)

方案 1:rsync 备份整个根文件系统

适合:系统还能正常启动

# 挂载备份盘
mkdir -p /mnt/backup
mount /dev/sdX1 /mnt/backup

# 备份
rsync -aAXH --numeric-ids --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*"} / /mnt/backup/ubuntu-fromscratch/

恢复时:

  • 从 LiveCD 启动
  • 格式化目标分区
  • 反向 rsync 回去
  • 重新安装 bootloader(见下)

方案 2:tar 打包根文件系统(经典 From Scratch 做法)

cd /
tar --numeric-owner -cpf /mnt/backup/ufs.tar \
  --exclude=/proc \
  --exclude=/sys \
  --exclude=/dev \
  --exclude=/mnt \
  --exclude=/tmp \
  --exclude=/run .

恢复:

mkdir /mnt/newroot
tar -xpf ufs.tar -C /mnt/newroot

方案 3:用 dd(不推荐但最简单)

dd if=/dev/sda of=/mnt/backup/ufs.img bs=4M status=progress

⚠ 缺点:

  • 慢
  • 占用空间大
  • 不能跨磁盘大小

二、必须单独备份的关键部分(From Scratch 极易丢)

1️⃣ 启动相关

# GRUB 配置
/etc/default/grub
/boot/grub/

# Kernel & initrd
/boot/

2️⃣ 构建配置(非常重要)

如果你是自己编译的:

/etc/
/opt/
/usr/src/
/root/build-logs/   # 建议你自己留

3️⃣ 分区表(恢复必用)

sfdisk -d /dev/sda > partition-table.txt

三、恢复系统示例(从 LiveUSB)

# 1. 分区
sfdisk /dev/sda < partition-table.txt

# 2. 挂载
mount /dev/sda2 /mnt
tar -xpf ufs.tar -C /mnt

# 3. chroot
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

# 4. 重装 GRUB
grub-install /dev/sda
update-grub

四、如果你想要“自动备份”

  • timeshift(不适合 From Scratch,谨慎)
  • borgbackup(强烈推荐,支持增量)
  • restic(现代、加密、好用)

五、总结建议(From Scratch 用户)

✅ 最佳实践:

  • tar / rsync 备份根文件系统
  • 单独保存分区表和 boot
  • 记录你编译时的步骤文档

如果你愿意,可以告诉我:

  • 你是 LFS / UFS / 自己脚本构建?
  • 用 BIOS 还是 UEFI?
  • 单盘还是多盘?

我可以直接给你一套可复制的备份脚本。

0 踩