Estrutura do sistema de arquivos ReFS e algoritmo de recuperação de dados

“ReFS” ou “Sistema de Arquivos Resiliente” – é um novo sistema de arquivos criado com o código do sistema de arquivos “NTFS”. Tem vantagens e desvantagens. Este sistema de arquivos foi projetado para resolver problemas básicos de “NTFS”. É mais resistente à corrupção de dados, lida melhor com cargas de trabalho aumentadas e é facilmente escalonável para sistemas de arquivos muito grandes.

Estrutura do sistema de arquivos ReFS e algoritmo de recuperação de dados

1. Introdução

O sistema de arquivos ReFS é um desenvolvimento posterior do “NTFS”. Ele suporta pontos de análise, uma tecnologia anteriormente contida apenas no sistema de arquivos “NTFS”. O suporte para links simbólicos e pontos de montagem no Windows é implementado por meio de pontos de análise.

Característica Descrição
Nome ReFS (Resilient File System)
Desenvolvedor Microsoft
Primeira Introdução Windows Server 2012
Principais Vantagens Alta confiabilidade, correção automática de erros
Suporte de Volume Até 35 PB (petabytes)
Suporte a Metadados Alto, suporta metadados em múltiplos níveis
Recuperação de Dados Automática, baseada em verificações de integridade
Desempenho Otimizadas para grandes volumes de dados e sistemas RAID
Compatibilidade Windows Server 2012 e versões posteriores, Windows 8 e versões posteriores
Sistema de Arquivos Não suporta algumas funções do NTFS, como pastas ativas, criptografia EFS
Suporte a SSD Otimizado para SSDs, inclui funcionalidade TRIM
Criptografia Não suporta BitLocker, mas pode trabalhar com VSS
Clonagem Suporta snapshots
Vá para ver
💿 Software de recuperación de datos de matrices RAID dañadas 💿

💿 Software de recuperación de datos de matrices RAID dañadas 💿

2. Funções principais:

  • Integridade de metadados com somas de verificação.
  • Streams de integridade: um método de gravação de dados em um disco para proteção adicional de dados se parte do disco for danificado.
  • Modelo transacional “alocar na gravação” (cópia na gravação).
  • Grandes limites para o tamanho de partições, arquivos e diretórios.
  • Clusters e virtualização para facilitar o particionamento e o gerenciamento do sistema de arquivos.
  • Segmentação de dados seriais “data sriping” para melhor desempenho, gravações redundantes para tolerância a falhas.
  • Suporte para técnica de limpeza de disco em segundo plano “limpeza de disco” para detectar erros ocultos.
  • Recuperação de dados em torno da área danificada do disco.
  • Conjuntos de armazenamento compartilhados entre máquinas para tolerância a falhas adicional e balanceamento de carga.
  • Suporta um conjunto de funções comumente usadas “NTFS”.
  • Verificação e autocorreção de dados.
  • Escalabilidade máxima.
  • Incapacidade de desligar completamente o sistema de arquivos devido ao isolamento incorreto da seção.
  • Arquitetura flexível que usa a função “Espaços de armazenamento”, que foi concebida e implementada especificamente para “ReFS”.

Além disso, “ReFS” herdará muitas funções e semânticas de “NTFS”, incluindo criptografia “BitLocker”, acesso a listas de controle “ACL”, registro “USN”, notificações de mudança, links simbólicos, pontos de conexão “pontos de junção”, pontos de montagem “pontos de montagem”, pontos de análise “pontos de nova análise”, instantâneos de volume, “ID” de arquivos e “oplock”.

Obviamente, os dados do “ReFS” estarão disponíveis para os clientes por meio da mesma “API” que é usada atualmente por todos os sistemas operacionais para acessar o Partições “NTFS”.

3. Recursos:

Vá para ver

