domingo, 6 de março de 2011

RECUPERANDO ARQUIVOS APAGADOS

O Testdisk pode salvar a sua pele quando partições do HD são apagadas devido à ação de vírus, erros diversos durante o reparticionamento do HD, etc. Entretanto, ele pouco pode fazer para recuperar dados deletados dentro das partições, o que demanda ferramentas específicas. Entram em cena então os programas de recuperação, que vasculham os discos magnéticos em busca de arquivos que foram apagados porém ainda não sobrescritos por outros.


Usando o Easy Recovery



    Um dos programas mais antigos e respeitados é o Easy Recovery, desenvolvido pela Ontrack. Ele está disponível no:http://www.ontrack.com/software/.
    Assim como em outros programas de recuperação de dados, o trabalho do Easy Recovery se concentra em acessar diretamente os dados armazenados na partição, procurando diretamente por diretórios e arquivos, sem depender das estruturas do sistema de arquivos. Apesar disso, todo o trabalho pesado é feito por baixo dos panos, fazendo com que o programa tenha uma interface muito simples. Basicamente, você indica a partição, espera o final do teste, marca os arquivos que deseja recuperar e indica o destino e, no final, checa os arquivos recuperados.
    Dentro do programa, acesse a seção "Data Recovery". Dentro dela, a opção "Deleted Recovery" permite recuperar arquivos e pastas dentro de uma partição contendo outros arquivos, como em casos em que algumas pastas e arquivos específicos foram deletados, mas o restante dos arquivos continua presente; enquanto a "Format Recovery" recupera dados em partições que foram reformatadas ou em casos onde o sistema foi reinstalado. Usando essa opção, o programa ignora a estrutura atual e tenta remontar a estrutura da formatação anterior.
    Existe ainda a opção "Raw Recovery" que tenta recuperar dados remanescentes em casos onde o HD já foi reparticionado mais de uma vez e dados foram gravados por cima, subscrevendo os anteriores. Nesse caso a eficiência é limitada, mas é quase sempre possível recuperar alguns arquivos.
    Note que o EasyRecovery é eficiente ao recuperar dados apagados dentro de partições, mas ele não é capaz de recuperar a tabela de particionamento.
    Em casos em que as partições são apagadas ou a tabela é corrompida, o trabalho de recuperação seria feito em duas partes. Na primeira você utilizaria o Testdisk para recuperar as partições originais e (caso necessário), usaria em seguida o EasyRecovery para recuperar arquivos dentro delas. É relativamente incomum que as duas coisas aconteçam ao mesmo tempo (perder a tabela de particionamento e perder junto arquivos dentro das partições) por isso normalmente usamos ou um ou outro.

    Tela principal do EasyRecovery
    O passo seguinte é indicar a partição onde estão os arquivos a recuperar. Além de partições em HDs, você pode recuperar dados em pendrives, cartões de memória e outros tipos de mídia. A principal observação é que você precisa sempre de uma partição separada para onde copiar os arquivos recuperados. Todo o teste do Easy Recovery é feito de forma não destrutiva, sem alterar os arquivos dentro da partição, por isso ele não é capaz de restaurar os arquivos diretamente.
    Outra observação é que você nunca deve instalar o Easy Recovery nem usar uma instalação do Windows dentro da mesma partição onde estão os arquivos. Se os arquivos perdidos estão armazenados na mesma partição onde o Windows está instalado, o melhor a fazer é desligar o micro, remover o HD, instalá-lo como slave em outro PC e realizar o teste a partir dele. Se você pretende recuperar dados de forma rotineira, o ideal é já ter um PC preparado para isso.

    Seleção da partição
    Dentro da tela de seleção de partição, você tem a opção de ativar o "Complete Scan". Essa opção faz o teste demorar mais, mas oferece uma eficiência muito maior. É recomendável marcá-la sempre que você precisar recuperar mais do que um ou dois arquivos recentemente deletados.
    De acordo com o tamanho da partição, o teste pode demorar de alguns minutos a algumas horas, já que o programa precisa ler todos os dados gravados e aplicar os algoritmos que permitem identificar os arquivos.
    Concluído o teste, os arquivos localizados são marcados e você só precisa selecionar quais quer recuperar (ou simplesmente marcar tudo). Lembre-se de verificar o espaço disponível na partição de destino.
    No screenshot a seguir, estou recuperando um grande volume de arquivos propositalmente deletados em uma partição FAT32. Como os arquivos não tinham sido sobrescritos, todos os arquivos foram recuperados. Duas das pastas perderam a primeira letra do nome ("_IMP" ao invés de "GIMP" e "_LV" ao invés de "VLC") e alguns dos arquivos de imagem ficaram com pequenos defeitos nos primeiros kbytes. Com exceção de detalhes como estes, a recuperação de arquivos recentemente deletados é quase sempre perfeita.
    Na tela seguinte você indica a pasta onde salvar os arquivos. Existe também a opção de dar upload para um servidor FTP (você pode manter um servidor FTP local na sua rede, de forma que os arquivos sejam copiados na velocidade de transmissão da rede local) ou gerar um arquivo compactado em .zip, de forma a reduzir o espaço ocupado.
    O Easy Recovery inclui também algumas ferramentas para reparo de arquivos danificados (as opções "File Repair" e "Email Repair" do menu) que permitem reparar arquivos do Office, arquivos .zip e arquivos de e-mail do outlook corrompidos. Elas podem ser usadas de forma independente das opções de recuperação.
    O grande problema com o EasyRecovery é que ele é um programa caro, voltado para o uso profissional. A versão de demonstração, disponível para download executa a varredura e mostra os arquivos que podem ser recuperados, mas sem opção de recuperá-los. A versão completa (para uso pessoal) custa nada menos que US$ 499 e está limitada à recuperação de dados em 20 HDs, enquanto a versão para uso profissional custa US$ 1499 anuais. Existe ainda uma versão Lite, que custa apenas US$ 89, mas está limitada à recuperação de apenas 25 arquivos por sessão.
    Outra questão é que o Easy Recovery não é multiplataforma e se restringe a recuperar arquivos em partições formatadas em FAT16, FAT32 e NTFS. Isso impede que ele possa ser considerado sozinho como uma opção completa de recuperação de dados.

