Sistemas de Archivos: NTFS y FAT
NTFS (New Technology File System)
NTFS, creado por Microsoft para sus sistemas operativos empresariales, es un sistema de archivos más avanzado que FAT. Su desarrollo se remonta a la era de MS-DOS y Windows 3.11, evolucionando con Windows NT hasta la versión 5.0.
Su objetivo principal es facilitar al usuario operaciones como abrir, leer y escribir archivos. Además, ofrece posibilidades como la compresión de archivos y carpetas, y la encriptación a través de EFS (Encrypting File System).
Una vez formateada una partición en NTFS, el volumen resultante se divide en cuatro zonas:
- Sector de arranque de la partición
- Master File Table (MFT)
- Zona de archivos necesarios para el funcionamiento del sistema (System Files), distribuidos a lo largo de la partición
- File Area (Área de Archivos)
1. Partition Boot Sector (Sector de Arranque de la Partición)
Consta de 16 sectores de disco. El primer sector es similar al sector de arranque de un sistema de archivos FAT (Boot Sector). Los 15 sectores restantes son ocupados por el archivo de sistema «$Boot». Este archivo contiene el IPL (Initial Program Loader).
El primer sector alberga el BPB (BIOS Parameter Block) y enlaza con los otros 15, teniendo una copia en el último sector de la partición. El BPB es similar al del sistema de archivos FAT, conteniendo información como bytes por sector (512), número de sectores por unidad de asignación, número de sectores reservados, descriptor, número de sectores por pista, número de cabezas y número total de sectores en el disco.
Además de la información similar a FAT, el BPB en NTFS incluye elementos propios:
- Número lógico de clúster de inicio del archivo $MFT
- Número lógico de clúster de inicio del $MftMirr, un archivo de respaldo del $MFT utilizado para restaurar el sistema en caso de deterioro
- Información sobre bloques de índices
- Número de serie del volumen
- Checksum: valor de comprobación del contenido del primer sector de arranque
2. Master File Table (Tabla Maestra de Archivos)
La MFT es un elemento fundamental en NTFS, totalmente distinto a la tabla de asignación de archivos en FAT. Solo cuando un archivo alcanza un determinado tamaño se le asigna una ubicación en la zona de archivos; de lo contrario, permanece en la MFT.
Las primeras 16 entradas de la MFT están reservadas para archivos del sistema. La segunda entrada es un espejo del primer registro ($MFT), utilizado si el primero se daña. Las entradas restantes (a partir de la 17) controlan cada una un archivo.
Existen tres tipos de entradas en la MFT:
- Archivo pequeño
- Directorio pequeño
- Archivo grande
Los archivos grandes tienen una entrada extendida que guarda fuera de la MFT estructuras con índices de los bloques de disco que ocupa el archivo. Los archivos y directorios pequeños se almacenan directamente en la entrada de la MFT para ahorrar espacio.
Una entrada de directorio en la MFT contiene:
- Información estándar: fecha de creación, última modificación, etc.
- Nombre del archivo o directorio
- Descriptores de seguridad
- Datos del archivo
NTFS mejora la capacidad de recuperación respecto a FAT, con una función de recuperación automática.
FAT (File Allocation Table)
Directorio (Raíz o Subdirectorios)
Desde su creación, el directorio en FAT ha mantenido la misma función. Inicialmente se basaba en una tabla con elementos como:
- Nombre del archivo (8 caracteres para el nombre y 3 para la extensión). No existían nombres largos.
- Atributo del archivo (Sistema – S, Oculto – H, Solo lectura – R, Archivo – A). El atributo de archivo es fundamental para tareas administrativas como las copias de seguridad. Un archivo lo adquiere al crearse o modificarse. Si forma parte de una copia de seguridad, lo pierde, y si se modifica, lo recupera. Se gestionan con el comando ATTRIB.
- Hora y fecha de creación
- Hora y fecha de última modificación
- Número de la primera unidad de ubicación que ocupa el archivo
Zona de Datos
Ocupa la mayor parte del volumen y se utiliza para almacenar los archivos. Los sectores se agrupan en unidades de ubicación o unidades de asignación.
En FAT pueden producirse errores. La utilidad Scandisk se utiliza para recuperar errores y comprobar el estado de un volumen, como un pendrive.
FAT: File Allocation Table (Tabla de Ubicación de Archivos)
Un volumen FAT se divide en las siguientes zonas:
- Sector de arranque del volumen (512 bytes)
- Instrucción de salto (EB 3C 90 – 3 bytes): salta a una ubicación del sector de arranque donde se encuentra el Bootstrap Code (448 bytes)
- Copias de la FAT (2 copias para redundancia)
- Directorio raíz del volumen
- Zona de datos