Características do sistema de arquivos “ReFS”:

  • O sistema de arquivos usa somas de verificação para metadados e também pode usar somas de verificação para dados de arquivo. Ao ler ou gravar um arquivo, o sistema verifica a soma de verificação para certificar-se de que está correta. Assim, a detecção de dados corrompidos é realizada em tempo real.

  • Se forem encontrados dados corrompidos que não tenham uma cópia alternativa para recuperação, esses dados serão imediatamente removidos do disco. Neste caso, você não precisará reinicializar ou desconectar o dispositivo, como é o caso de “NTFS”.

  • A necessidade de usar o utilitário chkdsk acabou, porque o sistema de arquivos é corrigido automaticamente no momento do erro. O novo sistema é resistente a outros tipos de corrupção de dados.

  • Maior confiabilidade de armazenamento de dados. “ReFS” usa árvores B+ para metadados e conteúdo de arquivo. Tamanhos de arquivo, volumes e o número de arquivos em um diretório são limitados a números de 64 bits. E o espaço livre em disco é descrito por 3 tabelas hierárquicas separadas para pequenos, médios e grandes pedaços de espaço livre. Os nomes dos arquivos e o comprimento do caminho são limitados a 32 kibbytes, que são armazenados usando “Unicode”.

  • O novo sistema de arquivos é resistente à corrupção de dados de outras maneiras também. Por exemplo, quando você atualiza os metadados de um arquivo, por exemplo o nome do arquivo, o sistema de arquivos “NTFS” modificará diretamente os metadados do arquivo. Se o seu computador travar ou desligar durante esse processo, pode ocorrer corrupção de dados. Quando você atualiza os metadados de um arquivo, o ReFS cria uma nova cópia dos metadados. E atribuirá os metadados atualizados ao arquivo somente depois que todos os novos forem gravados. Não há perigo de os metadados do arquivo serem corrompidos. Isso é chamado de “cópia na gravação”.

  • “ReFS” se integra com a tecnologia de virtualização de mídia “Espaços de armazenamento”, que permite a duplicação e consolidação de várias mídias físicas de um PC ou mais em uma rede.

  • O sistema não suporta sequências nomeadas de arquivos, nomes curtos, “Sistema de arquivos com criptografia”, compactação e criptografia em nível de arquivo ou transações “NTFS”, rígidas links, «atributos estendidos» e cotas de disco.

4. Diferenças NTFS

Vá para ver
🌐 Cómo recuperar datos NAS/SAN. Cómo configurar el almacenamiento en red 🌐

🌐 Cómo recuperar datos NAS/SAN. Cómo configurar el almacenamiento en red 🌐

  • “ReFS” é mais moderno do que “NTFS” e suporta nomes e tamanhos de arquivos muito maiores. A longo prazo, essas são melhorias importantes.

  • O sistema de arquivos “NTFS” é limitado a 255 caracteres. Com “ReFS”, o nome do arquivo pode conter mais de 30 mil. caracteres (32768).

  • “NTFS” tem uma capacidade máxima teórica de 16 exabytes, enquanto “ReFS” tem uma capacidade máxima teórica de mais de duzentos mil (262.144) exabytes. Agora, isso não importa muito e foi projetado para o futuro.

  • “ReFS” carece de algumas das funções disponíveis no “NTFS”, incluindo compactação e criptografia do sistema de arquivos, links físicos, atributos estendidos, desduplicação de dados e cotas de disco . No entanto, “ReFS” oferece suporte a várias funções. Por exemplo, se você não puder criptografar certos dados no nível do sistema de arquivos, “ReFS” oferecerá suporte ao tipo de criptografia completo “BitLocker”.

  • O Windows 10 não permitirá que você formate nenhuma partição antiga como “ReFS”. Atualmente, você pode usar “ReFS” apenas para armazenamento, onde sua funcionalidade ajuda a proteger os dados contra corrupção. No Windows Server 2016, você pode formatar volumes usando “ReFS” em vez de “NTFS”. Você não pode usar “ReFS” para o volume de inicialização porque o Windows só pode inicializar a partir da unidade “NTFS”.

  • Atualmente, este tipo de sistema de arquivos é usado apenas em versões de servidor do Windows e Windows Enterprise (LTSC).

