dd / ddrescue 上的多块读取中出现无法读取的块:它如何处理?

dd / ddrescue 上的多块读取中出现无法读取的块:它如何处理?

假设我将 dd 或 ddrescue 的块大小设置为 256K。

闪存驱动器的一个扇区通常有 512 字节,光盘数据光盘上的一个扇区有 2048 字节。

我们假设在接下来的 256 KB 中,只有一个扇区不可读。其他所有扇区都是可读的。

多块传输会发生什么?

  • 它会转移任何东西吗?
  • 它是否像往常一样传输可读部分?

如果能转移就太好了所有可读块照常。

答案1

不缩写选项/开关的示例命令:

sudo ddrescue --direct --sector-size=20480 --verbose --verbose --retry-passes="-1" /dev/sr5

如果接下来的 20480 个字节中的 10 个扇区中有一个损坏,整个 20480 字节将不会被保存。

更细的颗粒:sudo ddrescue --direct --sector-size=2048 --verbose --verbose --retry-passes="-1" /dev/sr5

为每个扇区发送请求可能会限制读取速度。然而,ddrescue 更关心的是可恢复性,而不是速度。但它也可以被视为一个更舒适、方便、冗长的版本dd

注意:根据手册,第二个 --verbose 会增加更多详细程度man ddrescue

相关内容