我希望克隆一个大磁盘(一个 500GB SSD,物有所值),并且我倾向于使用cat
Gilles 建议的. 但是让我犹豫的是,我真的不知道cat
读取错误时会发生什么。我知道dd
在这些情况下的行为方式,即命令
dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
不会因读取错误而停止,并用零填充读取错误(sync
选项),以便数据保持同步。不幸的是,它是通过在要写入的块末尾填充零来实现的,因此早期 512 字节读取中的单个错误会弄乱整个 64K 数据(对于更大、更快的块大小更糟)。
所以我想知道:我可以做得更好/不同cat
吗?还是我应该继续使用Clonezilla?
cat
如果遇到读取或写入错误,则停止。如果您担心源驱动器上可能存在无法读取的扇区,您应该查看诸如
ddrescue
.如果没有坏的或难以读取的扇区,
我会推荐Clonezilla。它更安全,因为有检查点(如果您想继续,请提出问题)
cat
并假设您确切知道要做什么,并且在按 Enter 键之前仔细检查过dd
。ddrescue
“他们会毫无疑问地按照你告诉他们的去做,即使你告诉他们擦掉家庭照片。”此外,Clonezilla 足够聪明,只复制使用过的块(并跳过空闲块),这使得克隆速度更快。
如果您认为扇区不好或难以阅读,
我同意@StevenKitt,这
ddrescue
是一个很好的工具。信息页面包含一个很好的教程,