上一篇
Linux中,可使用dd命令克隆系统盘,如将/dev/sda克隆到/dev/sdb,命令为:
dd if=/dev/sda of=/dev/sdb bs=4M conv=notrunc,noerror
Linux系统中,克隆系统盘是一项常见且重要的操作,尤其在系统迁移、备份或升级硬件时,以下是几种常用的Linux系统盘克隆方法及其详细步骤:
| 克隆方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
dd命令 |
完整磁盘克隆,包括所有分区和数据 | 简单直接,适用于整个磁盘的逐位复制 | 耗时长,目标磁盘需与源磁盘大小相同或更大,易受坏道影响 |
Partclone工具 |
分区级别克隆,支持文件系统优化 | 支持压缩和文件系统调整,速度较快 | 需安装额外软件,对复杂分区结构可能需手动调整 |
Clonezilla工具 |
图形化操作,支持增量备份和恢复 | 用户友好,支持多种存储设备和网络传输 | 需制作启动盘,初次配置稍复杂 |
rsync命令 |
文件级同步,适合目录迁移 | 支持增量同步和排除特定文件,灵活高效 | 仅适用于文件系统,无法克隆整个磁盘或分区 |
使用dd命令克隆系统盘
-
准备工作
- 确认设备名称:通过
lsblk或fdisk -l查看源磁盘(如/dev/sda)和目标磁盘(如/dev/sdb)的名称。 - 卸载目标分区:若目标磁盘已挂载,需先卸载。
umount /dev/sdb1。 - 检查目标磁盘容量:确保目标磁盘容量不小于源磁盘。
- 确认设备名称:通过
-
执行克隆
sudo dd if=/dev/sda of=/dev/sdb bs=4M conv=sync,noerror status=progress
if:源磁盘。of:目标磁盘。bs=4M:设置块大小为4MB,平衡速度与兼容性。conv=sync:确保数据完整写入,noerror跳过读取错误。status=progress:实时显示进度。
-
验证与启动
- 同步缓存:
sudo sync确保数据写入磁盘。 - 检查克隆结果:通过
fdisk -l /dev/sdb确认分区结构与源磁盘一致。 - 启动测试:将目标磁盘设置为启动项,进入BIOS/UEFI调整启动顺序。
- 同步缓存:
使用Partclone工具克隆分区
-
安装
Partclone
sudo apt install partclone # Debian/Ubuntu sudo yum install partclone # CentOS/RHEL
-
克隆分区
sudo partclone.ext4 -b -s /dev/sda1 -o /dev/sdb1
-b:备份模式(也支持恢复模式-r)。-s:源分区(如/dev/sda1)。-o:目标分区(如/dev/sdb1)。
-
优势:支持文件系统压缩(如
-d参数),减少目标磁盘空间占用;保留权限和属性,适合分区迁移。
使用Clonezilla工具克隆整个系统
-
制作启动盘
- 下载Clonezilla镜像(https://clonezilla.org/downloads.php)。
- 使用
Rufus或dd将镜像写入U盘:sudo dd if=clonezilla-xxxx.iso of=/dev/sdX bs=4M status=progress
-
启动并克隆

- 从U盘启动计算机,选择
device-image或device-device模式。 - 选择源磁盘(如
/dev/sda)和目标磁盘(如/dev/sdb)。 - 确认后开始克隆,完成后重启并调整启动顺序。
- 从U盘启动计算机,选择
-
优势:支持图形化操作,可自动调整分区大小;支持网络传输(如克隆到远程服务器)。
使用rsync同步文件系统(非全盘克隆)
-
适用场景:迁移根文件系统(如)到新分区,保留配置。
-
执行同步
sudo rsync -aAXh --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/","/lost+found"} / /mnt/new_root/-aAXh:归档模式,保留权限、压缩文件并显示进度。--exclude:排除虚拟文件系统和临时目录。
-
后续操作:同步后需手动复制引导记录(如GRUB),并更新
/etc/fstab。
FAQs
-
Q: 克隆后目标磁盘无法启动,如何解决?
A: 可能是引导记录未复制或分区未激活,解决方法:- 使用
grub-install重新安装引导程序,sudo grub-install --root-directory=/mnt/new_root /dev/sdb sudo update-grub # 更新配置文件
- 检查目标磁盘的ESP(启动分区)是否激活(使用
fdisk或parted)。
- 使用
-
Q:
dd命令克隆速度过慢,如何优化?
A: 调整块大小(bs参数)或使用更高带宽的接口(如SATA→NVMe)。sudo dd if=/dev/sda of=/dev/sdb bs=8M status=progress
注意:块大小过大可能导致某些文件系统出错,需根据硬件稳定性调整
