Surpreende-me que consegui recuperar perfeitamente um cartão SD ddrescue
que foi usado em um RPi por um bom tempo. Mas quando estou digitalizando o cartão SD, badblocks -nvs
os blocos defeituosos são listados em um ritmo alucinante. (A propósito, antes de iniciar a operação de resgate, o RPi estava se comportando de maneira bastante irregular.)
Alguém pode me explicar por que ddrescue
foi capaz de recuperar gloriosamente todo o conteúdo e, ao mesmo tempo, badblocks
literalmente grita comigo, este cartão SD está quebrado?
Responder1
badblocks
procura áreas (blocos/setores) do disco que está com defeito (leu erros); que incluem áreas que ainda são legíveis (embora possa exigir mais de uma única tentativa de leitura; ou seja. estão indo mal/morrendo),
ddrescue
no entanto, espera-se que os dados sejam recuperados, permitindo assim a releitura dos setores (ignorando erros de leitura) A MENOS que um definido --max-error-count
seja alcançado...
ou seja. as duas ferramentas têm intenções/usos muito diferentes.
ddrescue
felizmente tentará novamente até --max-error-count
ser alcançado como já foi dito... onde as badblocks
está procurando por blocos com falha, portanto, uma contagem de erros de leitura de 1 éruimnews em seu código, pois é umferramenta preventivausado para detectar o que pode estar falhando na mídia. A ferramenta preventiva tem um valor muito mais altobar' do que usado pelo ddrescue
qual, intencionalmente, ignora quaisquer 'erros' que receba.
Suas opções são
- teste o cartão em outro dispositivo para garantir que você não tenha um leitor de cartão abaixo do ideal, etc.
Provavelmente algo é suspeito com o cartão,ouseu hardware usado na leitura do cartão tem algum tipo de problema (que poderia ser até mesmo uma fonte de alimentação, já que até mesmo componentes bons podem se comportar mal quando alimentados com energia ruim)