5. Arquitetura do sistema de arquivos

Apesar das menções frequentes da semelhança de “ReFS” e “NTFS” em alto nível, estamos falando apenas sobre a compatibilidade de algumas estruturas de metadados. A implementação de disco da estrutura ReFS é fundamentalmente diferente de outros sistemas de arquivos da Microsoft.

Os principais blocos de construção deste sistema de arquivos são as árvores B+. Todos os elementos da estrutura do sistema de arquivos podem ser de nível único (folhas) ou de vários níveis (árvores). Essa abordagem permite dimensionar quase tudo no sistema de arquivos. Junto com o endereçamento real de 64 bits de todos os elementos do sistema, isso exclui “gargalos” durante o escalonamento subsequente.

Arquitetura do sistema de arquivos

Além da entrada raiz B + da árvore, todas as outras entradas têm um tamanho de bloco de metadados de 16 KB. Os nós intermediários (endereço) são pequenos, em torno de 60 bytes. Portanto, alguns níveis de árvore geralmente são necessários para descrever até mesmo estruturas muito grandes. Essa abordagem aumenta o desempenho geral do sistema.

O principal elemento estrutural do sistema de arquivos é o “diretório”, representado como uma árvore B + com uma chave na forma de um número de objeto de pasta. Ao contrário de outros sistemas de arquivos semelhantes, um arquivo em “ReFS” não é um elemento-chave separado do “diretório”, mas existe apenas como uma entrada. Talvez devido a esta característica arquitetônica, “ReFS” não suporta “links físicos”.

Diretórios “com folhas” são entradas escritas. Existem três tipos básicos de entradas para um objeto de pasta: descritor de diretório, entrada de índice e descritor de objeto aninhado. Todos esses registros são empacotados em uma árvore separada com um identificador de pasta. A raiz é a “folha” desta árvore. Isso permite que você grave quase qualquer número de gravações. No nível inferior das planilhas está uma entrada de descritor de diretório que contém informações básicas sobre o diretório, como nome, informações padrão, atributo de nome de arquivo, etc.

Mais adiante no diretório estão as chamadas entradas de índice: estruturas curtas com os dados dos elementos do diretório. Em comparação com o NTFS, esses logs são significativamente mais curtos, reduzindo a sobrecarga de metadados do volume. Os artigos mais recentes são entradas do catálogo. Para pastas, esses itens contêm o nome da pasta, bem como o ID da pasta no “diretório” e a estrutura das “informações padrão”. Não há identificador para o arquivo, em vez disso, a estrutura contém todos os dados básicos sobre o arquivo, incluindo os fragmentos do arquivo da árvore raiz. Portanto, um arquivo pode consistir em quase qualquer número de fragmentos.

Os arquivos no disco são organizados em blocos de 64 KB. Eles são endereçados da mesma maneira que blocos de metadados agrupados de 16K. A “residência” dos dados do arquivo em “ReFS” não é compatível, portanto, um arquivo de 1 byte no disco ocupará todo o bloco de 64 KB, o que resulta em redundância de armazenamento significativa para arquivos pequenos. Por outro lado, simplifica o gerenciamento do espaço livre e o processo de atribuição de novos arquivos é muito mais rápido.

O tamanho dos metadados de um sistema de arquivos vazio é de aproximadamente 0,1% do tamanho do próprio sistema de arquivos (ou seja, aproximadamente 2 GB em um volume de 2 TB). Alguns dos metadados subjacentes são duplicados para melhorar a resistência a falhas.

6. Estrutura do sistema de arquivos ReFS

O sistema de arquivos “ReFS” pode ser identificado pela seguinte assinatura no início da seção:

00 00 00 52  65 46 53 00  00 00 00 00  00 00 00 00 ...ReFS.........
46 53 52 53  XX XX XX XX  XX XX XX XX  XX XX XX XX FSRS

As páginas ReFS têm 0x4000 bytes.

As páginas ReFS têm 0x4000 bytes

