Articulo de referencia

NTFS

{{Cite journal| doi = 10.1016/j.diin.2019.04.018| issn = 1742-2876| volume = 29| pages = –51–S60| last1 = Karresand| first1 = Martin| last2 = Axelsson| first2 = Stefan| last3 = ...

El sistema de archivos NT ( NTFS ) es un sistema de archivos de registro propietario desarrollado por Microsoft en la década de 1990. [ 9 ] [ 10 ] [ 2 ]

Se desarrolló para superar las limitaciones de escalabilidad, seguridad y otras limitaciones de FAT . [ 11 ] NTFS agrega varias características de las que carecen FAT y HPFS , entre ellas: listas de control de acceso (ACL); cifrado del sistema de archivos; compresión transparente; archivos dispersos ; registro del sistema de archivos y copia de sombra de volumen , una característica que permite realizar copias de seguridad de un sistema mientras está en uso.

A partir de Windows NT 3.1 , es el sistema de archivos predeterminado de la familia Windows NT, reemplazando al sistema de archivos Tabla de asignación de archivos (FAT). [ 12 ] La compatibilidad de lectura/escritura de NTFS está disponible en Linux y BSD usando NTFS3 en Linux y NTFS-3G en ambos sistemas . [ 13 ] [ 14 ] [ 15 ]

NTFS utiliza varios archivos ocultos al usuario para almacenar metadatos sobre otros archivos almacenados en la unidad, lo que puede ayudar a mejorar la velocidad y el rendimiento al leer datos. [ 1 ]

Historia

A mediados de la década de 1980, Microsoft e IBM formaron un proyecto conjunto para crear la siguiente generación de sistemas operativos gráficos ; el resultado fueron OS/2 y HPFS . Debido a que Microsoft discrepaba con IBM en muchos asuntos importantes, finalmente se separaron; OS/2 siguió siendo un proyecto de IBM y Microsoft trabajó en el desarrollo de Windows NT y NTFS.

El sistema de archivos HPFS para OS/2 contenía varias características nuevas importantes. Cuando Microsoft creó su nuevo sistema operativo, tomó prestados muchos de estos conceptos para NTFS. [ 16 ] Los desarrolladores originales de NTFS fueron Tom Miller , Gary Kimura, Brian Andrew y David Goebel. [ 17 ]

Probablemente debido a este origen común, HPFS y NTFS utilizan el mismo código de identificación de partición de disco (07). El uso del mismo número de registro de identificación de partición es muy inusual, ya que existían docenas de códigos sin usar, y otros sistemas de archivos importantes tienen sus propios códigos. Por ejemplo, FAT tiene más de nueve (uno para FAT12 , FAT16 , FAT32 , etc.). Los algoritmos que identifican el sistema de archivos en una partición de tipo 07 deben realizar comprobaciones adicionales para distinguir entre HPFS y NTFS.

Versiones

Microsoft ha lanzado cinco versiones de NTFS:

El NTFS.sysnúmero de versión (por ejemplo, v5.0 en Windows 2000) se basa en la versión del sistema operativo; no debe confundirse con el número de versión NTFS (v3.1 desde Windows XP). [ 21 ] [ 22 ]

Aunque las versiones posteriores de Windows añadieron nuevas características relacionadas con el sistema de archivos, no modificaron NTFS en sí. Por ejemplo, Windows Vista implementó enlaces simbólicos NTFS , NTFS transaccional , reducción de particiones y autorreparación. [ 23 ] Los enlaces simbólicos NTFS son una característica nueva del sistema de archivos; todas las demás son características nuevas del sistema operativo que aprovechan las características de NTFS ya existentes.

Escalabilidad

NTFS está optimizado para clústeres de 4 KB [ a ] , pero admite un tamaño máximo de clúster de 2 MB [ a ] . (Las implementaciones anteriores admiten hasta 64 KB) [ 5 ]. El tamaño máximo de volumen NTFS que la especificación puede admitir es de 2⁶⁴1 clústeres, pero no todas las implementaciones alcanzan este máximo teórico, como se analiza a continuación.   

El tamaño máximo de volumen NTFS implementado en Windows XP Professional es de 2³² - 1 clústeres, debido en parte a las limitaciones de la tabla de particiones. Por ejemplo, usando  clústeres de 64 KB, el tamaño máximo de volumen NTFS de Windows XP es de 256 TB menos 64 KB . Usando el tamaño de clúster predeterminado de 4 KB, el tamaño máximo de volumen NTFS es de 16 TB menos 4 KB. Ambos son mucho mayores que el límite de 128 GB [ a ] en Windows XP SP1 . El tamaño de una partición en el Registro de arranque maestro (MBR) está limitado a 2 TiB con un disco duro con sectores físicos de 512 bytes, [ 24 ] [ 25 ] aunque para un sector físico de 4 KiB el límite de tamaño de partición MBR es de 16 TiB. Una alternativa es usar varios volúmenes de tabla de particiones GUID (GPT o "dinámica") para combinarlos y crear un único volumen NTFS mayor de 2 TiB. El arranque desde un volumen GPT a un entorno Windows de una manera compatible con Microsoft requiere un sistema con Interfaz de Firmware Extensible Unificada (UEFI) y compatibilidad con 64 bits [ c ] . [ 26 ] Los discos de datos GPT son compatibles con sistemas con BIOS.      

El límite teórico máximo de NTFS para el tamaño de archivos individuales es de 16 EB [ a ] [ 27 ] ( 16 × 1024⁶ o 2⁶⁴ bytes ) menos 1 KB, lo que da un total de 18.446.744.073.709.550.592 bytes (18,4 EB). Con Windows 10 versión 1709 y Windows Server 2019 , el tamaño máximo de archivo implementado es de 8 PB [ a ] menos 2 MB o 9.007.199.252.643.840 bytes (9 PB). [ 5 ]    

Interoperabilidad

Windows

Si bien las distintas versiones de NTFS son, en su mayor parte , totalmente compatibles entre sí , existen consideraciones técnicas para montar volúmenes NTFS más recientes en versiones anteriores de Microsoft Windows. Esto afecta al arranque dual y a los discos duros externos portátiles. Por ejemplo, intentar usar una partición NTFS con la función "Versiones anteriores" de Windows ( Copia de instantáneas de volumen ) en un sistema operativo que no la admite provocará la pérdida del contenido de dichas versiones anteriores. [ 28 ]

Una utilidad de línea de comandos de Windows llamada convert.exe puede convertir sistemas de archivos compatibles a NTFS, incluyendo HPFS (solo en Windows NT 3.1, 3.5 y 3.51), FAT16 y FAT32 (en Windows 2000 y versiones posteriores). La conversión se realiza in situ, lo que significa que los archivos existentes permanecen en su lugar y no se sobrescriben durante el proceso. El proceso no es reversible sin formatear y volver a escribir los archivos. [ 29 ] [ 30 ]

FreeBSD

FreeBSD 3.2, lanzado en mayo de 1999, incluía soporte para NTFS de solo lectura, escrito por Semen Ustimenko. [ 31 ] [ 32 ] Esta implementación fue portada a NetBSD por Christos Zoulas y Jaromir Dolecek y lanzada con NetBSD 1.5 en diciembre de 2000. [ 33 ] La implementación de NTFS de FreeBSD también fue portada a OpenBSD por Julien Bordet y ofrece soporte nativo para NTFS de solo lectura por defecto en las plataformas i386 y amd64 a partir de la versión 4.9, lanzada el 1 de mayo de 2011 .  .[ 34 ] [ 32 ]

Linux

Las versiones del kernel de Linux 2.1.74 y posteriores incluyen un controlador escrito por Martin von Löwis que tiene la capacidad de leer particiones NTFS; [ 35 ] las versiones del kernel 2.5.11 y posteriores contienen un nuevo controlador escrito por Anton Altaparmakov ( Universidad de Cambridge ) y Richard Russon que admite la lectura de archivos. [ 36 ] [ 37 ] [ 35 ] La capacidad de escribir en archivos se introdujo con la versión del kernel 2.6.15 en 2006 que permite a los usuarios escribir en archivos existentes pero no permite la creación de nuevos. [ 38 ] El controlador NTFS de Paragon (ver más abajo) se ha fusionado en la versión del kernel 5.15 y admite lectura/escritura en archivos normales, comprimidos y dispersos, así como reproducción de registro. [ 39 ]

NTFS-3G es una implementación de NTFS con licencia GPL gratuita para FUSE , desarrollada inicialmente como controlador del kernel de Linux por Szabolcs Szakacsits. Posteriormente, se reescribió como un programa FUSE para funcionar en otros sistemas compatibles con FUSE, como macOS , FreeBSD, NetBSD, OpenBSD , [ 40 ] Solaris, QNX y Haiku, [ 41 ] y permite leer y escribir en particiones NTFS. Los desarrolladores de NTFS-3G también ofrecen una versión comercial de alto rendimiento, denominada " Tuxera NTFS para Mac". [ 42 ]

Captive NTFS , un controlador de "envoltura" que utiliza el controlador ntfs.sys de Windows , existe para Linux. Fue creado como un programa FUSE ( Filesystem in Userspace ) y publicado bajo la licencia GPL, pero el trabajo en Captive NTFS cesó en 2006. [ 43 ]

Las versiones del kernel de Linux a partir de la 5.15 incluyen NTFS3, un controlador de lectura y escritura NTFS totalmente funcional que funciona en versiones NTFS hasta la 3.1 y cuyo mantenimiento corre a cargo principalmente de Paragon Software Group .

macOS

Mac OS X 10.3 incluía la implementación de solo lectura de NTFS de Ustimenko, proveniente de FreeBSD. En 2006, Apple contrató a Anton Altaparmakov para escribir una nueva implementación de NTFS para Mac OS X 10.6 . [ 44 ] La compatibilidad nativa con la escritura de NTFS se incluye en la versión 10.6 y posteriores, pero no está activada por defecto, aunque existen soluciones alternativas para habilitar la funcionalidad. Sin embargo, los informes de los usuarios indican que la funcionalidad es inestable y tiende a provocar fallos del kernel . [ 45 ]

Paragon Software Group vende un controlador de lectura y escritura llamado NTFS para Mac , [ 46 ] que también se incluye en algunos modelos de discos duros Seagate . [ 47 ]

Sistema operativo/2

El paquete NetDrive para OS/2 (y derivados como eComStation y ArcaOS ) admite un complemento que permite el acceso de lectura y escritura a volúmenes NTFS. [ 48 ] [ 49 ]

DOS

Existe un controlador de lectura/escritura gratuito para uso personal para MS-DOS de Avira llamado "NTFS4DOS". [ 50 ] [ 51 ]

Entre 2002 y 2004, Ahead Software desarrolló un controlador "NTFSREAD" (versión 1.200) para DR-DOS 7.0x. Formaba parte de su software Nero Burning ROM .

Seguridad

NTFS utiliza listas de control de acceso y cifrado a nivel de usuario para ayudar a proteger los datos del usuario.

Listas de control de acceso (ACL)

Permisos del sistema de archivos NTFS en un sistema Windows moderno.

En NTFS, a cada archivo o carpeta se le asigna un descriptor de seguridad que define a su propietario y contiene dos listas de control de acceso (ACL). La primera ACL, denominada lista de control de acceso discrecional (DACL), define con precisión qué tipo de interacciones (por ejemplo, leer, escribir, ejecutar o eliminar) están permitidas o prohibidas para cada usuario o grupo de usuarios. Por ejemplo, los archivos de una C:\Program Filescarpeta pueden ser leídos y ejecutados por todos los usuarios, pero modificados únicamente por un usuario con privilegios administrativos. [ 52 ] Windows Vista añade información de control de acceso obligatorio a las DACL. Las DACL son el elemento central del Control de cuentas de usuario en Windows Vista y versiones posteriores.

La segunda ACL, denominada lista de control de acceso del sistema (SACL), define qué interacciones con el archivo o carpeta deben ser auditadas y si deben registrarse cuando la actividad es exitosa, fallida o ambas. Por ejemplo, se puede habilitar la auditoría en archivos confidenciales de una empresa, de modo que sus gerentes sepan cuándo alguien intenta eliminarlos o hacer una copia de ellos, y si lo logran. [ 52 ]

Cifrado

El Sistema de Archivos Cifrados (EFS) proporciona cifrado transparente para el usuario de cualquier archivo o carpeta en un volumen NTFS. [ 53 ] EFS funciona en conjunto con el servicio EFS, la API CryptoAPI de Microsoft y la Biblioteca de Tiempo de Ejecución del Sistema de Archivos EFS (FSRTL). EFS funciona cifrando un archivo con una clave simétrica masiva (también conocida como Clave de Cifrado de Archivos o FEK), que se utiliza porque requiere un tiempo relativamente menor para cifrar y descifrar grandes cantidades de datos que si se utilizara un cifrado de clave asimétrica . La clave simétrica utilizada para cifrar el archivo se cifra posteriormente con una clave pública asociada al usuario que lo cifró, y estos datos cifrados se almacenan en un flujo de datos alternativo del archivo cifrado. Para descifrar el archivo, el sistema de archivos utiliza la clave privada del usuario para descifrar la clave simétrica almacenada en el flujo de datos. A continuación, utiliza la clave simétrica para descifrar el archivo. Dado que esto se realiza a nivel del sistema de archivos, es transparente para el usuario. [ 54 ] Además, en caso de que un usuario pierda el acceso a su clave, el sistema EFS incorpora soporte para claves de descifrado adicionales, de modo que un agente de recuperación pueda acceder a los archivos si fuera necesario. El cifrado y la compresión proporcionados por NTFS son mutuamente excluyentes, lo que significa que no se pueden usar para los mismos archivos simultáneamente; sin embargo, se puede usar NTFS para uno y una herramienta de terceros para el otro.

La compatibilidad con EFS no está disponible en las versiones Basic, Home y MediaCenter de Windows, y debe activarse después de la instalación de las versiones Professional, Ultimate y Server de Windows o mediante el uso de herramientas de implementación empresarial dentro de dominios de Windows.

Características

Diario personal

NTFS es un sistema de archivos con registro por diario y utiliza el registro NTFS ( $LogFile ) para registrar los cambios de metadatos en el volumen. Es una característica que FAT no proporciona y es fundamental para que NTFS garantice que sus complejas estructuras de datos internas permanezcan consistentes en caso de fallos del sistema o movimientos de datos realizados por la API de desfragmentación , y permita una fácil reversión de los cambios no confirmados en estas estructuras de datos críticas cuando se vuelve a montar el volumen. Las estructuras afectadas en particular son el mapa de bits de asignación de volumen, las modificaciones a los registros MFT , como los movimientos de algunos atributos de longitud variable almacenados en los registros MFT y las listas de atributos, y los índices para directorios y descriptores de seguridad .

El formato ( $LogFile ) ha evolucionado a través de varias versiones:

La incompatibilidad de las versiones de $LogFile implementadas por Windows 8 , Windows 10 y Windows 11 impide que Windows 7 (y versiones anteriores de Windows) reconozcan la versión 2.0 de $LogFile . La compatibilidad con versiones anteriores se proporciona degradando $LogFile a la versión 1.1 cuando se desmonta correctamente un volumen NTFS. Se actualiza nuevamente a la versión 2.0 cuando se monta en una versión compatible de Windows. Sin embargo, cuando se hiberna en disco en el estado de cierre de sesión (también conocido como arranque híbrido o arranque rápido, que está habilitado de forma predeterminada), los sistemas de archivos montados no se desmontan y, por lo tanto, los $LogFile de cualquier sistema de archivos activo no se degradan a la versión 1.1. La incapacidad de procesar la versión 2.0 de $LogFile por versiones de Windows anteriores a 8.0 resulta en una invocación innecesaria de la utilidad de reparación de disco CHKDSK . Esto resulta especialmente preocupante en un escenario de arranque múltiple que involucre versiones de Windows anteriores y posteriores a la 8.0, o al cambiar frecuentemente un dispositivo de almacenamiento entre versiones antiguas y nuevas. Existe una configuración en el Registro de Windows para evitar la actualización automática del archivo $LogFile a la versión más reciente. El problema también puede solucionarse deshabilitando el arranque híbrido. [ 55 ]

El registro USN (Update Sequence Number Journal) es una función de administración del sistema que registra (en $Extend\$UsnJrnl ) los cambios en archivos, flujos y directorios del volumen, así como sus diversos atributos y configuraciones de seguridad. El registro está disponible para que las aplicaciones realicen un seguimiento de los cambios en el volumen. [ 56 ] Este registro se puede habilitar o deshabilitar en volúmenes que no son del sistema. [ 57 ]

La función de enlace duro permite que diferentes nombres de archivo hagan referencia directamente al mismo contenido. Los enlaces duros solo pueden enlazar a archivos en el mismo volumen, ya que cada volumen tiene su propia MFT . Los enlaces duros se incluyeron originalmente para dar soporte al subsistema POSIX en Windows NT. [ 58 ]

Aunque los enlaces duros usan el mismo registro MFT ( inode ) que registra metadatos de archivos como el tamaño del archivo, la fecha de modificación y los atributos, NTFS también almacena en caché estos datos en la entrada del directorio para mejorar el rendimiento. Esto significa que al listar el contenido de un directorio usando la familia de API FindFirstFile/FindNextFile (equivalente a las API opendir/readdir de POSIX), el software que lista el directorio también recibirá esta información en caché, además del nombre y el inode. Sin embargo, es posible que el software no vea información actualizada, ya que esta información solo se garantiza que se actualice cuando se cierra un archivo, y solo para el directorio desde el que se abrió el archivo. [ 59 ] Esto significa que cuando un archivo tiene varios nombres a través de enlaces duros, actualizar un archivo a través de un nombre no actualiza los datos en caché asociados con el otro nombre. El software puede obtener datos actualizados usando GetFileInformationByHandle (que es el equivalente a la función fstat de POSIX). Esto se puede hacer utilizando un identificador que no tenga acceso al archivo en sí (pasando cero a CreateFile para dwDesiredAccess), y cerrar este identificador tiene el efecto incidental de actualizar la información almacenada en caché.

Windows utiliza enlaces duros para admitir nombres de archivo cortos (8.3) en NTFS. La compatibilidad del sistema operativo es necesaria porque existen aplicaciones antiguas que solo funcionan con nombres de archivo 8.3, pero esta compatibilidad se puede deshabilitar. En este caso, se agrega un registro de nombre de archivo y una entrada de directorio adicionales, pero tanto el nombre de archivo 8.3 como el nombre de archivo largo se vinculan y actualizan simultáneamente, a diferencia de un enlace duro convencional.

El sistema de archivos NTFS tiene un límite de 1023 enlaces duros en un archivo. [ 60 ]

Flujo de datos alternativo (ADS)

Las secuencias de datos alternativas permiten asociar más de una secuencia de datos a un nombre de archivo (una bifurcación ), utilizando el formato "nombrearchivo:nombresecuencia" (por ejemplo, "text.txt:secuenciaextra"). Estas secuencias no se muestran ni se pueden editar mediante ninguna aplicación GUI típica integrada en Windows de forma predeterminada, lo que oculta su existencia a la mayoría de los usuarios. Si bien están diseñadas para metadatos útiles , su naturaleza compleja las convierte en un posible escondite para malware, spyware, historial de navegación oculto y otra información potencialmente no deseada.

Las secuencias alternativas no se muestran en el Explorador de Windows y su tamaño no se incluye en el tamaño del archivo. Cuando el archivo se copia o se mueve a otro sistema de archivos sin compatibilidad con ADS, se advierte al usuario que no se pueden conservar las secuencias de datos alternativas. Normalmente, no se proporciona dicha advertencia si el archivo se adjunta a un correo electrónico o se carga en un sitio web. Por lo tanto, el uso de secuencias alternativas para datos críticos puede causar problemas. Microsoft proporciona una herramienta descargable llamada Streams [ 61 ] para ver las secuencias en un volumen seleccionado. A partir de Windows PowerShell 3.0, [ 62 ] es posible administrar ADS de forma nativa con seis cmdlets: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item y Set-Content. [ 63 ]

Un pequeño ADS llamado Zone.Identifieres agregado por Internet Explorer y por la mayoría de los navegadores para marcar los archivos descargados de sitios externos como potencialmente no seguros para ejecutar; el shell local requeriría entonces la confirmación del usuario antes de abrirlos. [ 64 ] Cuando el usuario indica que ya no desea este cuadro de diálogo de confirmación, este ADS se elimina. Esta funcionalidad también se conoce como " Marca de la Web ". [ 65 ] [ 66 ] Todos los navegadores web basados ​​en Chromium (por ejemplo, Google Chrome ) y Firefox también escriben el Zone.Identifierflujo en los archivos descargados.

El malware ha utilizado flujos de datos alternativos para ocultar código. [ 67 ] Desde finales de la década de 2000, algunos escáneres de malware y otras herramientas especiales buscan flujos de datos alternativos. Debido a los riesgos asociados con los ADS, particularmente en lo que respecta a la privacidad y el Zone.Identifierflujo, existe software diseñado específicamente para eliminar flujos de archivos (ciertos flujos con riesgo percibido o todos ellos) de una manera fácil de usar. [ 68 ]

Las secuencias NTFS se introdujeron en Windows NT 3.1 para permitir que Services for Macintosh (SFM) almacenara bifurcaciones de recursos . Aunque las versiones actuales de Windows Server ya no incluyen SFM, los productos de terceros del Protocolo de Archivos de Apple (AFP) (como ExtremeZ-IP de GroupLogic ) siguen utilizando esta característica del sistema de archivos.

Compresión de archivos

La compresión se habilita por carpeta o por archivo configurando el atributo 'compressed'. Cuando la compresión está habilitada en una carpeta, cualquier archivo movido o guardado en esa carpeta se comprimirá automáticamente usando el algoritmo LZNT1 (una variante de LZ77 ). [ 69 ] El algoritmo de compresión está diseñado para admitir tamaños de clúster de hasta 4  KB; cuando el tamaño del clúster es mayor de 4  KB en un volumen NTFS, la compresión NTFS no está disponible. [ 70 ] Los datos se comprimen en bloques de 16 clústeres (hasta 64  KB de tamaño); si la compresión reduce 64  KB de datos a 60 KB o menos, NTFS trata las páginas  innecesarias de 4 KB como clústeres de archivos dispersos vacíos ; no se escriben. Esto permite tiempos de acceso aleatorio razonables ya que el sistema operativo solo tiene que seguir la cadena de fragmentos. 

La compresión funciona mejor con archivos que tienen contenido repetitivo, se escriben con poca frecuencia, se acceden generalmente de forma secuencial y no están comprimidos. Los sistemas de un solo usuario con espacio limitado en el disco duro pueden beneficiarse de la compresión NTFS para archivos pequeños, de 4  KB a 64  KB o más, según su compresibilidad. Los archivos de menos de aproximadamente 900  bytes se almacenan en la entrada del directorio de la MFT . [ 3 ]

Para sistemas operativos distintos de Windows, todas las versiones del controlador NTFS-3G admiten la lectura de archivos comprimidos según sus desarrolladores, pero la compatibilidad para agregar datos a archivos comprimidos, lo que significa agregar nuevos datos y aumentar el tamaño del archivo, se agregó en noviembre de 2009. La sobrescritura de datos comprimidos existentes es compatible desde agosto de 2010. [ 71 ] Varios programas utilizan la compresión de archivos NTFS, como CompactGUI . [ 72 ]

Ventajas

Los usuarios de procesadores multinúcleo rápidos notarán mejoras en la velocidad de las aplicaciones al comprimir sus aplicaciones y datos, así como una reducción en el espacio utilizado. Incluso cuando los controladores SSD ya comprimen los datos, sigue habiendo una reducción en las operaciones de entrada/salida, ya que se transfieren menos datos. [ 73 ]

Según una investigación del equipo de desarrollo de NTFS de Microsoft, entre 50 y 60 GB es un tamaño máximo razonable para un archivo comprimido en un volumen NTFS con un tamaño de clúster (bloque) de 4 KB (predeterminado). Este tamaño máximo razonable disminuye drásticamente para volúmenes con tamaños de clúster más pequeños. [ 74 ]  

Desventajas

Los archivos compresibles grandes se fragmentan mucho ya que cada trozo menor de 64  KB se convierte en un fragmento. [ 74 ] [ 75 ] La memoria flash, como las unidades SSD , no tiene los retrasos de movimiento del cabezal ni el alto tiempo de acceso de los discos duros mecánicos , por lo que la fragmentación tiene una penalización menor.

Windows 2000 no puede iniciarse si NTLDR está comprimido porque los filtros de descompresión aún no se han cargado. [ 76 ] Las versiones posteriores de Windows no permiten comprimir archivos importantes del sistema.

Compresión del sistema

Desde Windows 10 , Microsoft ha introducido un nuevo esquema de compresión de archivos basado en el algoritmo XPRESS con un tamaño de bloque de 4K/8K/16K [ 77 ] y el algoritmo LZX ; [ 78 ] ambos son variantes de LZ77 actualizadas con codificación de entropía de Huffman y codificación de rango , de las que carecía LZNT1. Estos algoritmos de compresión se tomaron del formato de imágenes de Windows (archivo WIM).

El nuevo esquema de compresión es utilizado por la función CompactOS, que reduce el uso del disco al comprimir los archivos del sistema de Windows. [ 79 ] CompactOS no es una extensión de la compresión de archivos NTFS y no utiliza el atributo 'compressed'; en su lugar, establece un punto de reanálisis en cada archivo comprimido con una etiqueta WOF (Windows Overlay Filter), [ 80 ] pero los datos reales se almacenan en un flujo de datos alternativo llamado "WofCompressedData", que es descomprimido sobre la marcha por un controlador de filtro del sistema de archivos WOF , y el archivo principal es un archivo disperso vacío . [ 80 ] Este diseño está pensado exclusivamente para acceso de solo lectura, por lo que cualquier escritura en archivos comprimidos resulta en una descompresión automática. [ 80 ] [ 81 ] [ 82 ]

La compresión CompactOS está destinada a los fabricantes de equipos originales (OEM) que preparan imágenes del sistema operativo con la /compactbandera de la DISMherramienta en Windows ADK , [ 83 ] pero también se puede activar manualmente para cada archivo con la /exebandera del compactcomando. [ 84 ] El algoritmo CompactOS evita la fragmentación de archivos escribiendo los datos comprimidos en bloques asignados de forma contigua, a diferencia de la compresión NTFS básica.

La compresión de archivos de CompactOS es una versión mejorada de la función WIMBoot introducida en Windows 8.1 . WIMBoot reduce el uso del disco de Windows al mantener los archivos del sistema en una imagen WIM comprimida en una partición de disco oculta separada . [ 85 ] De manera similar a CompactOS, los directorios del sistema de Windows solo contienen archivos dispersos marcados por un punto de reanálisis con una etiqueta WOF, y el controlador del filtro de superposición de Windows descomprime el contenido de los archivos sobre la marcha desde la imagen WIM. Sin embargo, WIMBoot es menos eficaz que CompactOS, ya que las nuevas versiones actualizadas de los archivos del sistema deben escribirse en la partición del sistema, consumiendo espacio en disco. [ 80 ]

Archivos dispersos

Un archivo disperso: Los bytes vacíos no necesitan guardarse, por lo que pueden representarse mediante metadatos .
Un petabyte (1.125.899.906.842.624 bytes) de archivos dispersos, 0 bytes en disco.

Los archivos dispersos son archivos con segmentos vacíos intercalados que no utilizan espacio de almacenamiento real. Para las aplicaciones, el archivo se ve como un archivo normal, con las regiones vacías representadas por regiones rellenas de ceros; el sistema de archivos mantiene una lista interna de dichas regiones para cada archivo disperso. [ 86 ] Un archivo disperso no necesariamente incluye áreas de ceros dispersos; el atributo "archivo disperso" simplemente indica que el archivo puede contenerlas.

Las aplicaciones de bases de datos, por ejemplo, pueden usar archivos dispersos. [ 87 ] Al igual que con los archivos comprimidos, los tamaños reales de los archivos dispersos no se tienen en cuenta al determinar los límites de cuota. [ 88 ]

Copia de instantáneas de volumen

El Servicio de instantáneas de volumen (VSS) conserva versiones históricas de archivos y carpetas en volúmenes NTFS copiando los datos antiguos y recién sobrescritos a una instantánea mediante la técnica de copia en escritura . El usuario puede solicitar posteriormente la recuperación de una versión anterior. Esto también permite que los programas de copia de seguridad archiven los archivos que el sistema de archivos está utilizando actualmente.

Windows Vista también introdujo copias de instantáneas persistentes para su uso con las funciones Restaurar sistema y Versiones anteriores . Sin embargo, las copias de instantáneas persistentes se eliminan cuando un sistema operativo anterior monta ese volumen NTFS. Esto sucede porque el sistema operativo anterior no reconoce el formato más reciente de las copias de instantáneas persistentes. [ 28 ]

Actas

A partir de Windows Vista, las aplicaciones pueden usar NTFS transaccional (TxF) para agrupar varios cambios en archivos en una sola transacción. La transacción garantiza que todos los cambios se realicen o ninguno, y que ninguna aplicación externa a la transacción vea los cambios hasta que se confirmen. [ 89 ]

Utiliza técnicas similares a las empleadas para las copias de instantáneas de volumen (es decir, copia en escritura) para garantizar que los datos sobrescritos se puedan revertir de forma segura, y un registro CLFS para marcar las transacciones que aún no se han confirmado, o aquellas que se han confirmado pero aún no se han aplicado por completo (en caso de un fallo del sistema durante una confirmación por parte de uno de los participantes).

NTFS transaccional no restringe las transacciones al volumen NTFS local, sino que también incluye otros datos u operaciones transaccionales en otras ubicaciones, como datos almacenados en volúmenes separados, el registro local, bases de datos SQL o los estados actuales de los servicios del sistema o servicios remotos. Estas transacciones se coordinan en toda la red con todos los participantes mediante un servicio específico, el DTC , para garantizar que todos reciban el mismo estado de confirmación y para transportar los cambios que hayan sido validados por cualquier participante (de modo que los demás puedan invalidar sus cachés locales para datos antiguos o revertir sus cambios pendientes). NTFS transaccional permite, por ejemplo, la creación de sistemas de archivos distribuidos consistentes en toda la red, incluyendo sus cachés locales activas o fuera de línea.

Microsoft ahora desaconseja el uso de TxF: "Microsoft recomienda encarecidamente a los desarrolladores que utilicen medios alternativos", ya que "es posible que TxF no esté disponible en futuras versiones de Microsoft Windows". [ 90 ]

Cuotas

Las cuotas de disco se introdujeron en NTFS v3. Permiten al administrador de un equipo con una versión de Windows compatible con NTFS establecer un límite de espacio en disco que los usuarios pueden utilizar. También permiten a los administradores controlar el espacio en disco que utiliza cada usuario. Un administrador puede especificar un nivel determinado de espacio en disco que un usuario puede utilizar antes de recibir una advertencia y, posteriormente, denegarle el acceso una vez que alcance dicho límite. Las cuotas de disco no tienen en cuenta la compresión de archivos transparente de NTFS , si esta está habilitada. Las aplicaciones que consultan la cantidad de espacio libre también verán la cantidad de espacio libre restante para el usuario al que se le ha aplicado una cuota.

Puntos de reanálisis

Introducidos en NTFS v3, los puntos de reanálisis de NTFS se utilizan asociando una etiqueta de reanálisis en el atributo de espacio de usuario de un archivo o directorio. Microsoft incluye varias etiquetas predeterminadas, como enlaces simbólicos , puntos de unión de directorios y puntos de montaje de volumen . Cuando el Administrador de objetos analiza una búsqueda de nombre del sistema de archivos y encuentra un atributo de reanálisis, vuelve a analizar la búsqueda de nombre, pasando los datos de reanálisis controlados por el usuario a cada controlador de filtro del sistema de archivos cargado en Windows. Cada controlador de filtro examina los datos de reanálisis para ver si están asociados con ese punto de reanálisis y, si encuentra una coincidencia, intercepta la solicitud del sistema de archivos y realiza su función especial.

Fecha y hora

NTFS almacena los atributos de fecha y hora como un entero de 64 bits [ b ] que cuenta los intervalos de 100 nanosegundos desde el comienzo del año 1601, siguiendo la época de Windows NT. Se eligió el año 1601 para alinear el inicio del rango de fechas con el calendario gregoriano con el fin de simplificar los cálculos, dado que el calendario gregoriano opera en un ciclo de 400 años, y el ciclo 1601-2000 era el ciclo activo en el momento en que se concibió Windows NT. [ 91 ]

NTFS registra cuatro tipos de marcas de tiempo: una hora de creación del archivo (interpretada como "hora de nacimiento" en Linux), una hora de última modificación, una última modificación del registro MFT (interpretada como "hora de cambio" en Linux) y una hora de último acceso. Cada una de estas marcas de tiempo tiene la misma granularidad de 100 nanosegundos.

[ 7 ]

Limitaciones

Cambiar tamaño

A partir de Windows Vista , Microsoft incorporó la función para reducir o expandir una partición. Sin embargo, esta función no reubica los fragmentos del archivo de paginación ni los archivos marcados como inamovibles, por lo que reducir un volumen a menudo requiere reubicar o deshabilitar cualquier archivo de paginación , el índice de la Búsqueda de Windows y cualquier copia de instantánea utilizada por Restaurar sistema . Existen diversas herramientas de terceros capaces de redimensionar particiones NTFS.

OneDrive

Desde 2017, Microsoft requiere que la estructura de archivos de OneDrive resida en un disco NTFS. [ 92 ] Esto se debe a que la función Archivos a petición de OneDrive utiliza puntos de análisis NTFS para vincular archivos y carpetas almacenados en OneDrive con el sistema de archivos local, lo que hace que el archivo o la carpeta sean inutilizables con cualquier versión anterior de Windows, con cualquier otro controlador de sistema de archivos NTFS o con cualquier sistema de archivos y utilidades de copia de seguridad que no estén actualizadas para admitirlo. [ 93 ]

Estructura

NTFS se compone de varios elementos, entre ellos: un sector de arranque de partición (PBS) que contiene información de arranque; la tabla maestra de archivos que almacena un registro de todos los archivos y carpetas del sistema de archivos; una serie de metadatos que ayudan a estructurar los metadatos de forma más eficiente; flujos de datos y mecanismos de bloqueo.

Internamente, NTFS utiliza árboles B para indexar los datos del sistema de archivos. Se utiliza un registro del sistema de archivos para garantizar la integridad de los metadatos del sistema de archivos, pero no del contenido de los archivos individuales. Se sabe que los sistemas que utilizan NTFS tienen una fiabilidad mejorada en comparación con los sistemas de archivos FAT. [ 94 ]

NTFS permite cualquier secuencia de valores de 16 bits para la codificación de nombres (por ejemplo, nombres de archivos, nombres de flujos o nombres de índices) excepto 0x0000. Esto significa que se admiten unidades de código UTF-16 , pero el sistema de archivos no comprueba si una secuencia es UTF-16 válida (permite cualquier secuencia de valores cortos , no restringida a las del estándar Unicode). En el espacio de nombres Win32, cualquier unidad de código UTF-16 no distingue entre mayúsculas y minúsculas, mientras que en el espacio de nombres POSIX sí lo hace. Los nombres de archivo están limitados a 255 unidades de código UTF-16. Ciertos nombres están reservados en el directorio raíz del volumen y no se pueden usar para archivos. Estos son $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, .(punto), $Bitmap, $Boot, $BadClus, $Secure, $UpCase, y $Extend. [ 3 ]. (punto) y $Extendson ambos directorios; los demás son archivos. El kernel de NT limita las rutas completas a 32.767 unidades de código UTF-16. Hay algunas restricciones adicionales en los puntos de código y los nombres de archivo. [ 95 ]

Sector de arranque de partición (PBS)

Este formato de partición de arranque se basa aproximadamente en el sistema de archivos FAT anterior , pero los campos se encuentran en ubicaciones diferentes. Algunos de estos campos, especialmente los de "sectores por pista", "número de cabezales" y "sectores ocultos", pueden contener valores ficticios en unidades donde no tienen sentido o no se pueden determinar.

El sistema operativo primero examina los 8 bytes en la dirección 0x30 para encontrar el número de clúster de la $MFT, y luego multiplica ese número por la cantidad de sectores por clúster (1 byte en la dirección 0x0D). Este valor es el desplazamiento de sector ( LBA ) a la $MFT, que se describe a continuación.

Tabla de archivo maestro

En NTFS, todos los datos de archivos, directorios y metarchivos (nombre del archivo, fecha de creación, permisos de acceso (mediante listas de control de acceso ) y tamaño) se almacenan como metadatos en la Tabla Maestra de Archivos ( MFT ). Este enfoque abstracto permitió añadir fácilmente funcionalidades del sistema de archivos durante el desarrollo de Windows NT; un ejemplo es la adición de campos de indexación utilizados por Active Directory y la Búsqueda de Windows . Esto también permite que el software de búsqueda de archivos localice rápidamente archivos y carpetas locales con nombre incluidos en la MFT, sin necesidad de ningún otro índice.

La estructura MFT admite algoritmos que minimizan la fragmentación del disco . [ 98 ] Una entrada de directorio consta de un nombre de archivo y un "ID de archivo" (análogo al número de inodo ), que es el número de registro que representa el archivo en la Tabla Maestra de Archivos. El ID de archivo también contiene un contador de reutilización para detectar referencias obsoletas. Si bien esto se asemeja mucho al W_FID de Files-11 , otras estructuras NTFS difieren radicalmente.

Se almacena una copia parcial de la MFT, denominada espejo de la MFT, para ser utilizada en caso de corrupción. [ 99 ] Si el primer registro de la MFT está dañado, NTFS lee el segundo registro para encontrar el archivo espejo de la MFT. Las ubicaciones de ambos archivos se almacenan en el sector de arranque. [ 100 ]

Metarchivos

NTFS contiene varios archivos que definen y organizan el sistema de archivos. En general, la mayoría de estos archivos están estructurados como cualquier otro archivo de usuario (siendo Volume el más peculiar), pero no son de interés directo para los clientes del sistema de archivos. [ 101 ] Estos metarchivos definen archivos, realizan copias de seguridad de datos críticos del sistema de archivos, almacenan en búfer los cambios del sistema de archivos, gestionan la asignación de espacio libre, cumplen con las expectativas de la BIOS , rastrean las unidades de asignación defectuosas y almacenan información de seguridad y uso del espacio en disco. Todo el contenido se encuentra en un flujo de datos sin nombre, a menos que se indique lo contrario.

Estos metarchivos son tratados de manera especial por Windows, manejados directamente por el NTFS.SYScontrolador y son difíciles de ver directamente: se necesitan herramientas especiales diseñadas para ello. [ d ] A partir de Windows 7, el controlador NTFS prohíbe completamente el acceso del usuario, lo que resulta en un BSoD cada vez que se intenta ejecutar un archivo de metadatos. Una de estas herramientas es nfi.exe ("Utilidad de información del sector de archivos NTFS") que se distribuye gratuitamente como parte de las "Herramientas de soporte OEM" de Microsoft. Por ejemplo, para obtener información sobre el "$MFT" - Segmento de tabla maestra de archivos se utiliza el siguiente comando: nfi.exe c:\$MFT[ 102 ] Otra forma de eludir la restricción es usar el administrador de archivos de 7-Zip e ir a la ruta NTFS de bajo nivel \\.\X:\(donde X:\se asemeja a cualquier unidad/partición). Aquí, aparecerán 3 nuevas carpetas: $EXTEND, [DELETED](una pseudocarpeta que 7-Zip usa para adjuntar archivos eliminados del sistema de archivos para verlos) y [SYSTEM](otra pseudocarpeta que contiene todos los archivos de metadatos NTFS). Este truco se puede utilizar desde dispositivos extraíbles ( unidades flash USB , discos duros externos , tarjetas SD , etc.) dentro de Windows, pero hacerlo en la partición activa requiere acceso sin conexión (es decir, WinRE ).

Listas de atributos, atributos y flujos

Para cada archivo (o directorio) descrito en el registro MFT, existe un repositorio lineal de descriptores de flujo (también llamados atributos ), empaquetados en uno o más registros MFT (que contienen la llamada lista de atributos ), con relleno adicional para completar el tamaño fijo de 1  KB de cada registro MFT, y que describe completamente los flujos efectivos asociados con ese archivo.

Cada atributo tiene un tipo de atributo (un entero de tamaño fijo que se corresponde con la definición del atributo en el archivo $AttrDef ), un nombre de atributo opcional (por ejemplo, utilizado como nombre para un flujo de datos alternativo) y un valor, representado en una secuencia de bytes. En NTFS, los datos estándar de los archivos, los flujos de datos alternativos o los datos de índice de los directorios se almacenan como atributos.

Según $AttrDef , algunos atributos pueden ser residentes o no residentes. El atributo $DATA , que contiene datos de archivo, es un ejemplo de ello. Cuando el atributo es residente (lo que se representa mediante un indicador), su valor se almacena directamente en el registro MFT. En caso contrario, se asignan clústeres para los datos y la información de ubicación del clúster se almacena como datos en el atributo.

  • Para cada archivo en la MFT, los atributos identificados por tipo y nombre deben ser únicos. Además, NTFS impone ciertas restricciones de orden para estos atributos.
  • Existe un tipo de atributo nulo predefinido que se utiliza para indicar el final de la lista de atributos en un registro MFT. Debe estar presente como el último atributo del registro (todo el espacio de almacenamiento disponible después de él se ignorará y consistirá simplemente en bytes de relleno para ajustarse al tamaño del registro en el MFT).
  • Algunos tipos de atributos son obligatorios y deben estar presentes en cada registro MFT, excepto en los registros no utilizados, que se indican simplemente mediante tipos de atributos nulos.
    • Este es el caso del atributo $STANDARD_INFORMATION , que se almacena como un registro de tamaño fijo y contiene las marcas de tiempo y otros atributos básicos de un solo bit (compatibles con los administrados por FAT en DOS o Windows 9x ).
  • Algunos tipos de atributos no pueden tener nombre y deben permanecer anónimos.
    • Esto se aplica a los atributos estándar, al atributo preferido "nombre de archivo" de NTFS o al atributo "nombre de archivo corto", cuando este último también está presente (para compatibilidad con aplicaciones tipo DOS, véase más abajo). También es posible que un archivo contenga únicamente un nombre de archivo corto, en cuyo caso este será el preferido, tal como aparece en el Explorador de Windows.
    • Los atributos del nombre de archivo almacenados en la lista de atributos no hacen que el archivo sea inmediatamente accesible a través del sistema de archivos jerárquico . De hecho, todos los nombres de archivo deben indexarse ​​por separado en al menos otro directorio del mismo volumen. Allí, cada archivo debe tener su propio registro MFT y sus propios descriptores y atributos de seguridad que hagan referencia al número de registro MFT correspondiente. Esto permite que el mismo archivo o directorio se enlace varias veces desde diferentes contenedores del mismo volumen, posiblemente con nombres de archivo distintos.
  • El flujo de datos predeterminado de un archivo regular es un flujo de tipo $DATA pero con un nombre anónimo, y los ADS son similares pero deben tener un nombre.
  • Por otro lado, el flujo de datos predeterminado de los directorios tiene un tipo distinto, pero no son anónimos: tienen un nombre de atributo (" $I30 " en NTFS 3+) que refleja su formato de indexación.

Todos los atributos de un archivo determinado pueden visualizarse mediante nfi.exe ("Utilidad de información del sector de archivos NTFS"), que se distribuye gratuitamente como parte de las "Herramientas de soporte OEM" de Microsoft. [ 102 ]

Las llamadas al sistema de Windows pueden manejar flujos de datos alternativos. [ 3 ] Dependiendo del sistema operativo, la utilidad y el sistema de archivos remoto, una transferencia de archivos podría eliminar silenciosamente los flujos de datos. [ 3 ] Una forma segura de copiar o mover archivos es usar las llamadas al sistema BackupRead y BackupWrite, que permiten a los programas enumerar los flujos, verificar si cada flujo debe escribirse en el volumen de destino y omitir conscientemente los flujos no deseados. [ 3 ]

Atributos de residente frente a no residente

Para optimizar el almacenamiento y reducir la sobrecarga de E/S en el caso muy común de atributos con un valor asociado muy pequeño, NTFS prefiere colocar el valor dentro del propio atributo (si el tamaño del atributo no excede el tamaño máximo de un registro MFT), en lugar de usar el espacio del registro MFT para listar clústeres que contienen los datos; en ese caso, el atributo no almacenará los datos directamente, sino que solo almacenará un mapa de asignación (en forma de secuencias de datos ) que apunta a los datos reales almacenados en otra parte del volumen. [ 103 ] Cuando se puede acceder al valor directamente desde dentro del atributo, se denomina "datos residentes" (por los expertos en informática forense ). La cantidad de datos que cabe depende en gran medida de las características del archivo, pero entre 700 y 800 bytes es común en archivos de flujo único con nombres de archivo cortos y sin ACL.

  • Algunos atributos (como el nombre de archivo preferido y los atributos básicos del archivo) no pueden ser no residentes. Para los atributos no residentes, su mapa de asignación debe ajustarse a los registros MFT.
  • Las secuencias de datos cifradas mediante NTFS, las secuencias de datos dispersas o las secuencias de datos comprimidas no pueden almacenarse de forma residente.
  • El formato del mapa de asignación para atributos no residentes depende de su capacidad para admitir el almacenamiento de datos dispersos. En la implementación actual de NTFS, una vez que un flujo de datos no residente se ha marcado y convertido como disperso, no se puede volver a convertir en datos no dispersos, por lo que no puede volver a ser residente, a menos que estos datos se trunquen por completo, descartando totalmente el mapa de asignación disperso.
  • Cuando un atributo no residente está tan fragmentado que su mapa de asignación efectivo no cabe completamente en un registro MFT, NTFS lo almacena en varios registros. El primero se denomina registro base, mientras que los demás se denominan registros de extensión. NTFS crea un atributo especial, $ATTRIBUTE_LIST, para almacenar información que relaciona las distintas partes del atributo largo con los registros MFT, lo que significa que el mapa de asignación puede dividirse en varios registros. El propio atributo $ATTRIBUTE_LIST también puede ser no residente, pero su mapa de asignación debe caber en un registro MFT.
  • Cuando un archivo tiene demasiados atributos (incluidos los ADS, los atributos extendidos o los descriptores de seguridad ) y no caben todos en el registro MFT, también se pueden usar registros de extensión para almacenar los demás atributos, utilizando el mismo formato que el utilizado en el registro MFT base, pero sin las limitaciones de espacio de un solo registro MFT.

El mapa de asignación se almacena en forma de secuencias de datos con codificación comprimida. Cada secuencia de datos representa un grupo contiguo de clústeres que almacenan el valor del atributo. Para archivos en un volumen de varios GB, cada entrada se puede codificar como de 5 a 7 bytes, lo que significa queUn registro MFT de 1 KB  puede almacenar aproximadamente 100 de esas secuencias de datos. Sin embargo, como $ATTRIBUTE_LIST también tiene un límite de tamaño, es peligroso tener más de 1 millón de fragmentos de un solo archivo en un volumen NTFS, lo que también implica que, en general, no es una buena idea usar la compresión NTFS en un archivo más grande que10 GB  . [ 104 ]

En ocasiones, el controlador del sistema de archivos NTFS intentará reubicar los datos de algunos de los atributos que pueden hacerse no residentes en los clústeres, y también intentará reubicar los datos almacenados en los clústeres de vuelta al atributo dentro del registro MFT, según las reglas de prioridad y ordenación preferida, y las restricciones de tamaño.

Dado que los archivos residentes no ocupan directamente clústeres ("unidades de asignación"), es posible que un volumen NTFS contenga más archivos que clústeres. Por ejemplo, unPartición de 74,5  GB en formato NTFS con 19.543.064 clústeres de4  KB . Restando archivos del sistema (unUn archivo de registro de 64 MB  , un archivo Bitmap de 2.442.888 bytes y aproximadamente 25 clústeres de sobrecarga fija dejan 19.526.158 clústeres libres para archivos e índices. Dado que hay cuatro registros MFT por clúster, este volumen teóricamente podría contener casi 4 × 19.526.158 = 78.104.632 archivos residentes.

cerraduras oportunistas

Los bloqueos de archivos oportunistas (oplocks) permiten a los clientes modificar su estrategia de almacenamiento en búfer para un archivo o flujo determinado con el fin de aumentar el rendimiento y reducir el uso de la red. [ 105 ] Los oplocks se aplican al flujo abierto de un archivo y no afectan a los oplocks de un flujo diferente.

Los Oplocks permiten acceder a archivos de forma transparente en segundo plano. Un cliente de red puede evitar escribir información en un archivo de un servidor remoto si ningún otro proceso está accediendo a los datos, o puede almacenar en búfer los datos de lectura anticipada si ningún otro proceso está escribiendo datos.

Windows admite cuatro tipos diferentes de bloqueos de acceso (oplocks):

  • Bloqueo de nivel 2 (o compartido): múltiples lectores, ningún escritor (es decir, almacenamiento en caché de lectura).
  • Oplock de nivel 1 (o exclusivo): acceso exclusivo con almacenamiento en búfer arbitrario (es decir, almacenamiento en caché de lectura y escritura).
  • Bloqueo por lotes (también exclusivo): se abre un flujo en el servidor, pero se cierra en la máquina cliente (es decir, almacenamiento en caché de lectura, escritura y manejo).
  • Bloqueo de filtro (también exclusivo): las aplicaciones y los filtros del sistema de archivos pueden "retirarse" cuando otros intentan acceder al mismo flujo (es decir, almacenamiento en caché de lectura y escritura) (desde Windows 2000).

Los bloqueos oportunistas se han mejorado en Windows 7 y Windows Server 2008 R2 con claves oplock por cliente. [ 106 ]

Tiempo

Windows NT y sus descendientes conservan las marcas de tiempo internas en UTC y realizan las conversiones adecuadas para su visualización; todas las marcas de tiempo NTFS están en UTC.

Por razones históricas, las versiones de Windows que no admiten NTFS mantienen la hora internamente según la hora de la zona horaria local, al igual que el sistema de archivos FAT . Esto significa que cuando se copian o mueven archivos entre particiones NTFS y FAT, el sistema operativo necesita convertir las marcas de tiempo sobre la marcha. Sin embargo, si algunos archivos se mueven durante el horario de verano y otros durante el horario estándar , pueden producirse ambigüedades en las conversiones. Como resultado, especialmente poco después de un cambio de hora en la zona horaria local, los usuarios pueden observar que algunos archivos tienen marcas de tiempo con una diferencia de una hora. Debido a las diferencias en la implementación del horario de verano en distintas jurisdicciones, esto puede generar un error potencial en la marca de tiempo de hasta 4  horas en un período de 12  meses. [ 107 ]

Este problema se agrava aún más en el caso de los ordenadores cuya zona horaria local cambia ocasionalmente (por ejemplo, debido al traslado del ordenador de una zona horaria a otra, como suele ocurrir con los ordenadores portátiles y otros dispositivos portátiles).

Véase también

Notas

  1. 1 2 3 4 5 6 7 8 9 10 1 byte = 8 bits 1 KB = 1.024bytes1 MB = 1.048.576 bytes1 GB = 1.073.741.824 bytes 1 TB = 1.099.511.627.776 bytes1 PB = 1.125.899.906.842.624 bytes1 EB = 1.152.921.504.606.846.976 bytes
  2. 1 2 ntfs-3g lo interpreta como un entero con signo, mientras que ntfs3 lo interpreta como un entero sin signo, aunque esto último parece más probable dado que el valor con signo se desbordará hasta bien entrado el año 30828 si se permiten valores negativos, o se convertirá de facto en un entero sin signo de 63 bits si solo se permiten valores positivos, desperdiciando el espacio de un bit. Dado que NTFS es propietario y se conoce principalmente mediante ingeniería inversa, Microsoft no ha declarado públicamente cuál es la intención. ntfsdoc.pdf tampoco lo especifica. Pero de todos modos no habrá diferencia hasta el año 30828.
  3. También puede ser de 32 bits, siempre que el firmware y el cargador del sistema operativo tengan el mismo tamaño.
  4. Desde Windows XP, es muy difícil ver una lista de estos archivos: existen en el índice del directorio raíz, pero la interfaz Win32 los filtra. En NT 4.0, eldircomando de línea de comandos listaba los metarchivos en el directorio raíz si/ase especificaba. En Windows 2000,dir /adejó de funcionar, perodir /a \$MFTfuncionaba.

Referencias

  1. 1 2 Karresand, Martin; Axelsson, Stefan; Dyrkolbotn, Geir Olav (2019-07-01). "Uso del comportamiento de asignación de clústeres NTFS para encontrar la ubicación de los datos del usuario" . Investigación digital . 29 : –51–S60. doi : 10.1016/j.diin.2019.04.018 . hdl : 11250/2631756 . ISSN 1742-2876 . S2CID 199004263 .  
  2. 1 2 "Glosario" . [MS-EFSR]: Protocolo de cifrado remoto del sistema de archivos (EFSRPC) . Microsoft. 14 de noviembre de 2013.
  3. 1 2 3 4 5 6 7 8 9 "Cómo funciona NTFS" . Referencia técnica de Windows Server 2003. Microsoft. 8 de octubre de 2009. Recuperado el 25 de enero de 2025 .
  4. "B*Trees – Árboles de directorios NTFS – Concepto – Documentación NTFS" . flatcap.org . Archivado del original el 13 de mayo de 2019. Consultado el 13 de mayo de 2019 .
  5. 1 2 3 4 "Apéndice A: Comportamiento del producto" . [MS-FSA]: Algoritmos del sistema de archivos . Microsoft. 12 de septiembre de 2018. Recuperado el 1 de octubre de 2018. NTFS utiliza un tamaño de clúster predeterminado de 4 KB, un tamaño máximo de clúster de 64 KB en el sistema operativo Windows 10 v1703 y Windows Server 2016 y versiones anteriores, y 2 MB en el sistema operativo Windows 10 v1709 y Windows Server 2019 y versiones posteriores, y un tamaño mínimo de clúster de 512 bytes.
  6. "Apéndice A: Comportamiento del producto" . [MS-FSA]: Algoritmos del sistema de archivos . Microsoft. 14 de noviembre de 2013. Consultado el 21 de septiembre de 2012 .
  7. 1 2 3 Russon, Richard; Fledel, Yuval. "Documentación NTFS" (PDF) . Archivado (PDF) del original el 09-10-2022 . Recuperado el 26-06-2011 .
  8. Rick Vanover (14 de septiembre de 2011). "Desduplicación de datos en Windows Server 8" . Archivado del original el 18 de julio de 2016. Consultado el 2 de diciembre de 2011 .
  9. "El nuevo sistema de archivos tecnológicos". Informática forense . 2007. págs. 215–275 . doi : 10.1007/978-1-84628-732-9_6 . ISBN  978-1-84628-397-0.
  10. Weiss, David (1 de agosto de 2022). "¿Qué es NTFS y cómo funciona?" . Datto . Consultado el 14 de agosto de 2024 .
  11. Hassan, Nihad Ahmad; Hijazi, Rami (2017). "Ocultación de datos bajo la estructura de archivos del sistema operativo Windows®". Técnicas de ocultación de datos en el sistema operativo Windows . págs. 97–132 . doi : 10.1016/B978-0-12-804449-0.00004-X . ISBN  978-0-12-804449-0.
  12. 1 2 Custer, Helen (1994). Dentro del sistema de archivos de Windows NT . Microsoft Press . ISBN 978-1-55615-660-1.
  13. "NTFS3 — La documentación del kernel de Linux" . www.kernel.org . Consultado el 2 de diciembre de 2021 .
  14. "ntfs-3g" . www.freebsd.org . Consultado el 2 de diciembre de 2021 .
  15. Arch Linux - ntfs-3g 2022.10.3-1 (x86_64)
  16. Kozierok, Charles (14 de febrero de 2018). "Descripción general e historia de NTFS" . The PC Guide . Recuperado el 30 de mayo de 2019 .
  17. Custer, Helen (1994). Inside the Windows NT File System . Microsoft Press . pág. vii. ISBN  978-1-55615-660-1.
  18. "Recuperación de Windows NT tras un fallo de arranque en una unidad NTFS" . Microsoft. 1 de noviembre de 2006.
  19. 1 2 Russinovich, Mark (30 de junio de 2006). "Dentro de Win2K NTFS, Parte 1" . Microsoft Learn . Microsoft . Recuperado el 18 de abril de 2008 .
  20. "¿Qué hay de nuevo en Windows NT 4.0 Service Pack 4?" . Microsoft.com . 12 de enero de 1999. Archivado del original el 17 de enero de 1999. Consultado el 17 de agosto de 2018 .
  21. "Nuevas capacidades y características del sistema de archivos NTFS 3.1" . Microsoft. 1 de diciembre de 2007. Archivado del original el 16 de noviembre de 2006.
  22. "Descripción general de NTFS" . LSoft Technologies Inc.
  23. Loveall, John (2006). "Mejoras de almacenamiento en Windows Vista y Windows Server 2008" (PowerPoint) . Microsoft. págs. 14–20 . Recuperado el 4 de septiembre de 2007 . 
  24. "Compatibilidad de Windows con discos duros de más de 2 TB" . Microsoft Learn . 26 de junio de 2013. Consultado el 8 de agosto de 2024 .
  25. "Tamaño de clúster predeterminado para NTFS, FAT y exFAT" . Soporte técnico de Microsoft . Archivado del original el 9 de marzo de 2024.
  26. "Arranque desde GPT" . Rodsbooks.com . Consultado el 22 de septiembre de 2018 .
  27. "NTFS vs FAT vs exFAT – NTFS.com" . www.ntfs.com . Consultado el 19 de enero de 2021 .
  28. 1 2 cfsbloggers (14 de julio de 2006). "Cómo se ven afectados los puntos de restauración y otras funciones de recuperación en Windows Vista al arrancar en paralelo con Windows XP" . The Filing Cabinet . Archivado del original el 18 de julio de 2006. Recuperado el 21 de marzo de 2007 .
  29. "Cómo convertir discos FAT a NTFS" . Karl's Technology . 18 de diciembre de 2017. Consultado el 30 de mayo de 2019 .
  30. "Preguntas frecuentes: Cómo usar Convert.exe para convertir una partición al sistema de archivos NTFS" . The Educationsl University of Hong Kong . 12 de febrero de 2007. Archivado del original el 6 de diciembre de 2023. Consultado el 26 de diciembre de 2010 .
  31. "Notas de la versión de FreeBSD 3.2" . 17 de mayo de 1999. Consultado el 15 de junio de 2020 .
  32. 1 2 "mount_ntfs – Páginas del manual de OpenBSD" . Consultado el 15 de junio de 2020 .
  33. "Anuncio de NetBSD 1.5" . 6 de diciembre de 2000. Consultado el 15 de junio de 2020 .
  34. "OpenBSD 4.9" . Openbsd.com . Consultado el 22 de septiembre de 2018 .
  35. 1 2 "Créditos e historia de NTFS" . Proyecto Linux-NTFS . Archivado del original el 24/09/2021 . Recuperado el 24/09/2021 .
  36. "Desarrollo del kernel" . lwn.net . 2 de mayo de 2002. Consultado el 5 de septiembre de 2021 .
  37. "Notas de la versión v2.5.11" . 29 de abril de 2002. Consultado el 5 de septiembre de 2021 .
  38. "Registro de cambios 2.6.15" . Proyecto Linux . 3 de enero de 2006. Archivado del original el 5 de septiembre de 2021. Consultado el 5 de septiembre de 2021 .
  39. Anderson, Tim (6 de septiembre de 2021). "GitHub fusiona 'basura inútil', dice Linus Torvalds, mientras se agrega soporte para NTFS al kernel de Linux 5.15" . The Register . Consultado el 7 de septiembre de 2021 .
  40. "OpenBSD añade soporte para fuse(4) para añadir sistemas de archivos en el espacio de usuario" . OpenBSD Journal . 8 de noviembre de 2013. Consultado el 8 de noviembre de 2013 .
  41. "Controlador estable de lectura/escritura NTFS-3G" . 25/07/2009.
  42. "Tuxera NTFS para Mac" . Tuxera. 30 de agosto de 2011. Consultado el 20 de septiembre de 2011 .
  43. "Jan Kratochvil: Captive: El primer sistema de archivos NTFS gratuito de lectura/escritura para GNU/Linux" . Consultado el 15 de junio de 2020 .
  44. "Acerca de Tuxera" . Consultado el 15 de junio de 2020 .
  45. "10.6: Habilitar la compatibilidad nativa de lectura/escritura NTFS" . 1 de octubre de 2009. Archivado del original el 5 de septiembre de 2021. Recuperado el 5 de septiembre de 2021 .
  46. "Microsoft NTFS para Mac" . Paragon Software Group . Consultado el 8 de agosto de 2024 .
  47. "El líder en soluciones de almacenamiento masivo de datos | Seagate EE. UU." . Seagate.com . Archivado del original el 10 de febrero de 2011.
  48. "Complemento NTFS para NetDrive" . ecsoft2.org . Consultado el 9 de septiembre de 2020 .
  49. "NetDrive para OS/2" . arcanoae.com . Consultado el 9 de septiembre de 2020 .
  50. "Avira NTFS4DOS Personal" . Archivado del original el 19 de junio de 2010. Consultado el 25 de julio de 2009 .
  51. "Descargar Avira NTFS4DOS Personal 1.9" . Archivado del original el 10 de noviembre de 2013. Consultado el 22 de septiembre de 2018 .
  52. 1 2 "Cómo funcionan los descriptores de seguridad y las listas de control de acceso" . Microsoft Learn . Microsoft . 8 de octubre de 2009. Consultado el 4 de septiembre de 2015 .
  53. Morello, John (febrero de 2007). "Security Watch: Implementación de EFS: Parte 1" . Technet Magazine . Microsoft . Recuperado el 25 de enero de 2025 .
  54. "Cómo funciona EFS" . Kit de recursos de Windows 2000 Server . Microsoft . 18 de julio de 2012. Consultado el 25 de enero de 2025 .
  55. "Consideraciones de compatibilidad de volumen de Windows 8 con versiones anteriores de Windows" . 17 de enero de 2024. Consultado el 8 de agosto de 2024 .
  56. "Diarios de cambios" . Microsoft Learn . Microsoft . 7 de enero de 2021. Consultado el 12 de agosto de 2023 .
  57. "Creación, modificación y eliminación de un registro de cambios (Windows)" . Microsoft Learn . Microsoft . 7 de enero de 2021. Consultado el 12 de agosto de 2023 .
  58. "Capítulo 29 – Compatibilidad con POSIX" . Guía de recursos de MS Windows NT Workstation 4.0 . Microsoft . 1995. Consultado el 25 de enero de 2025 .
  59. "Enlaces y uniones duras" . Microsoft Learn . Microsoft . 21 de junio de 2024. Consultado el 25 de enero de 2025 .
  60. "Función CreateHardLinkA (winbase.h)" . Junio ​​de 2023. Consultado el 25 de enero de 2025 .
  61. "Streams – Sysinternals" . Microsoft Learn . Microsoft . 23 de marzo de 2021. Consultado el 12 de agosto de 2023 .
  62. "Novedades de Windows PowerShell 5.0 - PowerShell § Nuevas características de Windows PowerShell 3.0" . Microsoft Learn . 16 de diciembre de 2022. Consultado el 4 de enero de 2026 .
  63. "about_FileSystem_Provider - PowerShell" . Microsoft Learn . 30 de septiembre de 2025. Consultado el 4 de enero de 2026 .
  64. Russinovich, Mark E .; Solomon, David A.; Ionescu, Alex (2009). "Sistemas de archivos". Windows Internals (5.ª ed.). Microsoft Press. pág. 921. ISBN   978-0-7356-2530-3Un componente de Windows que utiliza múltiples flujos de datos es el Servicio de ejecución de archivos adjuntos [...] dependiendo de la zona desde la que se descargó el archivo [...] El Explorador de Windows podría advertir al usuario .
  65. Boyd, Christopher (26 de octubre de 2022). "El truco de la firma mal formada puede eludir la Marca de la Web" . Malwarebytes . Recuperado el 15 de mayo de 2023 .
  66. DHB-MSFT (28 de febrero de 2023). "Las macros de internet están bloqueadas de forma predeterminada en Office: Implementar Office" . Microsoft Learn . Consultado el 15 de mayo de 2023 .
  67. "¿Malware que utiliza flujos de datos alternativos?" . Blog de AusCERT . 21 de agosto de 2007. Archivado del original el 23 de febrero de 2011.
  68. "Fafalone/ZoneStripper" . GitHub .
  69. "Compresión y descompresión de archivos" . MSDN Platform SDK: Sistemas de archivos . Consultado el 18 de agosto de 2005 .
  70. "Tamaño de clúster predeterminado para los sistemas de archivos NTFS y FAT" . Microsoft. 31 de enero de 2002. Consultado el 10 de enero de 2012 .
  71. Jean-Pierre André. "Compresión de datos" . Tuxera . Archivado del original el 27 de julio de 2013. Consultado el 25 de abril de 2025 .
  72. Conway, Adam (1 de mayo de 2025). "Utilizo esta herramienta gratuita de código abierto para comprimir significativamente mis juegos en Windows sin ninguna pérdida de rendimiento" . XDA . Consultado el 7 de febrero de 2026 .
  73. Masiero, Manuel (1 de diciembre de 2011). "¿Deberías comprimir los datos en tu SSD?" . Tom's Hardware . Bestofmedia Group . Consultado el 5 de abril de 2013 .
  74. 1 2 Middleton, Dennis. "Understanding NTFS Compression" . Ntdebugging Blog . Microsoft . Archivado del original el 29 de junio de 2011. Recuperado el 16 de marzo de 2011 .
  75. "Reduciendo la brecha: tallando archivos comprimidos en NTFS" . Consultado el 29 de mayo de 2011 .
  76. "Conceptos y solución de problemas de discos" . Kit de recursos de Windows 2000 Server . Microsoft. 11 de septiembre de 2008. Reemplazo del sector de arranque con el proceso de reparación de emergencia . Consultado el 26 de marzo de 2012 .
  77. " [ MS-XCA ] : Algoritmo de compresión Xpress" . 31 de enero de 2023.
  78. "wimlib: la biblioteca de código abierto de imágenes de Windows (WIM) – Algoritmo de compresión" .
  79. "Sistema operativo compacto, instancia única y optimización de imágenes" . Microsoft . Consultado el 1 de octubre de 2019 .
  80. 1 2 3 4 Raymond Chen (18 de junio de 2019). "¿Qué es WofCompressedData? ¿Significa WOF que Windows es un perro?" . Microsoft DevBlogs .
  81. Biggers, Eric (29 de abril de 2019). "Complemento NTFS-3G para leer archivos "comprimidos por el sistema" . GitHub . Consultado el 1 de octubre de 2019 .
  82. "Re: [ ntfs-3g-devel ] Soporte experimental para archivos "System Compressed" de Windows 10" . SourceForge.net . Consultado el 1 de octubre de 2019 .
  83. "Descripción general de DISM" . 15 de diciembre de 2021.
  84. "Compacto" . 3 de febrero de 2023.
  85. "Información general sobre el arranque mediante archivo de imagen de Windows (WIMBoot)" . 10 de marzo de 2015.
  86. "Archivos dispersos" . Microsoft Learn . Microsoft . 7 de enero de 2021. Consultado el 25 de enero de 2025 .
  87. Kandoth, Suresh B. (4 de marzo de 2009). "Errores de archivos dispersos: 1450 o 665 debido a la fragmentación de archivos: correcciones y soluciones alternativas" . CSS SQL Server Engineers . Microsoft . Archivado del original el 21 de octubre de 2013. Recuperado el 21 de octubre de 2013 .
  88. "Archivos dispersos y cuotas de disco" . Microsoft Learn . Microsoft . 15 de agosto de 2023. Consultado el 25 de enero de 2025 .
  89. "Acerca de NTFS transaccional" . Microsoft Learn . Microsoft . 7 de enero de 2021. Consultado el 25 de enero de 2025 .
  90. "NTFS transaccional (TxF)" . Microsoft Learn . Microsoft . 20 de julio de 2022. Consultado el 12 de agosto de 2023 .
  91. Raymond Chen (6 de marzo de 2009). "¿Por qué la época de Win32 es el 1 de enero de 1601? – Lo viejo y lo nuevo" . Archivado del original el 17 de agosto de 2016. Consultado el 17 de julio de 2025 .
  92. "No se puede abrir el contenido sincronizado en una carpeta de OneDrive en una unidad externa" . Soporte técnico de Microsoft . Consultado el 3 de abril de 2021 .
  93. André, Jean-Pierre (1 de marzo de 2019). "NTFS-3G: Puntos de unión, enlaces simbólicos y puntos de reanálisis" . jp-andre.pagesperso-orange.fr . Archivado del original el 28 de agosto de 2022.
  94. "Capítulo 18: Elección de un sistema de archivos" . Guía de recursos de MS Windows NT Workstation 4.0 . Microsoft . 20 de febrero de 2014. Consultado el 25 de enero de 2025 .
  95. "Nomenclatura de archivos, rutas y espacios de nombres" . Microsoft Learn . Microsoft . 28 de agosto de 2024. Convenciones de nomenclatura . Consultado el 25 de enero de 2025 .
  96. "NTFS. Sector de arranque de partición" . Ntfs.com . Archivado del original el 19 de julio de 2016. Consultado el 22 de septiembre de 2018 .
  97. "Sector de arranque" . Microsoft Learn . 11 de septiembre de 2008. Tabla 1.13 Campos BPB y BPB extendidos en volúmenes NTFS . Consultado el 22 de septiembre de 2018 .
  98. "Tabla maestra de archivos (sistemas de archivos locales)" . Microsoft Learn . Microsoft . 28 de agosto de 2024.
  99. "Forense: ¿Qué es el espejo MFT?" . ¿Dónde están sus datos? . 5 de junio de 2009 . Consultado el 30 de julio de 2021 .
  100. "Tabla maestra de archivos NTFS (MFT)" . Ntfs.com . Consultado el 22 de septiembre de 2018 .
  101. Schwarz, Thomas. "COEN 252 Informática Forense NTFS" . Facultad de Organización e Informática, Universidad de Zagreb. Archivado del original el 27 de febrero de 2021. Consultado el 30 de mayo de 2019 .
  102. 1 2 "Disponibilidad de la versión 2 del servicio de la fase 3 de las herramientas de soporte OEM" . Microsoft Corporation. 21 de febrero de 2007. Archivado del original el 23 de febrero de 2015. Consultado el 16 de junio de 2010. Utilidad de información del sector de archivos del sistema de archivos Windows NT (NTFS)... Una herramienta utilizada para volcar información sobre un volumen NTFS.
  103. "Las cuatro etapas del crecimiento de archivos NTFS" . Archivado del original el 23 de septiembre de 2018. Consultado el 22 de septiembre de 2018 .
  104. "Un archivo muy fragmentado en un volumen NTFS no puede crecer más allá de cierto tamaño" . Archivado del original el 6 de mayo de 2021. Consultado el 19 de mayo de 2021 .
  105. "Cómo funcionan los Oplocks en el entorno Windows: descripción general" . Archivado del original el 23 de agosto de 2010. Consultado el 19 de diciembre de 2018 .
  106. "Novedades de NTFS" . Microsoft Learn . 2 de julio de 2012. Consultado el 25 de enero de 2025 .
  107. Gilligan, Jonathan (28 de mayo de 2001). "Cómo superar el error del horario de verano y obtener las horas de modificación de archivos correctas" . The Code Project .

Lecturas adicionales

  • Bolosky, William J.; Corbin, Scott; Goebel, David; Douceur, John R. (enero de 2000). "Almacenamiento de instancia única en Windows 2000" . Actas del 4.º Simposio de Sistemas Windows de USENIX .
  • Custer, Helen (1994). Dentro del sistema de archivos de Windows NT . Microsoft Press . ISBN 978-1-55615-660-1.
  • Nagar, Rajeev (1997). Windows NT File System Internals: A Developer's Guide . O'Reilly . ISBN 978-1-56592-249-5.
  • "Referencia técnica de NTFS" . Microsoft Learn . Microsoft . 8 de octubre de 2009.
  • NTFS3
  • Código fuente NTFS3