Excluiu primeiro 512 bytes de disco; Como posso recuperar meus dados?

12

Eu acidentalmente escrevi um binário de 512 bytes para o disco USB errado com dd e o dispositivo não mostra nenhuma partição com fdisk mais.

Eu achei que todos os dados tinham desaparecido, mas dd if=/dev/sdx | strings mostra que os dados parecem estar ainda lá, pois dd felizmente se limitou aos primeiros 512 bytes. Existe alguma maneira de recuperá-lo ?

O disco tinha duas partições: um ext4 (~ 4GB) e o restante de 16 GB foram formatados como NTFS.

    
por edmz 31.10.2015 / 16:36

2 respostas

6

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

Muito interessante é que o gparted é um pouco capaz de descobrir o tamanho real da partição , já que, a partir desse aviso, ele mostra:

10.96 GiB of unallocated space within the partition. To grow the file system to fill the partition, select the partition and choose the menu item:

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

Observeoespaçonãoutilizadoque,IIRC,eraoespaçoqueoext4aindatinhalivre.OespaçonãoalocadogpartedreconhecepareceserumapartiçãoNTFS;Agora,comopossorestaurá-lotambém,talvezdescobrindoondeaprimeirapartiçãotermina,ouseja,suacontagemtotaldebytes?

Finalmente,o TestDisk lidou com isso sem esforço.

    
por 31.10.2015 / 18:10
13

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

  1. Use dd para criar uma imagem completa do seu drive USB em um local seguro.

  2. Use dd para criar uma imagem completa do seu drive USB em um local seguro.

  3. Sim, mantenha uma imagem completa. As operações de recuperação de dados geralmente podem causar mais danos do que se esperaria.

  4. Tente lembrar como era o layout da partição na unidade USB. Escreva abaixo . Pode ser útil se você tiver logs do sistema a partir do momento em que o disco (antes de ser confuso) ser detectado pelo kernel do Linux - muitas vezes ele imprimirá alguns dados sobre as partições detectadas.

  5. Use o fdisk para recriar o MBR com a mesma tabela de partições. Não formate e / ou fsck quaisquer partições .

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

  7. Se for bem-sucedido, tente copiar todos os arquivos para um local seguro e observe seu terminal e os logs de erros de E / S - a maneira típica de expressar erros de limite de partição é através de acessos fora do limite no dispositivo subjacente.

  8. Se a cópia falhar, restaure a imagem e volte ao passo 4.

  9. Eu mencionei ter uma imagem completa do drive USB antes de fazer qualquer outra coisa?

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

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

    
por 31.10.2015 / 16:47