Em todos os sistemas testados, o número da primeira página é 0x1e (0x78000 bytes após a partição de inicialização que contém o sistema de arquivos). Esta é a documentação interna da Microsoft, que afirma que o primeiro diretório de metadados está em um deslocamento fixo no disco.

Outras páginas contêm várias tabelas e estruturas de sistema, diretórios e volumes, bem como versões "registradas" de cada página.

O primeiro byte de cada página é seu número.

Os primeiros 0x30 bytes de cada página de metadados são o cabeçalho da página, que se parece com isto:

byte  0: XX XX 00 00  00 00 00 00  YY 00 00 00  00 00 00 00
byte 16: 00 00 00 00  00 00 00 00  ZZ ZZ 00 00  00 00 00 00
byte 32: 01 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00

  • dword 0 (XX XX) - um número de página que é sequencial e corresponde ao deslocamento de página 0x4000;

  • dword 2 (YY) - número de registro ou número de série;

  • dword 6 (ZZ ZZ) - este é "um número de página virtual", o que não é consistente.

Tabela de objetos «Tabela de objetos» , página virtual número 0x02: Associa os identificadores de objetos às páginas nas quais estão localizados. Aqui, vemos uma "AttributeList" consistindo em "pares de chave/valor" .

Por meio do qual você pode encontrar o «ID» do objeto do diretório raiz e obter a página onde ele está localizado:

50 00 00 00 10 00 10 00 00 00 20 00 30 00 00 00 - comprimento total / limites de chaves e valores
00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 - identificador do objeto
F4 0A 00 00 00 00 00 00 00 00 00 02 08 08 00 00 - identificador de página / sinalizadores
CE 0F 85 14 83 01 DC 39 00 00 00 00 00 00 00 00 - soma de verificação
08 00 00 00 08 00 00 00 04 00 00 00 00 00 00 00

A entrada da tabela de objetos para o diretório raiz que contém sua página (0xAF4)

Ao recuperar as páginas por ID ou número virtual, procure aquelas com o maior número de sequência, pois são as últimas cópias do mecanismo de "gravação de sombra".

Os diretórios da raiz em diante seguem um padrão sequencial. Eles consistem em listas sequenciais de estruturas de dados, cujo comprimento é determinado pelo valor do primeiro atributo (atributos e listas de atributos).

A lista geralmente é prefixada por um atributo de cabeçalho que define o comprimento total dos seguintes atributos que compõem a lista.

Em ambos os casos, os atributos podem ser analisados analisando novamente os bytes após o cabeçalho da página do diretório, lendo e processando o primeiro valor para determinar o próximo número de bytes.

Atributos diferentes assumem semânticas diferentes, incluindo links para subdiretórios e arquivos, e navegações para páginas adicionais que contêm mais conteúdo de diretório.

As estruturas de listagem de diretório têm um dos seguintes formatos:

7. Atributo base

O atributo básico mais simples consiste em um bloco, cujo comprimento é indicado no início.

Aqui está um exemplo de um atributo típico:

a8 00 00 00  28 00 01 00  00 00 00 00  10 01 00 00
10 01 00 00  02 00 00 00  00 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00  a9 d3 a4 c3  27 dd d2 01
5f a0 58 f3  27 dd d2 01  5f a0 58 f3  27 dd d2 01
a9 d3 a4 c3  27 dd d2 01  20 00 00 00  00 00 00 00
00 06 00 00  00 00 00 00  03 00 00 00  00 00 00 00
5c 9a 07 ac  01 00 00 00  19 00 00 00  00 00 00 00
00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00  01 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00

A seção aqui é 0xA8 e contém quatro carimbos de data / hora de arquivo. Mais detalhes podem ser vistos abaixo:

a9 d3 a4 c3  27 dd d2 01 - 2017-06-04 07:43:20
5f a0 58 f3  27 dd d2 01 - 2017-06-04 07:44:40
5f a0 58 f3  27 dd d2 01 - 2017-06-04 07:44:40
a9 d3 a4 c3  27 dd d2 01 - 2017-06-04 07:43:20

