O cartão SD img criado com dd é todo zeros [fechado]

1

Um membro da família analfabeto de computador me pediu para recuperar fotos de um cartão SD que ela usou em sua câmera. Ela foi buscá-los em seu computador quando informou que o dispositivo precisava ser formatado. Ela jura que não deu continuidade ao formato e perguntou se eu sabia como consertá-lo.

Eu uso um CD de inicialização do Knoppix que eu gosto porque vem pré-compilado com o ddrescue e outras ferramentas. Conectando o cartão ao meu leitor embutido, ele reconheceu o dispositivo em / dev / sdc, mas não montou automaticamente.

eu corri o comando

ddrescue -d /dev/sdc /media/sdb1/test.img /media/sdb1/testimage.log

A saída sugeriu que correu perfeitamente bem. Ele leu com sucesso todos os 16GB e relatou 0 erros. Quando abri o arquivo img em um editor hexadecimal, foram 16 GB de zeros. Eu não tinha certeza se o ddrescue estava silenciosamente falhando a cada tentativa de leitura e apenas escrevendo um zero, então eu também tentei o plain vanilla dd e obtive o mesmo resultado.

Tudo sobre o cartão parece estar bem, aparentemente está apenas vazio. Normalmente eu estou acostumado a quando os controladores de memória nesses cartões começam a ficar ruins que eles relatam erroneamente o tamanho da memória ou há setores defeituosos, mas aqui tudo parece um cartão SD fresco de fábrica.

É claro que ela é analfabeta técnica, então eu não posso descartar que ela acidentalmente preencheu a coisa, mas eu acho que se algo ela acidentalmente formatou rapidamente e afastou a tabela de partição deixando os bytes no endereço intacto.

Há algo que eu possa estar perdendo ou fazendo errado aqui ou o cartão está completamente acabado?

    
por maple_shaft 15.11.2018 / 22:34

1 resposta

2

Eu assumo que o seu sistema Linux é capaz de ler cartões SD em funcionamento.

"O dispositivo precisava ser formatado" é a mensagem do Windows que você esperaria ver, quando você insere um cartão não formatado, incluindo um que é 100% zeros, ou seja, completamente em branco.

Os dados são perdidos.

Isso é o que você veria se as tabelas de remapeamento de flash no cartão SD fossem redefinidas, para todas as não alocadas, por exemplo, usando o comando Linux blkdiscard em todo o dispositivo. ( blkdiscard comando tende a trabalhar com leitores de cartão PCI internos, acho que tende a não funcionar com leitores de cartão USB).

Se você quiser adivinhar aleatoriamente, acho que é mais provável que haja uma falha em que o controlador ainda esteja operando, mas não está conseguindo carregar as tabelas de remapeamento por algum motivo. Nesse caso, você não conseguirá gravar no cartão / gravações serão silenciosamente perdidas.

Não estou achando que foi devido a um comando deliberado de descarte, porque ouvi muito pouco sobre aqueles que estão sendo usados em cartões SD.

Eu ficaria surpreso se o cartão SD decidisse se reinicializar, limpando todas as tabelas de mapeamento. Observe que o comando blkdiscard do dispositivo completo usa aspas um pouco para mim. Pelo menos, não há motivo para projetá-lo para se redefinir automaticamente.

    
por 17.11.2018 / 17:20