SD 卡 ddrescue 恢复了所有内容,但 badblocks 疯狂列出了坏块;这是怎么回事?

SD 卡 ddrescue 恢复了所有内容,但 badblocks 疯狂列出了坏块;这是怎么回事?

令我惊讶的是,我能够完美地恢复ddrescue在 RPi 中使用了很长时间的 SD 卡。但当我扫描 SD 卡时,badblocks -nvs坏块以疯狂的速度列出。(顺便说一句,在启动救援操作之前,RPi 的行为相当不稳定。)

谁能向我解释一下,为什么ddrescue能够顺利恢复所有内容,同时又badblocks对我大喊“这张 SD 卡坏了”?

答案1

badblocks寻找区域(区块/扇区) 出现故障的磁盘 (有读错误);其中包括仍然可读的区域(但可能需要多次读取尝试;例如,正在损坏/濒临死亡),

ddrescue但预计可以恢复数据,因此允许重新读取扇区(忽略读取错误--max-error-count)除非达到定义...

即这两种工具具有非常不同的意图/用途。

ddrescue会很乐意重试,直到--max-error-count达到已经规定的目标……其中正在badblocks寻找失败的块,因此读取错误计数为 1 是坏的新闻在其代码中,因为它是一个先发制人工具用于检测可能发生故障的介质。具有更高“酒吧ddrescue' 比故意使用时忽略它得到的任何“错误”要好。

您的选择是

  • 在另一台设备上测试该卡,以确保您没有不太理想的读卡器等。

这张卡可能有问题,或者用于读卡的硬件存在某种问题(甚至可能是电源,因为即使是好的组件在供电不良时也会出现故障

相关内容