ddrescue
tem esta opção:
-a, --min-read-rate=<bytes>
minimum read rate of good areas in bytes/s
Se você especificá-lo em sua linha de comando com um tamanho decente como 10M
, com alguma sorte, as áreas que ainda conseguirem ler, mas extremamente lentas, serão ignoradas primeiro e continuarão com outras áreas que a unidade ainda consegue leia com desempenho.
Dependendo de quanto está faltando no final, você ainda pode segui-lo com um passe lento depois.
Também é possível executar ddrescue
no modo --reverse
ou forçá-lo a iniciar em um deslocamento específico com --input-position=X
, portanto, se ddrescue
não pular para uma região mais rápida, você pode forçá-lo a fazer que manualmente.
Is this really what recovering a failed hard drive feels entails?
Difícil dizer, pois há muitos tipos diferentes de falhas. Também depende do tipo de unidade, como ela lida com erros e, às vezes, também como o próprio controlador reage a unidades defeituosas. Verifique dmesg
para qualquer ruído, veja se há redefinições de barramento, essas não devem acontecer apenas porque uma unidade encontra um erro de leitura. (Se isso acontecer, talvez aumente /sys/block/.../device/timeout
)
Se a sua unidade for compatível com SCTERC (improvável para unidades consumidoras de desktop), você poderá dizer à unidade para nem mesmo tentar corrigir erros internos, mas retornar erros de leitura diretamente.