Usando o Photorec

    Outro programa digno de nota, que vale a pena também ter no kit de ferramentas é o Photorec. Ele utiliza algoritmos de recuperação bem menos eficientes que o Easy Recovery, por isso não é indicado para recuperar grandes quantidades de arquivos. Em compensação, ele oferece três diferenciais: é gratuito (e de código aberto), oferece suporte a um número muito maior de sistemas de arquivos e é multiplataforma, rodando tanto no Windows quanto no Linux e outros sistemas. Embora esteja longe de ser perfeito, ele faz um bom trabalho em recuperar arquivos do Office, imagens, arquivos zip e outros formatos de arquivos comuns.
    O Photorec é mantido pelos mesmos desenvolvedores do Testdisk. Originalmente a idéia era recuperar fotos acidentalmente deletadas em câmeras e cartões de memória (daí o nome). Como praticamente todo mundo usa câmeras digitais hoje em dia, ele atende a uma demanda crescente, que é recuperar fotos e vídeos deletados acidentalmente na memória de uma forma rápida. Daí em diante, foi adicionado suporte a outros formatos de arquivos e a um número crescente de sistemas de arquivos, transformando o Photorec em uma ferramenta de recuperação de dados de uso geral.
    O Link de download é o mesmo do Testdisk: http://www.cgsecurity.org/wiki/TestDisk_Download.
    Assim como no caso do Testdisk, existem tanto versões Windows quanto Linux e o uso de ambas é muito similar. No caso da versão Windows, você só precisa descompactar o arquivo. zip e clicar sobre o "photorec_win.exe".
    No caso da versão Linux, descompacte o arquivo e acesse a pasta criada (da mesma forma que no Testdisk) e execute o comando "./photorec_static -d", seguido de uma pasta do HD, onde os arquivos recuperados serão armazenados, e o dispositivo referente à partição, pendrive, câmera ou cartão onde estão os arquivos deletados, como em:
    # ./photorec_static -d /home/joao/tmp /dev/sda1
    Dispositivos USB de armazenamento são reconhecidos no Linux como "/dev/sda" e o "1" indica a partição dentro do cartão ou pendrive (quase sempre dispositivos de memória Flash são particionados usando uma única partição). Em máquinas com HD SATA, o HD assume a posição de "/dev/sda" e o dispositivo USB assume a próxima posição disponível: "/dev/sdb". Se você tiver dois HDs SATA, então o dispositivo USB passa a ser o "/dev/sdc" e assim por diante. Se você tiver o Gparted instalado, pode usá-lo para ver como cada dispositivo foi reconhecido pelo sistema.
    Ao abrir o Photorec, ele começa confirmando o dispositivo onde será feita a recuperação. Como ele não altera os dados dentro da partição, apenas verifica os dados gravados, procurando por arquivos deletados, não existe um grande perigo ao mandar ele procurar arquivos no lugar errado (na sua partição de trabalho por exemplo), mas é sempre bom conferir se você indicou o dispositivo correto antes de continuar, até para evitar perder tempo. Use a opção "Proceed" para continuar:
    No caso da versão Windows (onde você abre o programa sem especificar parâmetros), ele mostra um menu de seleção, contendo todas as partições disponíveis no sistema. Ele detecta as partições usando a nomenclatura do Linux (/dev/sda, /dev/sdb, etc.) mas você pode localizar a partição referente ao cartão ou câmera rapidamente, baseado no tamanho:
    Antes de continuar, ele confirma a partição onde será feita a recuperação. Esta opção só tem serventia caso o cartão ou pendrive esteja dividido em mais de uma partição. Na maioria dos casos você só precisa confirmar a partição pré-selecionada:
    A opção seguinte (a última) se refere ao sistema de arquivos em que a partição alvo está formatada. Se por acaso você estiver tentando recuperar fotos apagadas em uma partição Linux, formatada em EXT2, ou EXT3, você escolheria a opção "[ EXT2/EXT3 ]", mas em todos os outros casos, incluindo recuperação em cartões, pendrives, partições Windows e mesmo em partições Linux formatadas em outros sistemas de arquivos, você usa sempre a opção [ Other]:
    No caso da versão Windows, ele pergunta também onde deve salvar os arquivos recuperados, já que você não especifica a pasta ao abrir o programa. A grande limitação é que, por rodar através do Cygwin, ele enxerga a pasta onde está o executável do programa como diretório raiz, impedindo que você salve os arquivos recuperados fora dela. Mesmo que você indique o "c" como diretório destino, ele salvará na pasta "c" dentro do diretório. A melhor forma de burlar essa limitação é copiar a pasta com o programa para dentro do diretório onde quer salvar os arquivos e executá-lo a partir de lá. Depois de indicar a pasta, pressione "Y" para continuar:
    Nunca é demais lembrar que você sempre deve salvar os arquivos em uma unidade ou partição separada. Pode ser do pendrive para o HD ou do HD para um HD externo, não importa, desde que sejam duas unidades separadas. Jamais tente recuperar arquivos de uma partição salvando-os nela mesma.
    Agora vem a parte automática, onde ele vai ler cada setor da partição, em busca de fotos e vídeos deletados. Ele ignora a tabela de alocação e vai diretamente "na fonte", lendo os bits armazenados diretamente e procurando por blocos que pareçam ser arquivos.
    Ao terminar o teste, é só sair do programa e verificar os arquivos recuperados, que serão armazenados dentro da pasta indicada no comando inicial.
    Se você executá-lo como root (no Linux), vai precisar ajustar as permissões de acesso à pasta onde foram salvos os arquivos recuperados no final do processo, usando o comando "chown -R", seguido do usuário de sistema que você utiliza e a pasta onde os arquivos foram salvos, como em:
    # chown -R joao /home/joao/tmp
    A partir daí você pode acessar os arquivos normalmente, através do gerenciador de arquivos, sem precisar mais do terminal aberto como root.
    O maior problema é que o Photorec recupera apenas os arquivos propriamente ditos, sem conseguir recuperar a estrutura de pastas ou os nomes, fazendo com que, no final, você acabe com uma salada de arquivos.
    Se você precisa apenas recuperar alguns documentos específicos, isto não chega a ser um grande problema, pois você pode encontrá-los rapidamente pela extensão e pelo tamanho do arquivo. Mas, se você precisa recuperar uma série de pastas, com um grande volume de arquivos pequenos, ele já não é a melhor opção.
    Uma dica é que você pode selecionar manualmente os tipos de arquivos que ele deve procurar. Desmarcando as extensões que não interessam, você reduz o número de arquivos recuperados (e assim reduz o trabalho necessário para encontrar os que realmente precisa). Para isso, use a opção "[ File Opt ]" na tela de escolha da partição (a última antes de começar a busca):
    É recomendável que você desmarque a opção "txt", pois o Photorec tende a encontrar um grande número de arquivos de log e fragmentos de arquivos parcialmente deletados, que acabam gerando, muitas vezes, alguns milhares de pequenos arquivos .txt no final do processo.


Nenhum comentário:

Postar um comentário