Recuperando o arquivo
Vamos agora a sequência de comandos para recuperar o
arquivo:
# dd bs=1k if=/dev/hda5 count=12 skip=8314 >
/mnt/recovered.001
Agora o próximo bloco é o inode 8026, é um
bloco indireto, então:
# dd bs=1k if=/dev/hda5 count=256 skip=8327 \>\>
/mnt/recovered.001
O último bloco é o inode 8583. Ainda me parece
amigável quanto a continuidade do arquivo (sem
fragmentação). Temos que ignorar os blocos
iniciais, por que não nos interessão aqui, são
listas que foram zeradas quando o arquivo foi apagado e como
estamos considerando que o arquivo está em modo
sequencial, podemos ignorar:
# dd bs=1k if=/dev/hda5 count=256 skip=8585 \>\>
/mnt/recovered.001
#dd bs=1k if=/dev/hda5 count=256 skip=8842 \>\>
/mnt/recovered.001
#dd bs=1k if=/dev/hda5 count=256 skip=9099 \>\>
/mnt/recovered.001
#dd bs=1k if=/dev/hda5 count=256 skip=9356 \>\>
/mnt/recovered.001
#dd bs=1k if=/dev/hda5 count=256 skip=9613 \>\>
/mnt/recovered.001
#dd bs=1k if=/dev/hda5 count=256 skip=9870 \>\>
/mnt/recovered.001
Com isso concluimos que escrevemos no total 12 + (7 * 256)
blocks, 1804. O comando 'stat' nos mostrou 3616, basta
perceber que os blocos mostrados são de 512 bytes,
então 3616/2 = 1808 blocos de 1024 bytes. Isso significa
que faltam apenas 4 bytes para recompor perfeitamente o
arquivo. Então precisamos incluir mais um bloco
indireto. O último incluido foi 10125, pulamos o 10126 e
continuamos como antes, mas para agora somente 4 bytes:
# dd bs=1k if=/dev/hda5 count=4 skip=10127 \>\>
/mnt/recovered.001
Se tivermos sorte, esse arquivo foi recuperado com
sucesso.
Vamos agora fazer uma breve descrição do
primeiro método. Recomendamos não utilizar esse
método. Ele é mais fácil, porém não
é capaz de recuperar arquivos acima de 12 blocos.