Recuperar arquivos do sd corrompido [duplicado]

0

Eu errei ao tentar avaliar a velocidade de gravação em um sdcard com arquivos importantes.

sync; sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5386 s, 45.6 MB/s
^C

Percebi que estava escrevendo diretamente para / dev / sdb1 em vez de gravar em um arquivo dentro da placa montada, portanto, com medo de sobrescrever dados, cancelei logo após o benchmark parecer ter acabado (não era). Agora ele será montado automaticamente, mas não mostrará nada (não é possível clicar nele no gerenciador de arquivos, e o gparted só mostra como um cartão exfat desconhecido.

O que posso fazer?

    
por Alessandro Jeanteur 02.08.2018 / 17:53

1 resposta

1

Existem muitas aplicações de recuperação, pessoalmente acho que photorec e foremost funcionam melhor. O Photorec faz parte do pacote testdisk , mas o mais importante pode ser instalado a partir do pacote foremost .

a) Photorec

Basta executar $ photorec /dev/sdb para abrir a interface interativa da photorec.

Retorno de retorno ( [Proceed] ) para selecionar o disco. Na próxima tela, você é solicitado a selecionar uma partição. Se o photorec encontrar as partições corretas, você pode selecionar a que deseja recuperar os arquivos aqui. Se ele não detectar as partições corretamente, basta selecionar No partition [Whole disk] e pressionar novamente para executar o [Search] . Uma vez selecionado o tipo de sistema de arquivos na próxima tela, você precisa selecionar um diretório no qual os arquivos recuperados devem ser salvos. Confirme com C .

b) Acima

Enquanto o photorec trabalha tentando encontrar "blocos de dados" da unidade e da mídia usando o entalhe de arquivos , o mais importante é é um pouco diferente. Ele ainda está usando o conceito de entalhe de arquivo, mas ignora o tipo de sistema de arquivos subjacente e trabalha diretamente copiando segmentos da unidade em sua RAM, que é então verificada em busca de tipos de cabeçalho de arquivo. Acima de tudo vem com um monte de cabeçalhos internos para recuperar a maioria dos tipos de arquivos comuns, se você quiser adicionar cabeçalhos / rodapés personalizados para detectar tipos de arquivos menos comuns, acima de tudo oferece-lhe essa capacidade.

Para correr primeiro usando as opções padrão na imagem, execute o seguinte comando:

$ foremost -i /dev/sdb -v

Você pode usar /dev/sdb1 aqui se quiser recuperar arquivos apenas dessa partição.

Isso salvará todos os arquivos recuperados em output (novo diretório criado acima). Você pode especificar outro diretório de saída usando o -o flag e -a para ignorar erros / salvar arquivos corrompidos.

Opcional: filtre os arquivos recuperados

Isto é opcional, mas às vezes você só está interessado em tipos específicos de arquivos, ou pior ainda: Ferramentas de recuperação fornecem um milhão de arquivos dos quais milhares parecem ser, por exemplo, um arquivo JPEG, mas na realidade é apenas um arquivo corrompido e não uma imagem em tudo. Para filtrá-los, você pode usar esta resposta que eu dei para outra pergunta no SuperUser.

Como você pode evitar isso no futuro

Eu vejo pessoas mexendo em seus dados com dd com muita frequência. É muito fácil. Minha recomendação:

#!/bin/bash
read -r -p "Have you checked at least TWICE if the parameters are correct? [y/N] " response
response=${response,,}
if [[ "$response" =~ ^(yes|y)$ ]]; then
    dd "$@"
else
    echo "Better be safe than sorry."
fi

Salve isso como /usr/bin/sdd ou qualquer nome que você queira. chmod +x depois. De agora em diante, use sempre sdd em vez de dd .

    
por 02.08.2018 / 18:35