Linux系统镜像备份与恢复方法
dd是Linux自带的底层数据复制工具,通过扇区级操作实现完整磁盘/分区镜像,适合全盘备份或迁移。其核心特点是保留所有数据(包括引导分区、MBR等),但备份文件较大(未压缩时)。
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
参数说明:if(输入设备,如系统盘/dev/sda)、of(输出镜像文件路径)、bs(块大小,提升写入速度)、status=progress(显示进度)。sudo dd if=/path/to/backup.img of=/dev/sda bs=4M status=progress
注意:目标设备(of)需比源设备大,否则会报错。Clonezilla是开源的灾难恢复工具,支持全盘、分区或文件系统备份,兼容ext2/3/4、btrfs、xfs等多种文件系统,且支持增量备份(Partclone集成)。适合大规模部署或企业级备份。
dd或Etcher将Clonezilla镜像(如clonezilla-live-20250801.iso)烧录到U盘。ubuntu-22.04-backup),选择源磁盘(如/dev/sda),确认后开始备份。ubuntu-22.04-backup),选择目标磁盘(如/dev/sda),确认后开始恢复。Timeshift是针对系统设计的快照工具,基于rsync(默认)或Btrfs(高级)实现增量备份,支持快速恢复到指定时间点。适合日常系统维护,避免全盘备份占用过多空间。
sudo apt install timeshift # Debian/Ubuntu
sudo dnf install timeshift # Fedora
Fsarchiver是Partimage的替代工具,支持ext4、btrfs、NTFS等文件系统,备份时可压缩(节省空间),并支持增量备份。适合需要灵活备份的用户。
sudo fsarchiver savefs /path/to/backup.fsa /dev/sda1
参数说明:savefs(保存文件系统)、/path/to/backup.fsa(镜像文件路径)、/dev/sda1(源分区)。sudo fsarchiver restfs /path/to/backup.fsa id=0,dest=/dev/sda1
参数说明:restfs(恢复文件系统)、id=0(镜像中的分区ID)、dest=/dev/sda1(目标分区)。使用dd命令将备份的镜像文件恢复到目标磁盘,步骤与备份相反。需注意:恢复前需备份目标磁盘上的重要数据,因为恢复会覆盖所有内容。
通过Clonezilla启动盘进入界面,选择“restoredisk”或“restoreparts”,加载备份的镜像文件(如ubuntu-22.04-backup),选择目标磁盘(如/dev/sda),确认后开始恢复。恢复完成后,需重新安装GRUB引导程序(若引导失败)。
通过GRUB菜单进入Recovery Mode,选择Timeshift Recovery,挑选需要恢复的快照(如“2025-10-25 10:00”),点击“Restore”即可。恢复过程会覆盖系统文件,但用户数据(如/home)需提前备份(Timeshift默认不备份/home)。
使用fsarchiver命令加载备份的.fsa文件,指定目标分区(如/dev/sda1),确认后开始恢复。恢复前需确保目标分区未被挂载,避免数据冲突。
sudo grub-install /dev/sda)。