Noções básicas
Existem dois tipos de programas de recuperação de dados:
- Aqueles que examinam o sistema de arquivos em busca de pistas sobre arquivos para recuperar
- Aqueles que usam assinaturas
Programas do sistema de arquivos
O antigo tipo examina o sistema de arquivos no disco para obter informações sobre arquivos e pastas a serem recuperados. Eles podem olhar para o FAT / MFT, mas geralmente quando um arquivo é perdido, essa informação é perdida e, portanto, esses programas, muitas vezes, examinam os clusters no disco para encontrar o que parecem diretórios. Em seguida, eles examinarão as entradas do diretório para identificar os arquivos marcados como excluídos. Se os arquivos indicados não foram sobrescritos, então deve ter dados suficientes no diretório (nome, cluster inicial e tamanho) para recuperar o arquivo. O mesmo vale para os subdiretórios: deve haver informações suficientes (nome, cluster inicial) para identificar o subdiretório e repetir o processo mencionado acima para os arquivos lá existentes.
Existem duas grandes desvantagens para este método:
- Isso só funciona se os arquivos e pastas forem contíguos . Ou seja, se eles estiverem fragmentados, o programa só poderá recuperar o start do arquivo / pasta até o final da cadeia contígua. Não tem como encontrar o próximo cluster na cadeia.
- Não é possível saber quais arquivos foram excluídos recentemente e que devem ser recuperados, portanto, ele lista tudo o que encontra marcado como excluído. Como tal, ele pode conter arquivos / pastas que foram deletados há muito tempo e que por tanto tempo foram sobrescritos.
Programas de assinatura
O último tipo de programa de recuperação de dados ignora completamente o sistema de arquivos e, em vez disso, procura por arquivos types . Ele geralmente contém uma lista de assinaturas de arquivos (por exemplo, cabeçalhos, números mágicos, etc.) que são típicos de diferentes tipos de arquivos. Em seguida, ele verifica o disco, procurando esses padrões de bytes e, sempre que encontrar um, adiciona esse cluster e vários clusters subseqüentes como um arquivo e exibe a lista de arquivos.
Este método tem um conjunto diferente de desvantagens:
- Não há informações sobre o nome, local, data ou tamanho do arquivo, pois ele é encontrado de acordo com o conteúdo do arquivo bruto, em vez dos dados do sistema de arquivos.
- Como não há informações sobre os nomes, eles fornecem um nome artificial, como
file0001
,file0002
, etc. - Como não há informações sobre o local, ele será despejado em uma única pasta gigante (embora alguns possam classificá-los de acordo com o tipo de arquivo).
- Como não há informações sobre o tamanho do arquivo, ele é arredondado para o cluster mais próximo, adicionando assim entre 511 e 65.535 bytes de lixo até o final.
- Ele pode encontrar arquivos antigos que foram excluídos há muito tempo ou até mesmo arquivos que são versões quase idênticas, mas diferentes. Por exemplo, se você estivesse trabalhando em um arquivo e o salvasse inúmeras vezes após cada lote de modificações, talvez acabasse encontrando muitas dessas alterações como arquivos separados e, então, teria que descobrir qual é a versão mais recente.
- Como o método do sistema de arquivos, ele requer que os arquivos sejam contíguos porque não possui informações sobre cadeias de clusters.
Comparação
Os dois métodos têm seus prós e contras, e que você usa depende de você, pois dependerá do seu disco e arquivos. Você provavelmente é mais bem atendido usando pelo menos um programa de cada tipo para maximizar seu sucesso. Dessa forma, você encontrará a maioria dos arquivos recuperando tanto o conteúdo quanto os meta-dados (nomes de arquivos etc.). Talvez seja necessário fazer algumas comparações e trabalhar manualmente para copiar os meta-dados corretos para o conteúdo correto, mas é sua melhor aposta na recuperação máxima. No lado negativo, usar vários programas resultará em muita desordem e falsos positivos que precisam ser classificados, portanto cabe a você decidir o valor dos arquivos perdidos.
Aplicativo
Why do recovery programs often recover files without the original names/structure?
For instance, I use PhotoRec, I think it is a very good application for recovery purposes but everything it finds it recovers without their names and structure.
Why is that?
Porque o PhotoRec é um tipo de assinatura de programa de recuperação de dados.
I understand the 'source' for the names is the Master File Table where it stores names/structures/attributes etc. Is this true? For true recovery, with structure and names, is it necessary to have the MFT intact?
Sim e sim.
A recuperação de arquivos excluídos geralmente é mais bem-sucedida com o NTFS do que com o FAT pelas razões descritas por você, mas o PhotoRec é um programa de estilo de assinatura, portanto não se refere à MFT para metadados sobre arquivos / pastas.
Além disso, a menos que você pare imediatamente de usar o disco que contém os arquivos excluídos e faça a recuperação imediatamente, há uma chance de que os clusters que contêm os arquivos e / ou as entradas da MFT referentes a eles possam ser reciclado e substituído. (O Windows tem um hábito desagradável e desconcertante de sobrescrever arquivos apagados de forma misteriosa imediatamente. Em muitas ocasiões, fui tão longe ao pressionar o botão Redefinir - para evitar a sobrescrita do Windows durante o desligamento - depois de excluir acidentalmente um arquivo e ainda descobriu que o arquivo em questão foi sobrescrito.