使用 cat 克隆磁盘时出错

Mar*_*iae 5 dd cloning cat disk

我希望克隆一个大磁盘(一个 500GB 的 SSD,物有所值),并且我倾向于使用cat,正如 Gilles在这里建议的那样。但是让我停下来的是我真的不知道cat读取错误时会发生什么。我知道dd在这些情况下的行为方式,命令

dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
Run Code Online (Sandbox Code Playgroud)

不会因读取错误而停止,并用零(sync选项)填充读取错误,以便数据保持同步。不幸的是,它是通过要写入的块末尾填充零来实现的,因此早期 512 字节读取中的单个错误会弄乱整个 64K 数据(对于更大、更快的块大小更糟)。

所以我想知道:我可以做得更好/不同cat吗?或者我应该继续使用Clonezilla吗?

Ste*_*itt 13

cat 如果遇到读取或写入错误,则停止。

如果您担心源驱动器上可能存在无法读取的扇区,您应该查看诸如ddrescue.

  • ddrescue 是要走的路,它帮助我克隆了多个严重损坏的磁盘。 (2认同)