Investigación privada: los sistemas de archivos

jueves, 14 de mayo de 2015 por Peter Robinson

El sistema de archivos gestiona la estructura lógica de datos del disco. El DOS dio a conocer el popular sistema de archivos de las tablas FAT (tablas de asignación de archivos), que en la actualidad han sido reemplazadas casi en su totalidad por un NTFS mucho más avanzado. Ambos sistemas se usan mayoritariamente en sistemas operativos de Microsoft. Los sistemas operativos de código abierto se basan principalmente en el sistema de archivos extendido o ext (actualmente en su cuarta versión, ext4) y en el sistema de archivos Reiser (ReiserFS), menos conocido, y cuyo desarrollo se supervisa estrictamente, quizá debido al hecho de que su autor, Hans Reiser, se encuentra cumpliendo cadena perpetua por el asesinato de su esposa. Pero basta de cotilleos por ahora. Vayamos al grano.

Independientemente de cuál sea el fabricante de tu disco duro, el sistema de archivos de tu sistema operativo será el que gestione las operaciones lógicas de datos (lectura y escritura). Para poder comenzar a utilizar tu disco recién comprado, debes elegir el sistema de archivos que le asignarás. De lo contrario, el sistema operativo no podrá utilizarlo. Este proceso recibe el nombre de "formateo". Puedes dividir la unidad en estructuras más pequeñas llamadas particiones, cuya información está ubicada en un sector llamado registro maestro de arranque (MBR) al principio del disco. Vale la pena mencionar que una de las particiones contiene información para iniciar el sistema operativo (almacenado en el sector llamado bloque de parámetros del BIOS (BPB), que existe en la partición FAT o NTFS y que contiene información importante acerca de su estructura lógica). Un usuario corriente no suele prestar atención a estos detalles, a pesar de que se los encuentre frecuentemente durante la instalación del nuevo sistema operativo o al redimensionar la partición. Si el sector de arranque del disco resulta dañado, tus datos no se eliminarán de forma permanente, pero podrías sufrir un ataque de ansiedad al leer el mensaje siguiente ;)

Ningún dispositivo de arranque – inserte el disco de arranque y presione cualquier tecla

¿Dónde están los archivos?

"Al contrario de lo que se podría pensar, el sistema operativo no guarda los archivos en segmentos sucesivos. ¿Por qué? Porque tal solución no sería segura: si el disco sufriese daños menores, esto aumentaría la probabilidad de la imposibilidad de lectura de archivos específicos. De hecho, los segmentos que crean el clúster, y los clústeres que contienen la información completa acerca del archivo, están dispersados por todo el disco, y su distribución la determina el sistema de archivos.”.

Robin England, ingeniero senior de investigación y desarrollo en Kroll Ontrack.

FAT

El clásico FAT comenzó su carrera en MS DOS. Está basado en tablas de asignación que contienen información acerca de la distribución de los segmentos de la partición. Por este motivo se encuentran separados por el sistema en la superficie del disco como una estructura lógica de archivos. Todos los archivos del disco están descritos en directorio mediante el número de clúster, que se almacena al principio del archivo. El sistema calcula entonces el número de dirección física del clúster del sector, es decir, el número de cabecera, de pista y de sector de la pista. Una partición FAT contiene la información que identifica los segmentos siguientes de la primera parte del archivo, pero también la información que contiene el número de identificación del siguiente clúster con las partes restantes del archivo, hasta que se localice el último clúster (que se marca con una etiqueta de fin de archivo).

NTFS

El NTFS, mucho más moderno, también está basado en tablas de asignación. Mientras que la información acerca de la ubicación de los datos en la partición está almacenada en la tabla maestra de archivos (MFT), las copias de las tablas (espejos MFT) están ubicadas en un lugar diferente al del MFT original para no estar tan expuestas a fallos simultáneos. El NTFS es compatible con el registro diario, que contiene catálogos individuales que graban todas las modificaciones de los archivos. Cuando guardas los datos, estos se graban primero en el registro y después en la unidad. Este método reduce significativamente el riesgo de pérdida de archivos durante el proceso de grabación, que, por desgracia, es un inconveniente más habitual en el sistema de archivos FAT. Como puedes ver, el uso del NTFS aumenta considerablemente la cantidad de metadatos (información no directamente relacionada con nuestros archivos, pero necesaria para el manejo del sistema). Los metadatos permiten conservar un rastro bastante exacto del historial de lo que ha pasado por el ordenador. En la próxima entrada abordaremos este tema.

Sistemas de archivos vs. tamaño de archivos y capacidad del dispositivo

La diferencia entre los sistemas de archivos puede observarse también en los tamaños máximos de los dispositivos multimedia y de los archivos. Por ejemplo, el FAT12 más antiguo era compatible con unidades de hasta 32MB, pero el FAT32 actual puede soportar hasta 16TB de capacidad y el tamaño máximo de archivo es de 4GB menos 1 byte. ¡En comparación, el NTFS puede manejar, en teoría, tanto archivos como dispositivos  de 16EB menos 1KB (1EB equivale a 1000 petabytes)!  En la práctica, Windows 8 y Windows Server 2012 son compatibles con un tamaño de archivo máximo de 256TB menos 64KB.

Si existen áreas del disco que sufren corrupción más allá del espacio ocupado por los ficheros del usuario, tal como se ha expuesto en esta entrada y en entradas anteriores, éstas se muestran como si contuvieran una gran cantidad de información adicional que debe leerse e interpretarse correctamente para recuperar los datos de manera efectiva. En este contexto, el procedimiento de recuperación de datos se asimila a una caza del tesoro en la que tiene lugar una búsqueda de fragmentos de mapas y pistas que nos conducirán al lugar en el que fue enterrado.

¡Es una emocionante aventura, créeme!

Felizmente, ya hemos llegado a un punto en el que podemos contestar a la pregunta ¿cómo se recuperan los datos? En mi próxima entrada pondremos todo nuestro empeño en desarrollar la respuesta.

¡Recuerda compartir tus comentarios y opiniones!

El blog de la recuperación de datos

Si ha sufrido una pérdida de datos, contáctenos inmediatamente.