Excluídos os primeiros 512 bytes de disco; como posso recuperar meus dados?
12
Eu acidentalmente escrevi um binário de 512 bytes no disco USB errado dde o dispositivo não mostra mais nenhuma partição fdisk.
Eu pensei que todos os dados haviam sumido, mas dd if=/dev/sdx | stringsmostra que os dados ainda parecem estar lá, porque ddfelizmente se limitou aos primeiros 512 bytes. Existe alguma maneira de recuperá-lo ?
O disco tinha duas partições: uma ext4 (~ 4 GB) e as restantes 16 GB foram formatadas como NTFS.
Depende do que exatamente existia antes, mas pode ser fácil (-ish) se recuperar disso.
Use ddpara criar uma imagem completa da sua unidade USB em um local seguro.
Use ddpara criar uma imagem completa da sua unidade USB em um local seguro.
Sim, mantenha uma imagem completa. As operações de recuperação de dados geralmente podem causar mais danos do que se poderia esperar.
Tente lembrar como era o layout da partição na unidade USB. Escreva . Pode ser útil se você tiver logs do sistema a partir de quando esse disco (antes de ser desarrumado) for detectado pelo kernel do Linux - muitas vezes ele imprimirá alguns dados sobre as partições detectadas.
Use o fdisk para recriar o MBR com a mesma tabela de partição. Não formate e / ou fsck nenhuma partição .
Tente montar suas partições com a opção somente leitura ( -o ro) mount.
Se for bem-sucedido, tente copiar todos os arquivos para um local seguro e observe o terminal e os logs quanto a erros de E / S - a maneira típica de erros de limite de partição serem expressos é através de acessos fora de limite no dispositivo subjacente.
Se a cópia falhar, restaure a imagem e volte para a etapa 4.
Eu 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 como o TestDisk , 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 de partida da primeira partição, poderá usar tune2fs -lo tamanho exato da primeira partição, o que permitiria procurar o início da segunda partição.
@black: Sim. Você pode bs=...optar por aumentar o tamanho do bloco e acelerar um pouco.
Thkala # 31/15
Um bom tamanho de bloco para usar é bs=64K. Definitivamente vale a pena tentar o TestDisk, e pode funcionar em arquivos de imagem de disco e em discos reais. Boa sorte!
Página Inicial
Correr cat /dev/sdx >backup.imgseria mais rápido do que ddem muitas circunstâncias e certamente não mais lento nesta.
roaima
6
Para restaurar a ext4partição e seus dados, pensei em criar uma partição ext4 em todo o disco. Isso me permitiu ter acesso aos dados e recuperar informações sobre a partição com tune2fs -l, como sugerido por @thkala. Essa informação parece muito viável e, portanto, inalterada.
Muito interessante, o gparted é capaz de descobrir o tamanho real da partição, como mostra este aviso:
10,96 GiB de espaço não alocado dentro da 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.
Observe o espaço não utilizado que, IIRC, era o espaço que o ext4 ainda tinha livre. O espaço não alocado que o gparted reconhece parece ser uma partição NTFS; Agora, como posso restaurar essa também , talvez descobrindo onde a primeira partição termina, ou seja, sua contagem total de bytes?
Finalmente, o TestDisk lidou com isso sem esforço.
dd if=/dev/sdx of=backup.img
certo?bs=...
optar por aumentar o tamanho do bloco e acelerar um pouco.bs=64K
. Definitivamente vale a pena tentar o TestDisk, e pode funcionar em arquivos de imagem de disco e em discos reais. Boa sorte!cat /dev/sdx >backup.img
seria mais rápido do quedd
em muitas circunstâncias e certamente não mais lento nesta.Para restaurar a
ext4
partição e seus dados, pensei em criar uma partição ext4 em todo o disco. Isso me permitiu ter acesso aos dados e recuperar informações sobre a partição comtune2fs -l
, como sugerido por @thkala. Essa informação parece muito viável e, portanto, inalterada.Muito interessante, o gparted é capaz de descobrir o tamanho real da partição, como mostra este aviso:
porque 11GiB era aproximadamente a dimensão da partição NTFS.
Observe o espaço não utilizado que, IIRC, era o espaço que o ext4 ainda tinha livre. O espaço não alocado que o gparted reconhece parece ser uma partição NTFS; Agora, como posso restaurar essa também , talvez descobrindo onde a primeira partição termina, ou seja, sua contagem total de bytes?
Finalmente, o TestDisk lidou com isso sem esforço.
fonte