在 Linux 系统中,分区镜像(Partition Image) 是指将一个分区(如 /dev/sda1、/dev/nvme0n1p2 等)的完整数据内容复制到一个文件中,这个文件包含了分区内的所有文件系统结构、数据和空闲空间。
分区镜像常用于备份、恢复、克隆或迁移数据。
常用工具
dd(最基础、最强大)
- 优点:无需安装额外软件,几乎所有 Linux 发行版都自带。
- 缺点:速度慢,不支持压缩,无法跳过未使用空间。
partclone / partimage
- 优点:只复制实际使用的数据块,支持压缩,速度更快。
- 缺点:需要安装额外软件。
rsync(针对文件系统内容,非块级镜像)
- 优点:高效、支持增量同步。
- 缺点:不是真正的“镜像”,不复制文件系统元数据(如 inode 编号),不适合完整备份。
使用 dd 创建分区镜像
创建镜像文件(备份)
sudo dd if=/dev/sda1 of=/backup/sda1.img bs=4M status=progress
if:输入文件(源分区)of:输出文件(镜像文件)bs=4M:块大小,提高速度status=progress:显示进度(GNU dd 支持)
恢复镜像到分区
sudo dd if=/backup/sda1.img of=/dev/sda1 bs=4M status=progress
⚠️ 警告:确保目标分区大小 ≥ 镜像文件大小,否则可能损坏数据!
使用 partclone 创建高效镜像
安装 partclone
# Ubuntu/Debian sudo apt install partclone # CentOS/RHEL sudo yum install partclone
创建镜像(支持压缩)
sudo partclone.ext4 -c -s /dev/sda1 -o /backup/sda1.img.gz -z 9
-c:创建镜像-s:源分区-o:输出文件-z 9:gzip 压缩级别
恢复镜像
sudo partclone.ext4 -r -s /backup/sda1.img.gz -o /dev/sda1 -z 9
💡
partclone会根据文件系统类型自动选择合适命令(如partclone.ext4、partclone.ntfs等)。
注意事项
-
卸载分区:建议在分区未挂载时创建镜像,避免数据不一致。
sudo umount /dev/sda1
-
检查文件系统:恢复后建议运行文件系统检查。
sudo fsck /dev/sda1
-
磁盘空间:镜像文件大小通常接近分区大小(使用
dd 时),使用
partclone可显著减小体积。 -
验证完整性:可使用
md5sum或sha256sum校验镜像文件。sudo md5sum /backup/sda1.img
完整备份整个磁盘 vs 分区
- 分区镜像:只备份单个分区,适合数据备份。
- 磁盘镜像:备份整个磁盘(包括所有分区和引导记录),适合完整克隆。
sudo dd if=/dev/sda of=/backup/sda_disk.img bs=4M status=progress
图形化工具(可选)
- Clonezilla:基于
partclone和dd的免费开源克隆工具,支持分区和磁盘镜像,提供交互式界面。 - Rescuezilla:Clonezilla 的图形化分支,更友好。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479373.html



