买了新的移动硬盘,所以打算备份下自己的笔记本,用的是双系统(Win+Arch

Windows不备份系统,文件用DiskGenius直接备份的;Arch系统备份压缩镜像

(我错了,我上个月不应该删除DiskGenius……)

磁盘分区备份简单记录.jpg

❗问题:DiskGenius仅支持压缩备份.pmf格式文件

首先我有三个分区

分区类型 挂载点 说明
ESP(FAT32) /boot/efi 存放 EFI 引导文件(比如 GRUB)
Linux Swap swap 交换分区,不存持久数据,可不备份
Linux Data /home 系统的主体部分,包含 OS、应用、配置、数据等

我计划仅备份ESP和Linux Data分区,Swap 分区备份恢复时可重新创建

经过考虑,采用 tar,这是最简单稳定、广泛兼容的压缩方案,步骤如下:

0️⃣确认移动硬盘挂载

  1. 插入移动硬盘
  2. 查看设备信息:
1
lsblk

看到分区

1
2
3
sda           8:0    0   1.8T  0 disk 
├─sda1 8:1 0 800G 0 part /run/media/krisnile/win
└─sda2 8:2 0 1T 0 part /run/media/krisnile/arch

我的Arch备份路径是/run/media/krisnile/arch

1️⃣开始压缩备份

1
2
3
4
sudo tar --exclude=/proc --exclude=/tmp --exclude=/sys --exclude=/run \
--exclude=/dev --exclude=/mnt --exclude=/media --exclude=/lost+found \
--exclude=/swapfile \
-cvpzf /run/media/krisnile/arch/linux_backup_$(date +%Y%m%d).tar.gz /
参数 含义
--exclude 跳过不该备份的目录(如挂载点、临时目录等)
-c 创建打包
-v 显示过程
-p 保留权限
-z 使用 gzip 压缩
-f 指定输出文件路径

生成的文件是:

1
/run/media/krisnile/arch/linux_backup_20250722.tar.gz

2️⃣备份 ESP 分区

找到设备名:

1
lsblk -f

/dev/nvme0n1p3

1
sudo dd if=/dev/nvme0n1p3 of=/run/media/krisnile/arch/esp_backup_$(date +%Y%m%d).img bs=1M

3️⃣校验压缩包是否正常

1
sha256sum /run/media/krisnile/arch/linux_backup_20250722.tar.gz > /run/media/krisnile/arch/linux_backup_20250722.sha256

保留校验文件,日后验证是否被破坏。

4️⃣恢复方式

未来系统崩溃或者迁移,需要:

  1. Live Linux启动
  2. 挂载目标分区到 /mnt
  3. 解压:
1
sudo tar -xvpzf /run/media/krisnile/arch/linux_backup_20250722.tar.gz -C /mnt
  1. 修复引导:
1
2
3
4
5
6
7
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sdX # 例如:/dev/sda
update-grub
exit

✅ 总结

目标 已实现 ✅
压缩备份整个 Linux 系统 ✔ 使用tar实现
保存到移动硬盘 ✔ 设置路径为/media/...
可日后恢复 ✔ 支持解压还原+重建引导
备份 ESP 分区 ✔ 使用dd备份