Recuperando Dados com o PhotoRec


Introdução, instalação e uso do programa

A exclusão acidental de arquivos é muito comum no meio dos usuários Linux, sobretudo quando se tem “poder” suficiente seja ele através do comando ‘sudo’ ou mesmo logado como root. O que me levou a confecção deste artigo foram alguns posts que já comentei no fórum acerca da recuperação de dados com o TestDisk.

Além do fato citado acima, recentemente perdi todos os arquivos de um cartão de memória, aparentemente por corrompimento do sistema de arquivos FAT16|32, o qual não era reconhecido ou mesmo montado seja qual fosse o meio utilizado. Resolvi então utilizar uma câmera digital antiga para hospedar esse cartão de memória, conectei-a no PC e fui a caça dos arquivos que lá existiam.

Sobre o TestDisk

O TestDisk é uma ferramenta disponível para a grande maioria das distribuições Linux, BSDs, Mac OS X e MS Wndows.

Seu download pode ser realizado na página abaixo:
http://www.cgsecurity.org/wiki/TestDisk_Download

A instalação do mesmo no Debian e derivados poderá ser feita da seguinte maneira:

$ sudo apt-get update
$ sudo apt-get install testdisk

testdisk-001

Para aqueles que desejarem apenas baixar a última versão do programa:

$ wget http://www.cgsecurity.org/testdisk-6.12.linux26.tar.bz2
$ tar -jxf testdisk-6.12.linux26.tar.bz2
$ cd /testdisk-6.12
$ sudo ./photorec_static

Obs.: Não bastasse essa facilidade o pacote está presente em grande parte dos mais variados Live-CDs, dentre os quais cito os excelentes Gparted LiveCD, Parted Magic e SystemRescue CD.

Para maiores detalhes sobre diferentes métodos de instalação, visitem:
http://www.cgsecurity.org/wiki/TestDisk_Livecd

Utilização

Após a instalação ou download do programa, e já com a câmera plugada no PC execute o comando abaixo para listar os dispositivos conectados:

$ sudo fdisk -l

testdisk-002

No exemplo acima, são exibidos um HD de 120GB ocupado por uma única partição formatada em NTFS, um HD de 250GB dividido por 9 partições (entre primárias, extendida e lógicas) e o dispositivo alvo, identificado como “/dev/sdd” cujo espaço em disco é de 2GB contendo uma partição formatada em FAT16.

Sabendo qual o dispositivo a ser utilizado, desmonto o mesmo e executo a ferramenta PhotoRec utilizando o ‘sudo’:

$ sudo umount /dev/sdd
$ sudo photorec

Surge a seguinte tela:

testdisk-003

Seleciono o dispositivo alvo, no caso /dev/sdd e clico em “Proceed”:

Na tela seguinte, escolho “Intel” no que se refere a escolha da tabela de partições:

testdisk-004

A seguir escolho a partição a ser investigada:

testdisk-005

Informo o tipo de sistema de arquivos:

testdisk-006

A seguir existe a opção de escolher entre pesquisar somente o espaço livre ou todo o disco.
Como a partição e seus arquivos sumiram e não disseram para onde foram, escolhi a 2ª opção “Whole” Extract files from whole partition:

testdisk-007

A seguir informo onde os arquivos porventura recuperados serão salvos, no caso escolhi a pasta RECOVER criada na minha pasta pessoal, para criar uma pasta use:

$ mkdir -p caminho/destino

Como em:

$ mkdir -p $HOME/RECOVER

Para movimentar-se entre as pastas use as setas Up e Down (setas), selecione onde se vê ” .. ” para subir de nível até chegar ao local desejado:

testdisk-008

A seguir sou perguntado se o endereço da pasta a qual a recuperação dos arquivos destina-se está correto, teclo “Y” e começa a brincadeira:

testdisk-009
testdisk-010

Ao final dos trabalhos, o PhotoRec informa que recuperou 599 dos mais diversos tipos de arquivos: .mp3, .jpeg, .mov, .txt entre outros:

testdisk-011

Satisfeito com o resultado, e com os arquivos já salvos, resolvi formatar o tal cartão de memória e vejam o resultado (somente parte do processo):

Listagem dos dispositivos, desmontagem do dispositivo alvo, formatação para o sistema de arquivos FAT32 e abertura do programa PhotoRec:

testdisk-012

Escolha do novo destino para os arquivos recuperados (se possível):

testdisk-013

Ao final da recuperação, obtive 673 arquivos recuperados:

testdisk-014

Exibição das pastas do 1º trabalho e deste último. Por padrão o PhotoRec salva apenas 500 arquivos por pastas, no detalhe da imagem abaixo vemos duas pastas, recup_dir.1 e recup_dir.2:

testdisk-015

Um caso típico… a falta de um backup!

Interessante como as coisas acontecem…, parte do texto e imagens deste artigo já estavam prontos para serem enviados, quando resolvi migrar minha instalação do Arch Linux de x86_64 para i686, o detalhe é que por esquecimento não fiz backup da minha “/home” utilizada no Arch, a tragédia só não foi maior graças a essa maravilha chamada PhotoRec, vejam:

Antes de iniciar devemos desmontar a partição alvo, que nesse caso é a “/dev/sdb8”:

$ sudo umount /dev/sdb8

Criação da pasta onde os arquivos seriam salvos:

testdisk-016

