dd克隆分区时if必须指定具体分区(如/dev/sda1)而非整盘(/dev/sda),否则会复制整个磁盘(含mbr、其他分区及未用空间),导致镜像冗余、恢复困难;且目标分区须已存在、大小不小于源分区已用空间,建议卸载后操作。

dd 克隆分区时为什么/dev/sda1 写成 if=/dev/sda1 而不是 if=/dev/sda
克隆单个分区,if 必须指向具体分区设备节点(如 /dev/sda1),不是整盘(/dev/sda)。写错会导致:目标得到整个磁盘镜像(含MBR、其他分区、未用空间),浪费空间且恢复困难。
实操建议:
- 用
lsblk或fdisk -l确认源分区准确路径,注意区分/dev/nvme0n1p1(NVMe)和/dev/sda1(SATA)命名差异 - 目标设备必须已存在且大小 ≥ 源分区已用空间(
df -h /mount/point可查),但dd不校验容量,超了会静默截断或报No space left on device - 若源分区正在挂载,
dd读取可能不一致;应卸载(umount /dev/sda1)或使用只读挂载 +conv=noerror,sync
Clonezilla 启动后卡在“Detecting hardware”或找不到硬盘
常见于较新硬件(尤其是 Intel RST/RAID、AMD fTPM、NVMe 驱动缺失)或 Secure Boot 启用状态。Clonezilla Live 默认内核不自带所有厂商驱动。
实操建议:
- BIOS 中关闭
Secure Boot和Fast Boot;如启用 RAID/RST,改设为AHCI模式 - 启动 Clonezilla Live 时,在 GRUB 菜单按
e编辑启动参数,在linux行末尾添加modprobe.blacklist=nouveau,radeon(屏蔽冲突显卡驱动)或nvme_core.default_ps_max_latency_us=5500(修复部分 NVMe 识别) - 用 Clonezilla 官网最新版(≥ 3.2.0-28),其内核更新更及时;旧 ISO(如 2.6.0-25)对 USB4/Thunderbolt 扩展坞支持极差
dd 克隆后目标系统无法启动:grub-install 失败或 no bootable device
dd 复制的是扇区级镜像,若源盘是 GPT+UEFI,目标盘未初始化为 GPT 或 ESP 分区(/boot/efi)未标记 boot,esp 标志,UEFI 就不会识别它为启动设备。
实操建议:
- 目标盘先用
gdisk /dev/sdb创建 GPT 分区表,并用n新建 ESP 分区(类型码ef00),再用mkfs.fat -F32 /dev/sdb1格式化 - 克隆完需重新安装 GRUB:
mount /dev/sdb2 /mnt && mount /dev/sdb1 /mnt/boot/efi && chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=clone - 别跳过
update-grub—— 若源系统用了 LVM/RAID/initramfs钩子,仅grub-install不足以生成完整配置
Clonezilla 备份到 NTFS/U 盘为何失败或提示 “no space”
Clonezilla 默认用 partclone 做增量压缩,但 NTFS 文件系统不支持 Linux 的硬链接和稀疏文件特性,导致备份目录中 sda1.ntfs-img.aa 等分卷无法正确创建或写入。
实操建议:
- 备份目标务必使用 ext4 或 exFAT(非 NTFS);U 盘格式化命令:
mkfs.exfat -n BACKUP /dev/sdb1 - 若只能用 NTFS,需在 Clonezilla 启动后选择
Enter_shell→ 手动挂载 NTFS 并指定-c(压缩)和-j0(禁用多线程,避免并发写冲突) - 检查 U 盘是否启用了 Windows 的“快速删除”策略(即禁用写缓存)——这会让 Clonezilla 写入变慢甚至超时,Linux 下可用
hdparm -I /dev/sdb | grep "Write cache"确认
dd 的“简单”恰恰容易让人忽略分区表、启动标志、文件系统兼容性这些关键链路。真正克隆成功,从来不是按下回车那一刻,而是从确认 lsblk 输出、关掉 Secure Boot、再到 efibootmgr -v 看见新条目为止。











