Linux硬盘对拷详细指南
硬盘对拷(磁盘克隆)是将一个硬盘的所有数据完整复制到另一个硬盘的过程,常用于系统迁移、数据备份或硬盘升级,Linux系统提供多种可靠的工具实现此操作,无需第三方软件,以下是四种常用方法及详细步骤,操作前请务必备份重要数据,避免误操作导致数据丢失。
📋 准备工作
-
连接硬盘:
- 将源盘(被克隆的硬盘)和目标盘(新硬盘)同时连接到计算机(SATA/USB均可)。
- 使用
lsblk
或fdisk -l
命令确认硬盘标识符(如源盘为/dev/sda
,目标盘为/dev/sdb
)。 - ⚠️ 警告:目标盘数据将被完全覆盖!请反复核对设备名称。
-
检查硬盘容量:
- 目标盘容量必须 ≥ 源盘已用空间(通过
df -h
查看)。 - 若目标盘是SSD,建议先对齐分区(使用
parted
工具)。
- 目标盘容量必须 ≥ 源盘已用空间(通过
🔧 方法一:使用 dd
命令(全盘扇区级克隆)
适用场景:完整复制硬盘(包括分区表、引导扇区),适合系统迁移。
优点:简单直接;缺点:速度较慢,且目标盘必须≥源盘容量。
sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress conv=sync,noerror
- 参数说明:
if=/dev/sda
:源盘路径。of=/dev/sdb
:目标盘路径。bs=4M
:块大小(提高速度)。status=progress
:显示进度。conv=sync,noerror
:忽略读取错误,用空块填充。
操作后检查:sudo cmp /dev/sda /dev/sdb # 比对两盘数据(可选,耗时长)
🔧 方法二:使用 partclone
(分区级克隆)
适用场景:克隆单个分区(如仅复制系统分区),支持ext4、NTFS、Btrfs等文件系统。
优点:仅复制有效数据,速度快;可调整目标分区大小。
# 克隆整个硬盘的分区(需逐一分区操作) sudo partclone.dd -s /dev/sda1 -o /dev/sdb1 # 示例:克隆sda1到sdb1
扩展操作:
- 结合
parted
创建新分区表(如GPT):sudo parted /dev/sdb mklabel gpt # 初始化目标盘为GPT格式 sudo parted /dev/sdb mkpart primary ext4 0% 100% # 创建新分区
🔧 方法三:使用 rsync
(文件级同步)
适用场景:已挂载分区的数据迁移(如复制Home目录),目标盘可小于源盘(需空间足够)。
步骤:
- 挂载源盘和目标盘:
sudo mkdir /mnt/source /mnt/target sudo mount /dev/sda1 /mnt/source # 源分区 sudo mount /dev/sdb1 /mnt/target # 目标分区
- 同步数据(保留权限、符号链接等):
sudo rsync -aAXhv --progress /mnt/source/ /mnt/target/
-aAX
:归档模式+保留ACL/扩展属性。--delete
:同步后删除目标端多余文件(谨慎使用)。
🔧 方法四:使用 Clonezilla(图形化工具)
适用场景:新手友好,支持增量备份、网络克隆。
步骤:
- 下载Clonezilla镜像制作启动U盘(官网)。
- 从U盘启动,选择
device-device
模式。 - 按提示选择源盘和目标盘,完成后验证数据。
⚠️ 关键注意事项
-
引导修复:
- 若克隆系统盘,需重新安装引导程序:
sudo grub-install /dev/sdb # 安装GRUB到目标盘 sudo update-grub # 更新配置
- 检查
/etc/fstab
中的UUID是否匹配(使用blkid
查看新盘UUID)。
- 若克隆系统盘,需重新安装引导程序:
-
SSD优化:
- 对SSD目标盘执行TRIM:
sudo fstrim -v /mnt/target
。
- 对SSD目标盘执行TRIM:
-
数据验证:
- 使用
sudo fsck /dev/sdb1
检查文件系统完整性。 - 对比关键文件:
diff -r /mnt/source /mnt/target
。
- 使用
💎 总结
- 全盘克隆:优先用
dd
(小硬盘)或 Clonezilla(大硬盘)。 - 分区克隆:
partclone
效率更高。 - 文件同步:
rsync
适合灵活迁移数据。
重要提示:操作前断开无关硬盘,避免误选设备!克隆后务必测试目标盘能否正常启动。
引用说明:
- GNU
dd
文档:https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.htmlpartclone
官方指南:https://partclone.org/rsync
手册页:https://linux.die.net/man/1/rsync- Clonezilla 教程:https://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/01_Save_disk_image
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8228.html