É seguro presumir que:

  • um dos primeiros campos de qualquer atributo contém um identificador que detalha qual atributo deve ser analisado, ou
  • o contexto é especificado pela posição do atributo na lista.
  • atributos que correspondem ao valor fornecido são encontrados neste endereço ou identificador

8. Gravações

"Pares de chave/valor" - seus valores são especificados nos primeiros 0x20 bytes do atributo. Eles são usados para seções relacionadas de metadados com arquivos cujos nomes são escritos em chaves e cujo conteúdo é escrito com valor.

Aqui está um exemplo de uma entrada típica:

40 04 00 00  10 00 1A 00  08 00 30 00  10 04 00 00  @.........0.....
30 00 01 00  6D 00 6F 00  66 00 69 00  6C 00 65 00  0...m.o.f.i.l.e.
31 00 2E 00  74 00 78 00  74 00 00 00  00 00 00 00  1...t.x.t.......
A8 00 00 00  28 00 01 00  00 00 00 00  10 01 00 00  ¨...(...........
10 01 00 00  02 00 00 00  00 00 00 00  00 00 00 00  ................
00 00 00 00  00 00 00 00  A9 D3 A4 C3  27 DD D2 01  ........©Ó¤Ã'ÝÒ.
5F A0 58 F3  27 DD D2 01  5F A0 58 F3  27 DD D2 01  _ Xó'ÝÒ._ Xó'ÝÒ.
A9 D3 A4 C3  27 DD D2 01  20 00 00 00  00 00 00 00  ©Ó¤Ã'ÝÒ. .......
00 06 00 00  00 00 00 00  03 00 00 00  00 00 00 00  ................
5C 9A 07 AC  01 00 00 00  19 00 00 00  00 00 00 00  ..¬............
00 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00 00 00 00  00 00 00 00  01 00 00 00  00 00 00 00  ................
00 00 00 00  00 00 00 00  20 00 00 00  A0 01 00 00  ........ ... ...
D4 00 00 00  00 02 00 00  74 02 00 00  01 00 00 00  Ô.......t.......
78 02 00 00  00 00 00 00  ...(cutoff)               x.......

Aqui, vemos os parâmetros de gravação definidos na primeira linha:

  • comprimento total - 4 bytes = 0x440
  • deslocamento de chave - 2 bytes = 0x10
  • comprimento da chave 2 bytes = 0x1A
  • sinalizadores/identificadores - 2 bytes = 0x08
  • deslocamento de valor - 2 bytes = 0x30
  • comprimento do valor 2 bytes = 0x410

A escrita termina após o valor, 0x410 bytes do início e após o valor 0x30 ou 0x440 (que é igual ao comprimento total).

A entrada corresponde ao arquivo criado no disco.

Aqui, o primeiro atributo no valor de entrada é o atributo simples discutido anteriormente que contém os carimbos de data/hora do arquivo. Em seguida, siga «Cabeçalho da lista de atributos de referência de arquivo».

Por tags, procuramos registros com valores «w/flag» '0' ou '8'. Muitas vezes, um '4' aparece para indicar um registro histórico ou um registro que foi modificado desde então.

Visto que os registros são prefixados com seu comprimento total, eles podem ser considerados como uma subclasse de «Atributo».

"AttributeList" (cabeçalho da lista) - contém o bloco de atributos.

À primeira vista, esses são atributos simples com comprimento de 0x20, mas examinando mais de perto, podemos ver que contém o comprimento de um grande bloco de atributos. Depois de analisar "AttributeList", resta ler os bytes de preenchimento restantes na lista antes de passar para o próximo atributo.

20 00 00 00  A0 01 00 00  D4 00 00 00  00 02 00 00
74 02 00 00  01 00 00 00  78 02 00 00  00 00 00 00
80 01 00 00  10 00 0E 00  08 00 20 00  60 01 00 00
60 01 00 00  00 00 00 00  80 00 00 00  00 00 00 00
88 00 00 00  ...

9. Directory Tree Branches (Ramificações da árvore do diretório)

As ramificações de uma árvore de diretório são listas de atributos, onde cada atributo corresponde a uma entrada cujo valor se refere a uma página que contém conteúdo de diretório adicional.

Quando um cabeçalho «AttributeList» com o valor do sinalizador é encontrado «0x301» , devemos

  • selecione atributos da lista,
  • analise seus registros,
  • use "dword" em cada valor como uma página para repetir o processo de passagem de diretório.

Arquivos e subdiretórios adicionais encontrados nas páginas especificadas devem ser adicionados à lista de conteúdo do diretório atual.

10. Subdiretórios

"SubDiretórios" - são entradas na lista de atributos do diretório cuja chave contém o indicador de metadados do diretório (0x20030) e o nome do subdiretório.

O valor desta entrada é o identificador de objeto correspondente que pode ser usado para localizar a página que contém o subdiretório na tabela de objeto.

Subdiretório típico «Registro» :

70 00 00 00  10 00 12 00  00 00 28 00  48 00 00 00
30 00 02 00  73 00 75 00  62 00 64 00  69 00 72 00 - aqui vemos uma chave que contém um sinalizador (30 00 02 00) seguido pelo nome do diretório ("subdir2")
32 00 00 00  00 00 00 00  03 07 00 00  00 00 00 00 - aqui vemos o id do objeto e o primeiro valor qword (0x730)
00 00 00 00  00 00 00 00  14 69 60 05  28 dd d2 01 - aqui vemos os carimbos de data / hora do diretório
cc 87 ce 52  28 dd d2 01  cc 87 ce 52  28 dd d2 01
cc 87 ce 52  28 dd d2 01  00 00 00 00  00 00 00 00
00 00 00 00  00 00 00 00  00 00 00 10  00 00 00 00

Esses diretórios são entradas cuja chave contém um sinalizador (0x10030) seguido por um nome de arquivo.

No entanto, o significado é muito mais complexo, descobrimos alguns atributos básicos que nos permitem recuperar carimbos de data/hora e conteúdo do sistema de arquivos, mas a semântica do significado desta entrada ainda não foi finalizada.

O valor "File Record" consiste em vários atributos, embora apareçam apenas um após o outro, sem título de lista. Ainda podemos analisá-los sequencialmente, uma vez que todos os atributos são prefixados individualmente com seu comprimento, e o comprimento do valor de registro do arquivo nos dá o tamanho total do bloco.

O primeiro atributo contém 4 carimbos de data / hora de arquivo com um deslocamento especificado pelo quinto byte do atributo (embora essa posição possa ser aleatória, já que os carimbos de data / hora podem simplesmente estar em um local fixo neste atributo).

O segundo atributo é o cabeçalho da lista de atributos que contém "o link para o arquivo".

Neste atributo, o primeiro contém o comprimento do arquivo e o segundo é o título de outra lista. Este atributo também contém uma entrada cujo valor contém um link para a página onde o conteúdo do arquivo está localizado.

----------------------------------------
| ...                                  |
----------------------------------------
| File Entry Record                    |
| Key: 0x10030 [FileName]              |
| Value:                               |
| Attribute1: Timestamps               |
| Attribute2:                          |
|   File Reference List Header         |
|   File Reference List Body(Record)   |
|     Record Key: ?                    |
|     Record Value:                    |
|       File Length Attribute          |
|       File Content List Header       |
|       File Content Record(s)         |
| Padding                              |
----------------------------------------
| ...                                  |
----------------------------------------

Apesar da complexidade, cada nível pode ser analisado da mesma maneira que todos os outros atributos e registros, você só precisa analisar os atributos e determinar corretamente seus níveis e estrutura.

Em termos de valores reais, o comprimento do arquivo é sempre visível em um deslocamento fixo dentro de seu atributo (0x3c) e o ponteiro de conteúdo está no segundo valor "qword" do arquivo. gravação. Este índice é um link simples para uma página cujo conteúdo do arquivo pode ser lido palavra por palavra.

Subdiretórios

Embora o "ReFS" ofereça segurança e eficiência de armazenamento aprimoradas, ele não pode proteger totalmente os dados confidenciais contra exclusão acidental, vírus ou outra perda potencial de informações. Tais situações devem ser levadas em consideração e obter uma ferramenta confiável para resolver problemas com arquivos excluídos.

11. Algoritmo de pesquisa para recuperação de dados Hetman Partition Recovery

A solução para este problema será um utilitário especial para recuperação rápida de dados.

Hetman Partition Recovery permite que você analise o espaço em disco gerenciado pelo sistema de arquivos "ReFS" usando um algoritmo de análise de assinatura. Ao analisar o dispositivo, setor por setor, o programa encontra sequências de bytes específicas e as exibe ao usuário. Recuperar dados do espaço em disco "ReFS" não é diferente de trabalhar com o sistema de arquivos "NTFS".

A ferramenta recupera dados de qualquer dispositivo, independentemente da causa da perda de dados.

Durante uma varredura rápida, o programa procura o cabeçalho do volume "Cabeçalho do Volume", que está no setor zero, e sua cópia está no último setor. O cabeçalho contém a informação necessária para uma análise posterior, nomeadamente o número de bytes no setor e o número de setores no cluster. Depois de determinados estes parâmetros, encontra o «Superbloco», que se encontra no bloco 30. O superbloco tem 2 cópias, uma no terceiro bloco a partir do final e a segunda no segundo bloco. O programa determina links para pontos de controle do superbloco, existem 2 pontos de controle, eles estão localizados nos endereços especificados que estão no superbloco. Ao ir para essas duas direções, o programa encontra «Virtual Allocated Clock», este parâmetro determina qual dos pontos de controle é o atual naquele momento. Como você sabe, o Windows primeiro altera 1 ponto de verificação e duplica as informações no segundo apenas se a gravação for bem-sucedida.

O ponto de verificação contém as tabelas principais. Ele lê o cabeçalho da página «Cabeçalho da página» e, em seguida, o bloco de dados. Para o bloco de dados, obtemos ponteiros para cada uma das tabelas (links para todas as tabelas principais).

Para traduzir endereços virtuais em endereços físicos, você deve pesquisar "Tabela Container". E então ele olha para o endereço virtual «Tabela de ID de objeto» para obter todas as tabelas.

Além disso, a busca de informações vai página a página, determinando o seu nível. Se este for o nível zero, uma folha, os dados de que precisamos são lidos. Caso contrário, o programa procura um caminho para o próximo nível até chegar a zero onde nossos dados estão localizados.

Mesmo se um desses elementos da estrutura do sistema de arquivos estiver danificado, o algoritmo do nosso programa durante uma varredura completa nos permite excluir esses links e obter as informações necessárias que devem ser restauradas.

O futuro do novo sistema de arquivos não é muito claro. A Microsoft pode atualizar o "ReFS" para substituir o obsoleto "NTFS" em todas as versões do Windows. Atualmente, "ReFS" não pode ser usado universalmente e serve apenas para determinados fins.

Vá para ver
🗄️ Cómo crear y restaurar una copia de seguridad Windows Server 🗄️

🗄️ Cómo crear y restaurar una copia de seguridad Windows Server 🗄️

Raidel Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra é um escritor técnico para a Hetman Software e a voz e rosto do Hetman Software: Canal YouTube de recuperação de dados. Escreve artigos aprofundados, tutoriais e resenhas sobre como funciona o software da empresa com todos os tipos de dispositivos de armazenamento.

Mykhailo Miroshnichenko

Editor: , Escritor técnico

Mykhailo Miroshnychenko é um dos principais programadores da Hetman Software. Com base em quinze anos de experiência em desenvolvimento de software, partilha os seus conhecimentos com os leitores do nosso blogue. Para além da programação, Mikhail é um especialista em recuperação de dados, sistemas de ficheiros, dispositivos de armazenamento e matrizes RAID.

Recomendado para você

Bem-vindo ao assistente com tecnologia de IA da Hetman Software.
Iniciar bate-papo