# NTFS

NTFS (siglas en inglés de New Technology File System) es un sistema de archivos de Windows NT incluido en las versiones de Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7, Windows 8 , Windows 10 y Windows 11. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple.
NTFS permite definir el tamaño del clúster a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.
Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes de, teóricamente, hasta 2$^{64}$–1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 2$^{32}$–1 clústeres (aproximadamente 16 TiB usando clústeres de 4 KiB).
Su principal inconveniente es que necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400 MiB libres (aproximadamente 52.4 MB).

## Características

El tamaño mínimo recomendado para la partición es de 10 GB (10240 MB). Aunque son posibles tamaños mayores, el máximo recomendado en la práctica para cada volumen es de 2 TB (Terabytes). El tamaño máximo de fichero viene limitado por el tamaño del volumen. Tiene soporte para archivos dispersos.
Hay cuatro versiones de NTFS: v1.2 en NT 3.51, NT 4, v3.0 en Windows 2000 y v3.1 en Windows XP, Windows Server 2003, Windows Vista y v5.1 en Windows Server 2008. Estas versiones reciben en ocasiones las denominaciones v4.0, v5.0, v5.1, v 5.2, y v6.0 en relación con la versión de Windows en la que fueron incluidas. Las versiones más recientes han incluido algunas características nuevas, tales como cuotas de disco y puntos de montaje de volúmenes.
* v1.0: Lanzado con Windows NT 3.1 en 1993. v1.0 es incompatible con v1.1 y posteriores: Los volúmenes escritos por Windows NT 3.5x no pueden ser leídas por Windows NT 3.1 hasta que una actualización (disponible en el NT 3.5 por medio de instalación) está instalado.
* v1.1: Lanzado con Windows NT 3.5, en 1994.
* v1.2: Lanzado con Windows NT 3.51 en 1995 Soporta archivos comprimidos, arroyos con nombre y listas de control de acceso.
* v3.0: Lanzado con Windows 2000 Soporta las cuotas de disco, cifrado de archivos, archivos dispersos, los puntos de análisis, el número de secuencia de actualización (USN) diario, la carpeta $ Extender y sus archivos. Se reorganizó los descriptores de seguridad de forma que varios archivos utilizando la misma configuración de seguridad pueden compartir el mismo descriptor.
* v3.1: Lanzado con Windows XP. en el otoño de 2001 amplió la tabla maestra de archivos (MFT) entradas con número de registro MFT redundante (útil para la recuperación de archivos dañados MFT).
El número de versión NTFS.sys (por ejemplo, v5.0 en Windows 2000) no se debe confundir con el número de versión en formato NTFS (v3.1, solo Windows XP).

### Enlaces duros y Junction points

NTFS tiene soporte para enlaces duros a archivos regulares. Esto significa que pueden tenerse varios archivos apuntando a un solo archivo real. Sobre esta característica se apoyan los Alias, implementado para el usuario final a partir de Windows Vista.
También existe otra característica de NTFS (>3.0) llamada Junction NTFS, que permite crear enlaces simbólicos sólo a directorios (no a archivos regulares), de una forma más transparente que los accesos directos a una carpeta.
Ambas características no están documentadas para el usuario final y no se recomienda utilizarlas (sobre todo JP) a menos que el usuario sepa lo que hace. Si el vínculo no se da en el acceso directo debes buscar si el archivo existe en el disco.

## Funcionamiento

Todo lo que tiene que ver con los ficheros se almacena en forma de metadatos. Esto permitió una fácil ampliación de características durante el desarrollo de Windows NT. Un ejemplo lo hallamos en la inclusión de campos de indizado añadidos para posibilitar el funcionamiento de Active Directory.
Los nombres de archivo son almacenados en Unicode (UTF-16), y la estructura de ficheros en árboles-B, una estructura de datos compleja que acelera el acceso a los ficheros y reduce la fragmentación, que era lo más criticado del sistema FAT.
Se emplea un registro transaccional (journal) para garantizar la integridad del sistema de ficheros (pero no la de cada archivo). Los sistemas que emplean NTFS han demostrado tener una estabilidad mejorada, que resultaba un requisito ineludible considerando la naturaleza inestable de las versiones más antiguas de Windows NT.
Sin embargo, a pesar de lo descrito anteriormente, este sistema de archivos posee un funcionamiento prácticamente secreto, ya que Microsoft no ha liberado su código, como hizo con FAT.
Gracias a la ingeniería inversa, aplicada sobre el sistema de archivos, se desarrollaron controladores como el NTFS-3G que actualmente proveen a sistemas operativos GNU/Linux, Solaris, MacOS X o BSD, entre otros, de soporte completo de lectura y escritura en particiones NTFS.

## Interoperabilidad

Microsoft provee medios para convertir particiones FAT32 a NTFS, pero no en sentido contrario, (NTFS a FAT32). Partition Magic de Symantec y el proyecto de código abierto NTFSResize son ambos capaces de redimensionar particiones NTFS.
Con la herramienta convert incluida en los sistemas NT (Windows NT en adelante), se puede cambiar un disco con sistema de ficheros FAT32 a NTFS sin perder ningún dato con la instrucción "convert [unidad]:/fs:ntfs"
Por razones históricas, absolutamente todas las versiones de Windows que todavía no soportan NTFS almacenan internamente la fecha y hora como hora local, y consecuentemente los sistemas de ficheros correspondientes a esas versiones de Windows, también tratan la hora localmente. Sin embargo, Windows NT y sus sucesores almacenan la hora en formato GMT/UTC, y hacen las conversiones apropiadas en el momento de mostrar las fechas. De este modo, al copiar archivos entre un volumen NTFS y uno no NTFS, deben hacerse las conversiones "al vuelo", lo que puede originar ambigüedades si el horario de verano está activo en la copia de unos archivos y no en el de otros, pudiendo dar lugar a ficheros cuya marca de hora esté una hora desplazada.
MacOS X provee soporte de sólo lectura a particiones formateadas como NTFS. NTFS-3G es una utilidad de licencia GPL que permite lectura y escritura en particiones NTFS. Los desarrolladores de NTFS-3G también proveen una versión comercial y de alto rendimiento denominada Tuxera NTFS para Mac.

## Notas y referencias

* ↑ UTF-16 codepoints accepted, but not validated
* ↑ «Tuxera NTFS para Mac». Archivado desde el original el 26 de mayo de 2012.