Linux分区备份与恢复指南
dd是Linux底层数据复制工具,可创建分区的完整镜像(包括引导扇区、文件系统及未使用空间),适合需要精确备份的场景(如系统分区迁移)。
sudo dd if=/dev/sdXN of=/path/to/backup.img bs=4M status=progress
if=/dev/sdXN:源分区(如/dev/sda1,需替换为实际分区);of=/path/to/backup.img:备份文件路径(建议存放在外部设备);bs=4M:块大小(提升复制效率);status=progress:显示备份进度。sudo umount /dev/sdXN),避免数据写入导致镜像损坏;镜像文件较大,需确保存储设备有足够空间。partclone支持仅备份已使用块(节省空间),兼容ext2/3/4、xfs、btrfs等多种文件系统,适合频繁备份的场景(如日常数据保护)。
sudo apt-get install partclone
sudo partclone.ext4 -c -s /dev/sdXN -o /path/to/backup.img --clone
-c:创建备份;-s /dev/sdXN:源分区;-o /path/to/backup.img:备份文件;--clone:启用克隆模式(保留文件系统结构)。partclone.ext4用于ext4分区),目标分区需提前格式化。rsync通过差异比对实现增量备份(仅传输修改过的文件),适合备份已挂载的分区数据(如/home目录),支持远程同步(如备份到另一台服务器)。
sudo rsync -avz /path/to/partition/ /path/to/backup/
-a:归档模式(保留权限、时间戳等);-v:显示详细过程;-z:压缩传输(减少网络带宽占用)。sudo rsync -avz /path/to/backup/ /path/to/partition/
Clonezilla是开源磁盘克隆工具,支持分区/磁盘完整备份(生成.img或.gzip镜像),适合批量部署或系统恢复(如灾难恢复)。
/dev/sda1),指定备份文件存储路径(如外部USB设备);若已用dd创建分区镜像,可通过以下命令恢复到目标分区(需确保目标分区容量≥源分区):
sudo dd if=/path/to/backup.img of=/dev/sdXN bs=4M status=progress
sudo umount /dev/sdXN);恢复后会覆盖目标分区所有数据,需确认目标分区正确。使用partclone恢复对应文件系统的分区镜像(如ext4分区用partclone.ext4):
sudo partclone.ext4 -r -s /path/to/backup.img -o /dev/sdXN --restore
-r:恢复模式;-s /path/to/backup.img:备份文件;-o /dev/sdXN:目标分区。若分区因误操作(如删除分区表)丢失,可使用TestDisk扫描磁盘并恢复分区结构:
sudo apt-get install testdisk);sudo testdisk;/dev/sda),按Enter;Enter;p查看文件列表(确认分区正确),再按w写入分区表(重启系统生效)。TestDisk仅恢复分区表,不恢复文件内容(若文件系统损坏,需用fsck修复)。若ext3/ext4分区中的文件被误删除(未覆盖),可使用extundelete恢复:
sudo apt-get install extundelete
sudo extundelete /dev/sdXN --restore-all
/dev/sdXN:目标分区(如/dev/sda1);--restore-all:恢复分区中所有删除文件(可替换为--restore-file path/to/file恢复指定文件)。extundelete仅支持ext3/ext4文件系统,不支持xfs、btrfs等。sudo umount /dev/sdXN),避免数据写入导致损坏;fsck检查镜像文件)。/dev/sdXN)是否正确(避免覆盖其他分区数据);TestDisk恢复分区结构,再用dd或partclone恢复数据;sudo fsck /dev/sdXN),修复可能的错误。rsync)+完整备份(如dd/partclone)组合,平衡存储空间与恢复效率;