Excluídos os primeiros 512 bytes do disco; como posso recuperar meus dados?

Excluídos os primeiros 512 bytes do disco; como posso recuperar meus dados?

Eu acidentalmente escrevi um binário de 512 bytes no disco USB errado dde o dispositivo não mostra fdiskmais nenhuma partição.

Achei que todos os dados haviam sumido, mas dd if=/dev/sdx | stringsmostra que os dados parecem ainda estar lá, pois ddfelizmente se limitaram aos primeiros 512 bytes.Existe alguma maneira de recuperá-lo?

O disco tinha duas partições: uma ext4 (~4GB) e os 16GB restantes foram formatados como NTFS.

Responder1

Depende do que exatamente estava lá antes, mas pode ser fácil (-ish) recuperar disso.

  1. Use ddpara criar uma imagem completa da sua unidade USB em um local seguro.

  2. Use ddpara criar uma imagem completa da sua unidade USB em um local seguro.

  3. Sim, mantenha uma imagem completa. As operações de recuperação de dados muitas vezes podem causar mais danos do que seria de esperar.

  4. Tente lembrar como era o layout da partição naquela unidade USB.Anotá-la. Pode ajudar se você tiver logs do sistema quando esse disco (antes de ser bagunçado) for detectado pelo kernel do Linux - muitas vezes ele imprimirá alguns dados sobre as partições detectadas.

  5. Use fdisk para recriar o MBR com a mesma tabela de partição.Não formate e/ou faça fsck em nenhuma partição.

  6. Tente montar suas partições com a opção somente leitura ( -o ro) mount.

  7. Se tiver sucesso, tente copiar todos os arquivos para um local seguro e observe seu terminal e logs em busca de erros de E/S - a maneira típica de expressar erros de limite de partição é por meio de acessos fora do limite no dispositivo subjacente.

  8. Se a cópia falhar, restaure a imagem e volte para a etapa 4.

  9. Mencionei ter uma imagem completa da unidade USB antes de fazer qualquer outra coisa?

PS: Você também pode querer dar uma olhada em ferramentas comoTestDisk, que tentam automatizar o processo de recuperação. Mas você ainda deve obter uma imagem completa primeiro.

PS2: Se você se sentir confortável o suficiente, também poderá experimentar um pouco. Se você puder fazer uma suposição razoável para o ponto inicial da primeira partição, poderá usar tune2fs -lpara obter o tamanho exato da primeira partição, o que permitiria procurar o início da segunda.

Responder2

Para restaurar a ext4partição e seus dados, pensei em criar uma partição ext4 para todo o disco. Isso me permitiu obteracesso aos dadose recupere informações sobre a partição com tune2fs -l, conforme sugerido por @thkala. Esta informação parece muito viável e, portanto, inalterada.

Muito interessante, o gparted é capaz de descobrir otamanho real da partiçãocomo acontece com este aviso, ele mostra:

10,96 GiB de espaço não alocado na partição. Para aumentar o sistema de arquivos para preencher a partição, selecione a partição e escolha o item de menu:

porque 11GiB era aproximadamente a dimensão da partição NTFS.

insira a descrição da imagem aqui

Observe o espaço não utilizado que, IIRC, era o espaço que o ext4 ainda tinha livre. Oespaço não alocadoO gparted reconhece parece ser uma partição NTFS; agora,como posso restaurar esse também, talvez descobrindo onde termina a primeira partição, ou seja, sua contagem total de bytes?


FinalmenteTestDisklidou com isso sem esforço.

informação relacionada