Estructura y Algoritmo de Recuperación de Datos en Sistema de Archivos ReFS
«ReFS» o «Resilient File System» – es un nuevo sistema de archivos creado con el código del sistema de archivos «NTFS». Tiene ventajas y desventajas. Este sistema de archivos está diseñado para resolver los problemas básicos de «NTFS». Es más resistente a la corrupción de datos, maneja mejor el aumento de la carga de trabajo y es fácilmente escalable para sistemas de archivos muy grandes.
- 1. Introducción
- 2. Funciones principales:
- 3. Caracteristicas:
- 4. Diferencias de NTFS
- 5. Arquitectura del sistema de archivos
- 6. Estructura del sistema de archivos ReFS
- 7. Atributo base (Base Attribute)
- 8. Grabaciones
- 9. Directory Tree Branches (Ramas de un árbol de directorios)
- 10. SubDirectories
- 11. Algoritmo de búsqueda para la recuperación de datos Hetman Partition Recovery
- Preguntas y respuestas
- Comentarios
1. Introducción
El sistema de archivos ReFS es un desarrollo posterior de «NTFS». admite puntos de análisis, una tecnología que anteriormente solo estaba contenida en el sistema de archivos «NTFS». El soporte para enlaces simbólicos y puntos de montaje en Windows se implementa a través de puntos de análisis.
Característica | Descripción |
---|---|
Nombre | ReFS (Resilient File System) |
Desarrollador | Microsoft |
Primera introducción | Windows Server 2012 |
Ventajas principales | Alta confiabilidad, corrección automática de errores |
Soporte de volumen | Hasta 35 PB (petabytes) |
Soporte de metadatos | Alto, soporta metadatos multinivel |
Recuperación de datos | Automática, basada en verificaciones de integridad |
Rendimiento | Optimizado para grandes volúmenes de datos y sistemas RAID |
Compatibilidad | Windows Server 2012 y versiones posteriores, Windows 8 y versiones posteriores |
Sistema de archivos | No admite algunas funciones de NTFS, como carpetas activas, cifrado EFS |
Soporte SSD | Optimizado para SSD, incluye funcionalidad TRIM |
Cifrado | No admite BitLocker, pero puede trabajar con VSS |
Clonación | Soporta instantáneas (snapshots) |
2. Funciones principales:
- Integridad de metadatos con sumas de comprobación.
- Integrity streams: un método para escribir datos en un disco para protección adicional de datos si una parte del disco está dañada.
- Modelo transaccional «allocate on write» (copy on write).
- Grandes límites en el tamaño de particiones, archivos y directorios.
- Agrupaciones y virtualización para facilitar las particiones y la gestión del sistema de archivos.
- Segmentación de datos en serie «data sriping» para un mejor rendimiento, escrituras redundantes para tolerancia a fallas.
- Soporte de la técnica de depuración de disco en segundo plano «disk scrubbing» para detectar errores ocultos.
- Recuperación de datos alrededor del área dañada del disco.
- Grupos de almacenamiento compartido entre máquinas para una tolerancia adicional a fallas y equilibrio de carga.
- Compatible con un conjunto de funciones de uso común «NTFS».
- Verificación de datos y autocorrección.
- Máxima escalabilidad.
- Incapacidad para apagar completamente el sistema de archivos debido al aislamiento de secciones defectuosas.
- Arquitectura flexible que utiliza la función «Storage Spaces», que fue concebida e implementada específicamente para «ReFS».
Adicionalmente, «ReFS» heredará muchas funciones y semánticas de «NTFS», incluido el cifrado «BitLocker», listas de control de acceso «ACL», registro «USN», notificaciones de cambio, enlaces simbólicos, puntos de conexión «junction points», puntos de montaje «mount points», puntos de análisis «reparse points», instantáneas de volumen, «ID» de archivos y «oplock».
Por supuesto, los datos de «ReFS» estarán disponibles para los clientes a través de la misma «API» que se utiliza actualmente en todos los sistemas operativos para acceder a las particiones «NTFS».
3. Caracteristicas:
Características del sistema de archivos «ReFS»:
El sistema de archivos usa sumas de verificación para los metadatos y también puede usar sumas de verificación para los datos del archivo. Al leer o escribir un archivo, el sistema verifica la suma de comprobación para asegurarse de que sea correcta. Así, se lleva a cabo la detección de datos corruptos en tiempo real.
Si se encuentran datos dañados que no tienen una copia alternativa para la recuperación, dichos datos se eliminarán inmediatamente del disco. En este caso, no necesitará reiniciar o desconectar el dispositivo, como es el caso de «NTFS».
La necesidad de utilizar la utilidad chkdsk desaparece por completo, porque el sistema de archivos se corrige automáticamente de inmediato en el momento del error. El nuevo sistema es resistente a otros tipos de corrupción de datos.
Mayor confiabilidad del almacenamiento de datos. «ReFS» utiliza árboles B + para metadatos y contenido de archivos. Los tamaños de los archivos, los volúmenes y la cantidad de archivos en un directorio están limitados a números de 64 bits. Y el espacio libre en disco se describe mediante 3 tablas jerárquicas separadas para trozos pequeños, medianos y grandes de espacio libre. Los nombres de archivo y la longitud de la ruta están limitados a 32 kibbytes, que se almacenan usando «Unicode».
El nuevo sistema de archivos también es resistente a la corrupción de datos de otras formas. Por ejemplo, cuando actualiza los metadatos de un archivo, por ejemplo, el nombre del archivo, el sistema de archivos «NTFS» modificará directamente los metadatos del archivo. Si su computadora falla o se apaga durante este proceso, pueden ocurrir daños en los datos. Cuando actualiza los metadatos de un archivo, ReFS creará una nueva copia de los metadatos. Y asignará los metadatos actualizados al archivo solo después de que se hayan escrito todos los nuevos. No hay peligro de que se corrompan los metadatos del archivo. Esto se denomina «Copy-on-write».
«ReFS» se integra con la tecnología de virtualización de medios «Storage Spaces», que permite la duplicación y consolidación de múltiples medios físicos desde una PC o más a través de una red.
El sistema no admite secuencias de archivos con nombre, nombres cortos, «Encrypting File System», compresión y cifrado a nivel de archivos, ni transacciones «NTFS», enlaces físicos, «extended attributes» y cuotas de disco.
4. Diferencias de NTFS
«ReFS» es más moderno que «NTFS» y admite tamaños y nombres de archivo mucho más grandes. A largo plazo, se trata de importantes mejoras.
El sistema de archivos «NTFS» está limitado a 255 caracteres. Con «ReFS», el nombre del archivo puede contener más de 30 mil. caracteres (32768).
«NTFS» tiene una capacidad máxima teórica de 16 exabytes, mientras que «ReFS» tiene una capacidad máxima teórica de más de doscientos mil (262,144) exabytes. Ahora bien, esto no importa mucho y está diseñado para el futuro.
«ReFS» carece de algunas de las funciones disponibles en «NTFS», incluida la compresión y el cifrado del sistema de archivos, los vínculos físicos, los atributos ampliados, la deduplicación de datos y las cuotas de disco. Sin embargo, «ReFS» es compatible con varias funciones. Por ejemplo, si no puede cifrar determinados datos en el nivel del sistema de archivos, «ReFS» será compatible con el tipo de cifrado completo «BitLocker».
Windows 10 no le permitirá formatear ninguna partición antigua como «ReFS». Actualmente, puede usar «ReFS» solo para almacenamiento, donde su funcionalidad ayuda a proteger los datos de la corrupción. En Windows Server 2016, puede formatear volúmenes usando «ReFS» en lugar de «NTFS». No puede usar «ReFS» para el volumen de arranque porque Windows solo puede arrancar desde la unidad «NTFS».
Actualmente, este tipo de sistema de archivos solo se usa en versiones de servidor de Windows y Windows Enterprise (LTSC).
5. Arquitectura del sistema de archivos
A pesar de las frecuentes menciones de la similitud de «ReFS» y «NTFS» en un alto nivel, estamos hablando solo de la compatibilidad de algunas estructuras de metadatos. La implementación de disco del marco ReFS es fundamentalmente diferente de otros sistemas de archivos de Microsoft.
Los principales bloques de construcción de este sistema de archivos son los árboles B +. Todos los elementos de la estructura del sistema de archivos pueden ser de un solo nivel (hojas) o de varios niveles (árboles). Este enfoque le permite escalar casi cualquier elemento del sistema de archivos. Junto con el direccionamiento real de 64 bits de todos los elementos del sistema, esto excluye la aparición de «cuellos de botella» durante su posterior escalado.
Además de la entrada raíz B + del árbol, todas las demás entradas tienen un tamaño de bloque de metadatos de 16 KB. Los nodos intermedios (dirección) son pequeños, alrededor de 60 bytes. Por lo tanto, generalmente se necesitan algunos niveles de árbol para describir incluso estructuras muy grandes. Este enfoque aumenta el rendimiento general del sistema.
El principal elemento estructural del sistema de archivos es el «directorio», representado como un árbol B + con una clave en forma de número de objeto de carpeta. A diferencia de otros sistemas de archivos similares, un archivo en «ReFS» no es un elemento clave separado del «directorio», sino que solo existe como una entrada. Quizás debido a esta característica arquitectónica, «ReFS» no es compatible con «enlaces físicos».
Los directorios «con hojas» son entradas escritas. Hay tres tipos básicos de entradas para un objeto de carpeta: descriptor de directorio, entrada de índice y descriptor de objeto anidado. Todos estos registros se empaquetan en un árbol separado con un identificador de carpeta. La raíz es la «hoja» de este árbol. Esto le permite grabar casi cualquier número de grabaciones. En el nivel inferior de las hojas hay una entrada del descriptor del directorio que contiene información básica sobre el directorio, como nombre, información estándar, atributo de nombre de archivo, etc.
Más adelante en el directorio están las llamadas entradas de índice: estructuras cortas con los datos de los elementos del directorio. En comparación con NTFS, estos registros son significativamente más cortos, lo que reduce la sobrecarga de metadatos del volumen. Los últimos artículos son entradas de catálogo. Para las carpetas, estos elementos contienen el nombre de la carpeta, así como el ID de la carpeta en el «directorio» y la estructura de la «información estándar». No hay un identificador para el archivo, sino que la estructura contiene todos los datos básicos sobre el archivo, incluidos los fragmentos del archivo del árbol raíz. Por lo tanto, un archivo puede constar de casi cualquier número de fragmentos.
Los archivos del disco están organizados en bloques de 64 KB. Se abordan de la misma manera que los bloques de metadatos en clústeres de 16K. No se admite la «residencia» de datos de archivo en «ReFS», por lo que un archivo de 1 byte en el disco ocupará todo el bloque de 64 KB, lo que da como resultado una redundancia de almacenamiento significativa para archivos pequeños. Por otro lado, simplifica la gestión del espacio libre y el proceso de asignación de nuevos archivos es mucho más rápido.
El tamaño de los metadatos de un sistema de archivos vacío es aproximadamente el 0,1% del tamaño del sistema de archivos en sí (es decir, aproximadamente 2 GB en un volumen de 2 TB). Algunos de los metadatos subyacentes se duplican para mejorar la resistencia a fallas.
6. Estructura del sistema de archivos ReFS
El sistema de archivos «ReFS» se puede identificar mediante la siguiente firma al principio de la sección:
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
Las páginas ReFS tienen una longitud de 0x4000 bytes.
En todos los sistemas probados, el primer número de página es 0x1e (0x78000 bytes después de la partición de arranque que contiene el sistema de archivos). Esta es la documentación incorporada de Microsoft, que establece que el primer directorio de metadatos está en un desplazamiento fijo en el disco.
Otras páginas contienen varias estructuras y tablas del sistema, directorios y volúmenes, así como versiones «registradas» de cada página.
El primer byte de cada página es su número.
Los primeros 0x30 bytes de cada página de metadatos son el encabezado de página, que se ve así:
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) - un número de página que es secuencial y corresponde al desplazamiento de página 0x4000;
dword 2 (YY) - número de registro o número de serie;
dword 6 (ZZ ZZ) - este es «un número virtualde página», que no es consistente.
Tabla de objetos «Object Table», número de página virtual 0x02: asocia identificadores de objetos con las páginas en las que se encuentran. Aquí vemos una «AttributeList» que consta de «Key / Value pairs».
Mediante el cual puede encontrar el «ID» del objeto del directorio raíz y obtener la página en la que se encuentra:
50 00 00 00 10 00 10 00 00 00 20 00 30 00 00 00 – longitud total / límites de claves y valores
00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 – identificador de objeto
F4 0A 00 00 00 00 00 00 00 00 02 08 08 00 00 00 – identificador de página / banderas
CE 0F 85 14 83 01 DC 39 00 00 00 00 00 00 00 00 – suma de control
08 00 00 00 08 00 00 00 04 00 00 00 00 00 00 00
La entrada de la tabla de objetos para el directorio raíz que contiene su página (0xAF4)
Cuando recupere páginas por ID o número virtual, busque las que tengan el número de secuencia más alto, ya que son las últimas copias del mecanismo «shadow-write».
Los directorios desde la raíz en adelante siguen un patrón secuencial. Consisten en listas secuenciales de estructuras de datos, cuya longitud está determinada por el valor del primer atributo (atributos y listas de atributos).
La lista suele tener como prefijo un atributo de encabezado que define la longitud total de los siguientes atributos que componen la lista.
En cualquier caso, los atributos se pueden analizar volviendo a analizar los bytes después del encabezado de la página del directorio, leyendo y procesando el primer valor para determinar el siguiente número de bytes.
Los diferentes atributos adoptan una semántica diferente, incluidos enlaces a subdirectorios y archivos, y navegaciones a páginas adicionales que contienen más contenido de directorio.
Las estructuras del listado de directorios tienen uno de los siguientes formatos:
7. Atributo base (Base Attribute)
El atributo básico más simple consiste en un bloque, cuya longitud se indica al principio.
A continuación se muestra un ejemplo de un 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
Aquí la sección tiene una longitud de 0xA8 y contiene cuatro marcas de tiempo de archivo. Se pueden ver más detalles a continuación:
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
Es seguro asumir que:
- uno de los primeros campos de cualquier atributo dado contiene un identificador que detalla qué atributo debe analizarse, o
- el contexto se especifica por la posición del atributo en la lista.
- los atributos que coinciden con el valor dado se encuentran en esta dirección o identificador
8. Grabaciones
«Key / Value pairs» – sus valores se especifican en los primeros 0x20 bytes del atributo. Se utilizan para secciones relacionadas de metadatos con archivos cuyos nombres se escriben en claves y cuyo contenido se escribe con valor.
A continuación se muestra un ejemplo de una 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.......
Aquí vemos los parámetros de grabación establecidos en la primera línea:
- longitud total - 4 bytes = 0x440
- desplazamiento de clave - 2 bytes = 0x10
- longitud de la clave - 2 bytes = 0x1A
- banderas / identificadores - 2 bytes = 0x08
- compensación de valor - 2 bytes = 0x30
- longitud del valor - 2 bytes= 0x410
La escritura termina después del valor, 0x410 bytes desde el principio, y después del valor 0x30 o 0x440 (que es igual a la longitud total).
La entrada corresponde al archivo creado en el disco.
Aquí, el primer atributo en el valor de entrada es el atributo simple discutido anteriormente que contiene las marcas de tiempo del archivo. Luego sigue «File Reference Attribute List Header».
Por etiquetas, buscamos registros con valores «w/ flag» '0' o '8'. A menudo, aparece un '4' para indicar un registro histórico o un registro que se ha modificado desde entonces.
Dado que los registros tienen como prefijo su longitud total, se pueden considerar como una subclase «Attribute».
«AttributeList» (encabezado de lista) – contiene el bloque de atributos.
A primera vista, estos son atributos simples con una longitud de 0x20, pero después de un examen más detenido, podemos ver que contiene la longitud de un gran bloque de atributos. Después del análisis «AttributeList», queda leer los bytes de relleno restantes en la lista antes de pasar al siguiente atributo.
20 00 00 00 A0 01 00 00 D4 00 00 00 00 02 00 00 - encabezado de lista que indica la longitud total (0x1A0) y el relleno (0xD4)
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 ... (incisión)
9. Directory Tree Branches (Ramas de un árbol de directorios)
Las ramas de un árbol de directorio son listas de atributos, donde cada atributo corresponde a una entrada cuyo valor se refiere a una página que contiene contenido de directorio adicional.
Cuando se encuentra un encabezado «AttributeList» con valor de bandera «0x301» debemos
- seleccionar atributos en la lista,
- analizar sus registros,
- usar «dword» en cada valor como una página para repetir el proceso de recorrido de directorio.
Los archivos y subdirectorios adicionales que se encuentran en las páginas especificadas deben agregarse a la lista de contenidos del directorio actual.
10. SubDirectories
«SubDirectories» - estas son entradas en la lista de atributos de directorio cuya clave contiene el indicador de metadatos del directorio (0x20030) y el nombre del subdirectorio.
El valor de esta entrada es el identificador de objeto correspondiente que se puede utilizar para encontrar la página que contiene el subdirectorio en la tabla de objetos.
Subdirectorio típico «Record»:
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 - aquí vemos una clave que contiene una bandera (30 00 02 00) seguida del nombre del directorio ("subdir2")
32 00 00 00 00 00 00 00 03 07 00 00 00 00 00 00 - aquí vemos la identificación del objeto y el primer valor qword (0x730)
00 00 00 00 00 00 00 00 14 69 60 05 28 dd d2 01 - aquí vemos las marcas de tiempo del directorio
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
Dichos directorios son entradas cuya clave contiene una bandera (0x10030) seguida de un nombre de archivo.
Sin embargo, el significado es mucho más complejo, hemos descubierto algunos atributos básicos que nos permiten recuperar marcas de tiempo y contenido del sistema de archivos, pero la semántica del significado de esta entrada aún está por concluirse.
El valor «File Record» consta de varios atributos, aunque solo aparecen uno tras otro, sin título de lista. Todavía podemos analizarlos secuencialmente, dado que todos los atributos tienen un prefijo individual con su longitud, y la longitud del valor del registro del archivo nos da el tamaño total del bloque.
El primer atributo contiene 4 marcas de tiempo de archivo con un desplazamiento especificado por el quinto byte del atributo (aunque esta posición puede ser aleatoria, ya que las marcas de tiempo pueden estar simplemente en una ubicación fija en este atributo).
El segundo atributo es el encabezado de la lista de atributos que contiene «el enlace al archivo».
En este atributo, el primero contiene la longitud del archivo y el segundo es el título de otra lista. Este atributo también contiene una entrada cuyo valor contiene un enlace a la página donde se encuentra el contenido del archivo.
----------------------------------------
| ... |
----------------------------------------
| 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 |
----------------------------------------
| ... |
----------------------------------------
A pesar de la complejidad, cada nivel se puede analizar de la misma manera que todos los demás atributos y registros, solo necesita analizar los atributos y determinar correctamente sus niveles y estructura.
En términos de valores reales, la longitud del archivo siempre es visible en un desplazamiento fijo dentro de su atributo (0x3c) y el puntero de contenido está en el segundo valor «qword» del archivo de grabación. Este índice es un enlace simple a una página cuyo contenido de archivo se puede leer palabra por palabra.
Si bien «ReFS» ofrece una seguridad y una eficiencia de almacenamiento mejoradas, no puede proteger por completo los datos confidenciales de una eliminación accidental, daños por virus u otra posible pérdida de información. Tales situaciones deben tenerse en cuenta y obtener una herramienta confiable para resolver problemas con archivos eliminados.
11. Algoritmo de búsqueda para la recuperación de datos Hetman Partition Recovery
La solución a este problema será una utilidad especial para la recuperación rápida de datos.
Hetman Partition Recovery le permite analizar el espacio en disco administrado por el sistema de archivos «ReFS» utilizando un algoritmo de análisis de firmas. Al analizar el dispositivo sector por sector, el programa encuentra secuencias de bytes específicas y las muestra al usuario. Recuperar datos del espacio en disco «ReFS» no difiere de trabajar con el sistema de archivos «NTFS».
Durante un análisis rápido, el programa busca el encabezado de volumen «Volume Header», que está en el sector cero, y su copia se encuentra en el último sector. El encabezado contiene la información necesaria para un análisis adicional, a saber, el número de bytes en el sector y el número de sectores en el clúster. Luego, habiendo determinado estos parámetros, encuentra el «Superblock», que se encuentra en el bloque 30. El superbloque tiene 2 copias, una en el tercer bloque desde el final y la segunda en el segundo bloque. El programa determina enlaces a puntos de control desde el superbloque, hay 2 puntos de control, están ubicados en las direcciones especificadas que están en el superbloque. Al ir a estas dos direcciones, el programa encuentra «Virtual Allocated Clock», este parámetro determina cuál de los puntos de control es el actual en ese momento. Como sabe, Windows primero cambia 1 punto de control y duplica información en el segundo solo si la escritura es exitosa.
El punto de control (Checkpoint) contiene las tablas principales. Lee el encabezado de la página «Page Header» y luego el bloque de datos. Para el bloque de datos, obtenemos punteros para cada una de las tablas (enlaces a todas las tablas principales).
Para traducir direcciones virtuales en físicas, debe buscar «Container Table». Y luego se busca en la dirección virtual «Object ID Table» para obtener todas las tablas.
Además, la búsqueda de información va página a página, determinando su nivel. Si este es el nivel cero, una hoja, entonces se leen los datos que necesitamos. De lo contrario, el programa busca una ruta al siguiente nivel hasta que llega al cero donde se encuentran nuestros datos.
Incluso si uno de estos elementos de la estructura del sistema de archivos está dañado, el algoritmo de nuestro programa durante un análisis completo nos permite excluir estos enlaces y obtener la información necesaria que debe restaurarse.
El futuro del nuevo sistema de archivos es bastante confuso. Microsoft puede actualizar «ReFS» para reemplazar el «NTFS» obsoleto en todas las versiones de Windows. Actualmente, «ReFS» no se puede utilizar de forma universal y solo sirve para determinados fines.
"En Windows, puedes comprobar la integridad del sistema de archivos ReFS utilizando la herramienta ""chkdsk"" (Check Disk) en una ventana de símbolo del sistema (CMD). Sigue estos pasos:
"La velocidad de un sistema de archivos depende de muchos factores, incluyendo el hardware del sistema, el tamaño y tipo de los archivos que se están leyendo o escribiendo, la cantidad de archivos en la unidad, entre otros.
En términos generales, los sistemas de archivos más rápidos son los que minimizan la fragmentación de los archivos y permiten un acceso rápido a los datos. Además, la velocidad también puede variar según la implementación del sistema de archivos en un sistema operativo específico.
En Windows, NTFS y exFAT (Extended File Allocation Table) son considerados sistemas de archivos rápidos y eficientes. NTFS es más adecuado para discos duros de gran tamaño y exFAT es más adecuado para dispositivos de almacenamiento extraíbles como tarjetas SD y unidades flash USB.
En sistemas operativos basados en Unix o Linux, los sistemas de archivos como ext4 y XFS son conocidos por su velocidad y eficiencia. Sin embargo, es importante tener en cuenta que la elección del sistema de archivos depende del uso previsto y las necesidades del usuario, y que otros factores como la capacidad de recuperación ante fallos y la seguridad también pueden ser importantes."
"Para crear un volumen ReFS en un sistema operativo Windows, sigue estos pasos:
Abre el Administrador de Discos. Puedes hacerlo presionando las teclas ""Windows + X"" y seleccionando ""Administrador de Discos"" en el menú que aparece.
Selecciona el disco que deseas formatear como ReFS y haz clic con el botón derecho del ratón. Selecciona ""Nuevo volumen simple"" en el menú que aparece.
Sigue las instrucciones del asistente para crear un nuevo volumen. Asegúrate de seleccionar ""ReFS"" como el sistema de archivos a utilizar cuando se te solicite.
Asigna una letra de unidad o monta el volumen en un punto de montaje.
Formatea el volumen con ReFS.
Una vez completados estos pasos, el volumen ReFS estará disponible y podrás empezar a utilizarlo para almacenar tus archivos."