Algoritmo de Recuperación de Datos del Sistema de Archivos HFS+
En este artículo veremos la estructura del sistema de archivos HFS+, qué cambios ha recibido en comparación con su versión anterior de HFS. Consideraremos los algoritmos de recuperación de datos en el disco con el sistema de archivos HFS+.
- 1. Ventajas y diferencias de HFS+
- 2. Arquitectura HFS Plus
- 3. Recuperación de datos en Time Machine
- 4. Algoritmo de recuperación HFS+
- Conclusión
- Preguntas y respuestas
- Comentarios
1. Ventajas y diferencias de HFS+
La principal diferencia entre HFS+ es que utiliza una arquitectura de 32 bits en lugar de 16 bits como en HFS. El antiguo direccionamiento era una seria limitación que no permitía trabajar con volúmenes mayores a 65,536 bloques. Con un volumen de disco de 1 GB, el tamaño del clúster (bloque) era de 16 KB; incluso un archivo de 1 byte ocupaba los 16 KB.
HFS+, como en sistema anterior, utiliza un árbol B para almacenar la mayoría de los metadatos.
El volumen en HFS+ se divide en sectores (en HFS se les llama bloques lógicos) iguales a 512 bytes. Uno o más sectores forman un clúster, el número total de clústeres depende del tamaño del disco. El direccionamiento de 32 bits permite el acceso a más de 4,294,967,296 clústeres frente a los antiguos 65,536 clústeres. En comparación, estos dos sistemas tienen:
- diferentes longitudes de nombre de archivo: En HFS: 31, en HFS+: 255;
- codificación de nombre de archivo: HFS: Mac Roman, HFS+: Unicode;
- tamaño del nodo de directorio: HFS: 512 Bytes, HFS+: 4K Bytes;
- y aumentó el tamaño máximo de archivo: HFS: 2 ^ 31, HFS+: 2 ^ 63.
Ventaja o Diferencia | Descripción |
---|---|
Soporte para archivos grandes | HFS+ admite el trabajo con archivos grandes, lo que lo hace útil para almacenar archivos multimedia y otros datos de gran tamaño. |
Sistema de archivos con registro | HFS+ ofrece registro de transacciones, lo que reduce el riesgo de pérdida de datos durante fallos del sistema o apagones repentinos. |
Compatibilidad con Unicode | El sistema de archivos HFS+ es compatible con la codificación Unicode, lo que permite almacenar archivos con nombres en diferentes idiomas. |
Optimización para macOS | HFS+ está diseñado específicamente para macOS, brindando un alto rendimiento y estabilidad en estos dispositivos. |
Desfragmentación | HFS+ desfragmenta automáticamente los archivos, mejorando el rendimiento durante la lectura y escritura de datos. |
Soporte para metadatos | HFS+ es compatible con metadatos extendidos, lo que ayuda a organizar y gestionar mejor los archivos. |
Compatibilidad con Time Machine | HFS+ es totalmente compatible con la función de copia de seguridad Time Machine en macOS. |
Limitaciones en el soporte para sistemas modernos | HFS+ carece de la funcionalidad y confiabilidad de APFS (Apple File System), que es el estándar en las versiones más recientes de macOS. |
2. Arquitectura HFS Plus
El espacio en HFS Plus se divide en sectores (llamados bloques lógicos), que suelen tener un tamaño de 512 bytes. Estos sectores se agrupan en bloques de distribución (análogos a los clústeres en Windows), que pueden contener uno o más sectores. El número de bloques de asignación depende del tamaño total del volumen. En HFS+, el valor de los bloques de asignación es de 32 bits. El sistema de archivos tiene codificación Big Endian.
Para administrar la ubicación de los datos en un disco, HFS + almacena información de servicio en él: archivos de metadatos. Entre ellos, los más importantes para el funcionamiento del sistema de archivos y los más interesantes a la hora de buscar datos faltantes son los siguientes:
- Sección de título (Volume Header). Tiene una estructura de tabla, usa la extensión de registros (Extensiones);
- Mapa de archivos de asignación de disco (Allocation File). Estructura: mapa de bits, utiliza expansión de registros (Extents);
- Catálogo de archivos (Catalog File). Tiene una estructura de árbol B, usa extensión de registro (Extents);
- Entradas de expansión adicionales (Extents Overflow File). Tiene una estructura de árboles B (B-Tree);
- Lista de sectores defectuosos (Bad block file). Tiene una estructura de árboles B (B-Tree);
- Ejecución de archivo (StartUp file). Tamaño fijo;
- Registro (Journal). Área de un disco con un tamaño y una posición fijos.
El sistema contiene muchas más estructuras, pero estas son predominantes para la recuperación de datos. Para continuar analizando la estructura, necesitamos comprender los conceptos básicos: árbol B y expansión de registros.
¿Qué es árbol B?
Los árboles B se utilizan para almacenar parte de la información de HFS+. Son necesarios para escribir matrices arbitrarias de información (por ejemplo, 100 MB) en bloques con un tamaño fijo (por ejemplo, 4 KB). En este caso, no se escribe la información en sí misma en el primer bloque, sino enlaces a bloques posteriores, en los que también se pueden almacenar enlaces al siguiente nivel de bloques o información directamente necesaria. Los elementos de árbol que almacenan enlaces se denominan nodos y los elementos de datos de nivel 0 se denominan hojas.
¿Qué es la extensión de registro y Extent Overflow File?
Para almacenar información sobre los sectores ocupados por el archivo, HFS+ puede usar de 0 a 8 registros extendidos. Cada registro almacena un enlace al primer sector de datos y el número de grupos consecutivos utilizados para los datos. Si el archivo está muy fragmentado y 8 registros no son suficientes para describir todas las partes, los fragmentos restantes se escriben en un archivo con extensiones adicionales: Extent Overflow File.
Volume header o Encabezado de volumen
El encabezado del volumen siempre se encuentra en el segundo sector desde el principio del disco y contiene información general sobre el volumen. Estos son el tamaño de los bloques de asignación, el tiempo de creación del volumen y las direcciones de la asignación de otras estructuras del sistema de archivos: Archivo de catálogo, Archivo de desbordamiento de extensión, Archivo de asignación, Registro, etc. En el segundo sector desde el final del disco, siempre hay una copia de respaldo del encabezado.
Archivo de asignación
El archivo contiene información sobre los bloques de asignación libres y ocupados. Cada bloque está representado por un bit, el valor «1» corresponde al bloque ocupado y «0» – al libre. Esta estructura a veces se denomina mapa de bits. El archivo puede tener un tamaño arbitrario y no tiene que estar ubicado en bloques contiguos. La información sobre los fragmentos de archivo se describe en el encabezado del volumen.
Archivo de catálogo
El archivo almacena la mayoría de los datos sobre la ubicación de archivos y carpetas en el disco. Esta estructura bastante grande es un árbol B.
Este archivo en HFS Plus es muy similar al archivo de catálogo HFS. La principal diferencia es el tamaño del campo. Se han vuelto más grandes y ahora contienen más información. Por ejemplo, esto permite nombres de archivo Unicode de 255 caracteres más largos. El tamaño de registro para HFS es de 512 bytes, mientras que para HFS Plus es de 4 KB para Mac OS y 8 KB para OS X. Los campos en HFS tienen un tamaño fijo, mientras que en HFS Plus el tamaño puede variar dependiendo del tamaño real de los datos.
La mayoría de los campos almacenan pequeños atributos que pueden caber dentro de 4 KB. Para atributos más grandes, se utilizan extensiones adicionales (máximo 8, si se necesitan más extensiones, se almacenan en el archivo de desbordamiento de extensión). Las extensiones almacenan enlaces a los siguientes campos, que contienen gran cantidad de información sobre atributos.
StartUp file o Archivo de inicio
El archivo es para sistemas operativos que no son compatibles con HFS o HFS Plus. Esto es similar a los bloques de arranque de un volumen HFS.
Bad blocks o Bloques malos
El archivo contiene información sobre todos los sectores reubicados (defectuosos).
Journal o Registro
El registro no es un archivo, sino un área fija de datos en el disco. El enlace al primer sector y el tamaño del área se almacenan en el encabezado de la sección. Antes de escribir cualquier cambio en el disco, HFS+ los escribe en el registro y luego en los archivos del sistema. En caso de un corte de energía en el momento de la grabación, puede restaurar el sistema de archivos.
Tenga en cuenta que el tamaño del registro en HFS+ es limitado y periódicamente se sobrescribe su contenido. El registro de volumen de arranque en Mac-mini generalmente se sobrescribe en 5-10 minutos y MacBook en 30 minutos. Si Time Machine está activado, el tiempo se reduce a 20 segundos.
3. Recuperación de datos en Time Machine
A partir de Mac OS X Leopard, se incluye Time Machine. Esta utilidad crea copias de seguridad de archivos, registrando todos los cambios que ocurren en el sistema de archivos. Las acciones enumeradas permiten al usuario restaurar todo el sistema, varios archivos o un archivo separado en la forma en que estaba en un momento determinado.
Time Machine necesita un disco dedicado para funcionar. Apple está lanzando una Apple Time Capsule dedicada que actúa como una unidad de red específicamente para las copias de seguridad de Time Machine. Time Machine se puede utilizar con cualquier unidad USB o eSata. Cuando inicia Time Machine por primera vez, crea una carpeta en la unidad de respaldo especificada que contiene todos los datos.
Entonces Time Machine copiará solo los archivos modificados. En general, si se usa Time Machine para un disco, recuperar los datos perdidos no es un gran problema.
4. Algoritmo de recuperación HFS+
Recuperar información del sistema de archivos HFS+ es mucho más difícil que de otros sistemas. Las dificultades surgen del hecho de que HFS + usa árboles B para almacenar metadatos sobre la asignación de archivos. Después de eliminar un archivo, el árbol B se actualiza inmediatamente y se pierde la información sobre la ubicación del archivo eliminado.
Nuestro Programa le permite ver el dispositivo y la estructura del sistema de archivos HFS+ en Windows sin un software ni controladores adicionales.
Paso | Descripción de la acción |
---|---|
1. Instalar el programa | Descargue e instale Hetman Partition Recovery en su computadora. |
2. Conectar la unidad | Conecte la unidad HFS+ a su computadora si no es interna. |
3. Iniciar el programa | Abra Hetman Partition Recovery y seleccione la unidad HFS+ de la lista de discos disponibles. |
4. Escanear el disco | Inicie el proceso de escaneo para detectar archivos perdidos o eliminados. |
5. Ver datos recuperados | Después de que finalice el escaneo, revise los archivos recuperados en un formato conveniente para usted. |
6. Seleccionar archivos para recuperación | Seleccione los archivos que desea recuperar y haga clic en el botón de recuperación. |
7. Guardar archivos recuperados | Guarde los archivos recuperados en otro disco o almacenamiento externo para evitar sobrescribir datos. |
El algoritmo de la utilidad, con un análisis completo, le permite excluir estos enlaces en el proceso de búsqueda de datos perdidos y restaurar la información que necesitamos.
Durante un análisis rápido, el programa lee el encabezado del volumen o su copia de seguridad. Del encabezado se obtiene la dirección del archivo de catálogo y la ubicación del registro en el disco. Si los bloques que pertenecen a los archivos eliminados aún no se han sobrescrito, los lee y restaura los datos.
Si los bloques del archivo eliminado aún no se han sobrescrito, este método le permitirá restaurar completamente el archivo. Incluso si se sobrescriben los bloques del archivo, los datos del archivo pueden permanecer en el registro o el archivo se recuperará parcialmente.
El algoritmo del análisis completo del programa permitirá excluir los elementos de la cadena en el proceso de búsqueda de datos eliminados. La utilidad construirá la estructura del disco y mostrará los archivos eliminados, incluso si el encabezado de la sección y el archivo de directorio se sobrescribieron parcialmente.
Conclusión
En general, podemos decir que la implementación del sistema de archivos HFS+ ya está obsoleta en estos momentos. Este sistema se ha optimizado desde el antiguo HFS. HFS+ ya ha sido reemplazado por el nuevo sistema de archivos de Apple.
HFS + es significativamente inferior en velocidad, seguridad y confiabilidad a APFS, por lo que la recuperación de datos es un tema de gran actualidad para él. La información rara vez desaparece sin dejar rastro. Conociendo bien el funcionamiento del sistema de archivos, puede recuperar incluso lo que se consideró perdido irremediablemente.
La fragmentación es un proceso que se produce cuando los archivos se dividen en varias partes más pequeñas para su almacenamiento. Esto puede ocurrir cuando un archivo es demasiado grande para caber en una sola ubicación contigua en el disco duro. Cuando esto sucede, el sistema de archivos HFS fragmenta el archivo y lo almacena en varias ubicaciones diferentes. Esto puede hacer que la recuperación de datos sea más complicada, ya que los datos se encuentran dispersos en el disco duro.
Para abordar este problema, los usuarios pueden usar herramientas de recuperación de datos para escanear el disco duro y reunir los fragmentos de archivos. Estas herramientas buscan en el disco duro para encontrar los fragmentos de archivos y luego los reúnen para restaurar el archivo original. Esto puede ser un proceso largo y complicado, pero es necesario para asegurarse de que los datos se recuperen correctamente.
El alcance de la recuperación de datos de un sistema de archivos HFS depende en gran medida del grado de daño sufrido por los datos. Si el daño es leve, un experto en recuperación de datos puede recuperar la mayoría de los archivos y directorios del sistema de archivos HFS. Si el daño es grave, es posible que no se puedan recuperar todos los archivos y directorios del sistema de archivos.
Las limitaciones más comunes para la recuperación de datos de un sistema de archivos HFS son la falta de acceso a los medios físicos, el daño físico al disco duro, la corrupción del sistema de archivos, los errores humanos y la falta de conocimientos sobre cómo recuperar los datos. Si el daño es grave, es posible que el experto en recuperación de datos no pueda recuperar todos los archivos y directorios del sistema de archivos.