前言
对拷(克隆)Linux系统是将现有操作系统完整复制到新存储设备的专业操作,适用于硬盘升级、系统迁移或批量部署。操作前务必备份所有关键数据,错误执行可能导致数据永久丢失,本指南涵盖三种权威方法,请根据技术能力选择。
准备工作
- 硬件要求
- 目标磁盘容量 ≥ 源磁盘已用空间(建议大20%)
- SATA-USB转接器(笔记本适用)或主板备用SATA接口
- 启动环境
- 使用Live CD/USB(如Ubuntu Live或SystemRescue)启动,确保源/目标磁盘均未挂载
- 终端执行
lsblk
确认磁盘标识(如源盘sda
,目标盘sdb
)
克隆方法详解
方法1:dd
命令(全盘扇区级克隆)
适用场景:硬盘完全替换,要求分区结构一致
风险警告:目标盘数据将被覆盖,参数错误可能损坏磁盘
sudo dd if=/dev/sdX of=/dev/sdY bs=4M status=progress && sync
- 参数解释
if=/dev/sdX
:源磁盘(如sda
)of=/dev/sdY
:目标磁盘(如sdb
)bs=4M
:加速传输的块大小status=progress
:显示实时进度(GNU dd特有)
- 操作后
执行sudo e2fsck -f /dev/sdY1
检查文件系统,sudo resize2fs /dev/sdY1
调整分区大小(若目标盘更大)
⚠️ 关键安全提示:
- 三度核对
if
/of
参数,反向操作将导致数据灾难- 建议物理拔除非操作磁盘
方法2:rsync
(文件级增量同步)
适用场景:保留现有数据、跨文件系统迁移或部分更新
优势:可中断续传、保留权限属性
sudo rsync -aAXhv --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/target
- 参数解析
-aAX
:归档模式+保留ACL/扩展属性--exclude
:排除虚拟文件系统/mnt/target
:目标分区挂载点(需提前挂载)
- 后续步骤
- 安装引导程序:
sudo chroot /mnt/target grub-install /dev/sdY update-grub
- 修改
/etc/fstab
中的UUID(用blkid
查询新分区UUID)
- 安装引导程序:
方法3:Clonezilla(企业级克隆工具)
适用场景:非技术用户/大规模部署
操作流程:
- 下载Clonezilla Live ISO制作启动U盘
- 选择
device-device
模式 →disk_to_local_disk
- 按提示选择源/目标磁盘
- 启用
-icds
跳过坏道检测(加速)或-k1
保留分区表
克隆后必要验证
- 引导修复
- UEFI系统:检查
/boot/efi
分区是否复制 - BIOS系统:执行
sudo install-grub /dev/sdY
- UEFI系统:检查
- 启动测试
- 物理拔掉源盘,单独挂载目标盘启动
- 检查日志:
journalctl -b -p 3
(显示启动错误)
- 数据完整性
# 对比关键目录校验和 sudo find / -type f -exec sha256sum {} + | sort > /tmp/source.sha sudo find /mnt/target -type f -exec sha256sum {} + | sort > /tmp/target.sha diff /tmp/source.sha /tmp/target.sha
方法选择建议
场景 | 推荐方法 | 耗时 | 风险等级 |
---|---|---|---|
硬盘完全替换 | dd |
高危 | |
系统迁移+保留数据 | rsync |
中 | |
多设备批量部署 | Clonezilla | 低 |
重要提示
- SSD优化:克隆后执行
sudo fstrim -v /
恢复性能 - 云服务器迁移:优先使用厂商提供的快照功能(如AWS AMI, Azure Image)
- 日志记录:全程保存终端输出,便于故障排查
📌 权威引用:
dd
工具:GNU Coreutils 官方文档 https://www.gnu.org/software/coreutils/rsync
最佳实践:Linux MAN-Pagersync(1)
- Clonezilla操作手册:https://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/01_Save_disk_image
最后检查清单
✅ 源磁盘无坏道(smartctl -a /dev/sdX
)
✅ 目标盘已全盘备份
✅ 已关闭磁盘缓存(hdparm -W0 /dev/sdY
)
✅ 准备应急启动介质
遵循本指南可最大限度降低风险,如遇复杂情况(如LVM/RAID),建议咨询Linux系统管理员。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8226.html