拷贝 Linux 系统盘是系统迁移、备份或升级硬盘的常见需求,以下提供三种经过验证的方法,兼顾安全性与效率,操作前请务必备份重要数据,避免意外丢失。
准备工作
- 备份数据:
- 使用
tar
或rsync
备份/home
、/etc
等关键目录。 - 记录分区信息:
sudo fdisk -l
或lsblk
查看原盘分区结构(如/dev/sda
)。
- 使用
- 工具准备:
- 目标磁盘容量 ≥ 原盘(建议大 10%)。
- 准备 Live USB(如 Ubuntu Live CD)用于离线操作。
- 工具推荐:
dd
、rsync
、Clonezilla
。
- 连接磁盘:
- 物理机:通过 SATA/USB 连接目标盘(如
/dev/sdb
)。 - 虚拟机:挂载虚拟磁盘或扩容镜像。
- 物理机:通过 SATA/USB 连接目标盘(如
方法 1:使用 dd
命令(全盘扇区级克隆)
适用场景:完全相同的磁盘对拷(包括分区表、引导扇区)。
步骤:
- 启动 Live USB,打开终端。
- 确认磁盘标识:
sudo fdisk -l # 原盘通常为 /dev/sda,目标盘为 /dev/sdb
- 执行克隆:
sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress conv=sync,noerror
if
:输入文件(原盘);of
:输出文件(目标盘)。bs=4M
:加速传输(默认 512B 较慢)。conv=sync,noerror
:忽略读取错误,保持同步。
- 同步缓存:
sudo sync
。
注意事项:
- 风险极高:目标盘数据将被完全覆盖,操作前需三确认磁盘标识。
- 适用小盘或需完整备份的场景,不适用于调整分区大小。
方法 2:使用 rsync
(文件级增量同步)
适用场景:灵活迁移系统、调整分区或跨网络备份。
步骤:
- 从 Live USB 启动,挂载原盘和目标盘:
sudo mkdir /mnt/{source,target} sudo mount /dev/sda1 /mnt/source # 挂载原系统根分区 sudo mount /dev/sdb1 /mnt/target # 挂载目标分区
- 同步所有文件(保留权限、属性):
sudo rsync -aAXhv --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/source/ /mnt/target/
-aAXhv
:归档模式+保留 ACL/扩展属性+人类可读+详细输出。--exclude
:跳过虚拟文件系统和临时目录。
- 重装引导程序:
sudo chroot /mnt/target # 切换到目标系统环境 sudo grub-install /dev/sdb # 安装 GRUB 到目标盘 sudo update-grub # 更新引导配置 exit # 退出 chroot
- 更新
fstab
:sudo nano /mnt/target/etc/fstab # 修改 UUID 或设备名为目标盘(用 `blkid` 查询)
优势:
- 可调整分区结构(如将
/home
独立分区)。 - 支持增量备份,节省时间。
方法 3:使用 Clonezilla(图形化专业工具)
适用场景:新手友好、跨硬件迁移或加密磁盘克隆。
步骤:
- 下载 Clonezilla Live ISO 制作启动 U 盘。
- 启动后选择:
device-device
→Beginner
→disk_to_local_disk
。
- 按提示选择原盘和目标盘。
- 可选高级模式:
- 跳过坏块检查(
-icds
)。 - 调整目标分区大小(
-k1
启用比例缩放)。
- 跳过坏块检查(
- 确认后自动执行克隆,完成后重启。
优势:
- 支持 EXT4/BTRFS/LVM 等复杂结构。
- 图形界面降低操作风险。
验证与收尾
- 检查完整性:
- 挂载目标盘:
sudo mount /dev/sdb1 /mnt/test
,浏览文件是否完整。 - 验证引导:
sudo grub-install --boot-directory=/mnt/test/boot /dev/sdb
。
- 挂载目标盘:
- 启动测试:
- 物理机:拔掉原盘,从目标盘启动。
- 虚拟机:修改启动顺序。
- 修复常见问题:
- 无法启动:用 Live USB 修复 GRUB(
grub-rescue
)。 - UUID 错误:在 Live 环境中修改
/etc/fstab
和/boot/grub/grub.cfg
。
- 无法启动:用 Live USB 修复 GRUB(
安全提示
- 断电风险:操作中确保设备供电稳定(笔记本充满电+插电源)。
- 磁盘标识:多次核对
fdisk -l
,避免误覆盖数据盘。 - 小容量盘:若目标盘小于原盘,需先收缩文件系统(
resize2fs
)。
引用说明:
dd
命令文档:GNU Coreutils Manualrsync
最佳实践:Linux Man Page- Clonezilla 官方指南:Clonezilla.org
- GRUB 修复方法:Ubuntu Wiki Boot-Repair
通过以上方法,您可安全完成 Linux 系统盘克隆,对于关键业务系统,建议先在测试环境验证,如遇复杂分区或硬件差异,推荐 Clonezilla 或专业备份工具(如 Timeshift)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5775.html