Na tela de seleção das unidades de disco, vemos duas unidades de disco, um HD de 120GB e outro de 250GB. Todas as minhas distros estão instaladas em “/dev/sdb”, ou seja o trabalho seria executado no mesmo disco onde o sistema estava instalado, porém os dados recuperados devem obrigatoriamente ser salvos em outra unidade, isso pode ser visto na imagem anterior.

Seleciono a 2ª unidade “/dev/sdb” e teclo ENTER em “Proceed”:

testdisk-017

A seguir selecione “Continue” e clico em ENTER:

testdisk-018

Na escolha do tipo de tabela de partição escolho “Intel”:

testdisk-019

A seguir selecionarei a partição alvo (que já estava desmontada) “/dev/sdb8”:

testdisk-020

A seguir informo o tipo do sistema de arquivos, que nesse caso é o ext4:

testdisk-021

A seguir como já existem dados gravados na partição:

testdisk-022

Escolho a 1ª opção “Free” scan for file from ext2/ext3 unallocated space only:

testdisk-023

Então navego até a pasta onde os arquivos serão salvos, “/media/sda1/RECOVER”, e teclo “Y”

testdisk-024
testdisk-025

Inicia-se o trabalho de recuperação de arquivos que nos casos dos discos rígidos é muito mais rápido que um cartão de memória de tamanho 100 vezes menor:

testdisk-026

Mais da metade do caminho andado…

testdisk-027

Término da recuperação, 22517 arquivos recuperados:

testdisk-028

Estrutura das pastas criadas, tamanho e total dos arquivos recuperados:

testdisk-029

Que conveniente… um dos arquivos .html recuperados é sobre o Photorec!

testdisk-030

A última pasta criada contendo walls e arquivos texto:

testdisk-031

Tendo recuperados os arquivos será chegada a hora de organizá-los, visto que o PhotoRec salva-os com o nome ‘fnºqualquer’, assim para fotos ou arquivos de imagens em geral, uma boa ideia seria utilizar o F-Spot já que ele cumpre bem a tarefa de organizar as fotos por data. Para os demais arquivos um pouco de pesquisa deve resolver.

Indexação das imagens encontradas = 9510, destas grande parte trata-se de imagens de ícones.

testdisk-032

Ao aparecer algum arquivo incompleto|truncado, basta clicar em ignorar:

testdisk-033

Estrutura da indexação das imagens, parte do que encontra-se nesta pasta são imagens do cache do Opera, como screens do VOL:

testdisk-034

Para aliviar um pouco o tamanho dessa pasta visto que a maioria das imagens referem-se a pacotes de ícones e cache dos navegadores, usei a dupla ‘find’ e ‘rm’ para encontrar e remover determinados tipos de arquivos:

$ cd /media/sda1/LINUX/
$ find FOTOS/ -name '*.bmp' -exec rm -v {} \;
$ find FOTOS/ -name '*.gif' -exec rm -v {} \;

Obs.: Ainda ficaram muitos arquivos que não são do meu interesse mas com os 2 comandos acima, removi mais de 3.000 arquivos de imagens, já é um começo.

Obervação, Conclusão e Referências

Observação

Prestem atenção ao usar o comando ‘rm’, visto que uma configuração errada podem levá-los ao início desse artigo! Depois não digam que não foram avisados!

Como visto acima ferramentas como o TestDisk e o PhotoRec podem nos salvar de muitos apuros, e são muito úteis principalmente para aqueles usuários que adoram testar e instalar uma nova distro ou mesmo os novatos chegados ao Linux.

Conclusão

Apesar da indicação do TestDisk, existem outras ferramentas que se propõe a mesma tarefa, das que conheço cito o ‘foremost’ e uma que nunca utilizei mas já vi artigos a respeito, e o ‘ext3grep’.

Referências e links recomendados

TestDisk:
http://www.cgsecurity.org/wiki/TestDisk
http://www.cgsecurity.org/wiki/PhotoRec
http://www.cgsecurity.org/wiki/TestDisk_%26_PhotoRec_in_various_digital_forensics_testcase
http://www.cgsecurity.org/wiki/TestDisk_FAQ

Hardware.com.br:
http://www.hardware.com.br/livros/hardware/usando-photorec.html
http://www.hardware.com.br/livros/kurumin7/usando-testdisk.html
http://www.hardware.com.br/livros/hardware/recuperado-mbr-tabela-particoes.html
http://www.hardware.com.br/dicas/recuperar-arquivos-excluidos.html
http://www.hardware.com.br/dicas/recuperando-arquivos-particoes-reiserfs.html

Fórum VOL:
http://www.vivaolinux.com.br/topico/vivaolinux/recuperacao-1
http://www.vivaolinux.com.br/topico/Duvidas-em-Geral/recuperar-arquivos-2
http://www.vivaolinux.com.br/topico/Linux-Basico/Recuperar-arquivos-Linux

Foremost:
http://www.dicas-l.com.br/arquivo/foremost_e_scalpel_recuperacao_de_arquivos.php
http://foremost.sourceforge.net/
http://www.vivaolinux.com.br/dica/Recuperacao-de-arquivos-com-dd-e-foremost

Ext3grep:
http://www.vivaolinux.com.br/artigo/Restaurar-arquivo-ou-diretorio-apagado-em-file-system-ext3/
http://www.fabioboris.com/linux/como-recuperar-arquivos-excluidos-de-uma-particao-linux-ext3

Fonte: Viva O Linux

Até o próximo!

One Response to Recuperando Dados com o PhotoRec

  1. Pingback: Dica para buscar, classificar e copiar arquivos | BloGNU

Conte-nos o que achou...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: