Articulo de referencia

Punto de reanálisis NTFS

Un punto de reanálisis NTFS es un tipo de objeto del sistema de archivos NTFS . Está disponible con NTFS v3.0, presente en Windows 2000 o versiones posteriores. Los puntos de re...

Un punto de reanálisis NTFS es un tipo de objeto del sistema de archivos NTFS . Está disponible con NTFS v3.0, presente en Windows 2000 o versiones posteriores. Los puntos de reanálisis permiten extender el sistema de archivos NTFS. Un punto de reanálisis contiene una etiqueta de reanálisis y datos que son interpretados por un controlador de filtro del sistema de archivos identificado por la etiqueta. Microsoft incluye varias etiquetas predeterminadas, como enlaces simbólicos NTFS , puntos de unión de directorios , puntos de montaje de volumen y sockets de dominio Unix . Además, los puntos de reanálisis se utilizan como marcadores de posición para archivos movidos por el Sistema de almacenamiento jerárquico de almacenamiento remoto de Windows 2000. También pueden funcionar como enlaces duros , pero no se limitan a apuntar a archivos en el mismo volumen: pueden apuntar a directorios en cualquier volumen local. Esta característica se hereda en ReFS . [ 1 ]

El controlador NTFS-3G de código abierto implementa soporte integrado para los puntos de reanálisis de tipo enlace, es decir, enlaces simbólicos y puntos de unión. Un sistema de filtrado de complementos permite gestionar otros tipos de puntos de reanálisis, lo que posibilita la lectura de archivos con deduplicación de fragmentos, archivos comprimidos por el sistema y archivos de OneDrive . [ 2 ]

Estructura

Un punto de análisis tiene la siguiente estructura general, en forma de estructura C [ 3 ] :

struct REPARSE_BUFFER { uint32_t ReparseTag ; uint16_t ReparseDataLength ; uint16_t Reserved ; uint8_t DataBuffer []; // miembro de matriz flexible }

La etiqueta de reanálisis [ 4 ] es única para cada tipo de punto de reanálisis. Define a qué controlador de punto de reanálisis (generalmente un controlador de filtro del sistema de archivos) delega el administrador de E/S el procesamiento. [ 5 ] Microsoft proporciona documentación sobre algunos tipos de etiquetas "públicas". [ 6 ]

Tipos

Puntos de montaje de volumen

Los puntos de montaje de volumen NTFS son objetos especializados del sistema de archivos NTFS que se utilizan para montar y proporcionar un punto de entrada a otros volúmenes . Son similares a los puntos de montaje de Unix , donde la raíz de otro sistema de archivos se adjunta a un directorio. En NTFS, esto permite montar sistemas de archivos adicionales sin necesidad de una letra de unidad independiente (como o ) para cada uno. Los puntos de montaje de volumen son compatibles con NTFS 3.0, que se introdujo con Windows 2000 .C:D:

Los puntos de montaje se pueden crear en un directorio de un sistema de archivos NTFS , lo que proporciona una referencia al directorio raíz del volumen montado. Cualquier directorio vacío se puede convertir en un punto de montaje. El volumen montado no se limita al sistema de archivos NTFS, sino que puede formatearse con cualquier sistema de archivos compatible con Microsoft Windows . Sin embargo, aunque son similares a los puntos de montaje POSIX que se encuentran en sistemas Unix y similares, solo admiten sistemas de archivos locales; en Windows Vista y versiones posteriores de Windows, se pueden usar enlaces simbólicos NTFS para vincular directorios locales con rutas de red SMB remotas .

Una vez que un volumen se ha montado sobre un directorio existente de otro volumen, el contenido que figuraba previamente en ese directorio se vuelve invisible y se reemplaza por el contenido del directorio raíz del volumen montado. El volumen montado aún puede tener asignada una letra de unidad independiente. El sistema de archivos no permite que los volúmenes se monten mutuamente. Los puntos de montaje de volumen pueden ser persistentes (se vuelven a montar automáticamente después de reiniciar el sistema) o no persistentes (deben volver a montarse manualmente después de reiniciar).

Los volúmenes montados pueden utilizar sistemas de archivos distintos de NTFS, posiblemente con su propia configuración de seguridad y reasignación de derechos de acceso según la política del sistema de archivos remoto.

Los nombres sustitutos de los puntos de montaje de volumen utilizan el formato de espacio de nombres NT \??\DeviceName\. [ 7 ] [ 8 ] [ 5 ] Las uniones generalmente se utilizan \??\<drive>:\para referirse a un volumen con una letra de controlador existente, mientras que los puntos de montaje de volumen verdaderos se utilizan \??\Volume{<guid>}para referirse a cualquier volumen. Las rutas UNC no son válidas para las uniones. [ 9 ]

Cruces de directorios

Las uniones de directorios se definen utilizando el mismo mecanismo (y etiqueta de reanálisis IO_REPARSE_TAG_MOUNT_POINT) que los puntos de montaje de volumen. La única diferencia es que sus nombres sustitutos apuntan a un subdirectorio de otro volumen que normalmente ya tiene una letra de unidad. Esta función es conceptualmente similar a los enlaces simbólicos a directorios en Unix , excepto que el destino en NTFS siempre debe ser otro directorio (los sistemas de archivos Unix típicos permiten que el destino de un enlace simbólico sea cualquier tipo de archivo). [ 5 ]

Por ejemplo, el directorio C:\exampledircon un atributo de unión de directorios que contiene un enlace D:\linkeddirhará referencia automáticamente al directorio D:\linkeddircuando una aplicación en modo de usuario acceda a él. [ 10 ]

Las uniones de directorios (que se pueden crear con el comando MKLINK /J junctionName targetDirectoryy eliminar RMDIR junctionNamedesde la consola) son persistentes y se resuelven en el servidor, ya que comparten el mismo dominio de seguridad del sistema local donde está montado el volumen principal y la misma configuración de seguridad para su contenido que el directorio de destino; sin embargo, la unión en sí puede tener una configuración de seguridad distinta. Al eliminar una unión de directorios, no se borran los archivos del directorio de destino.

Algunos enlaces simbólicos de directorio se instalan de forma predeterminada en Windows Vista para garantizar la compatibilidad con versiones anteriores de Windows, como Documents and Settingsel directorio raíz de la unidad del sistema, que enlaza con el Usersdirectorio físico en el directorio raíz del mismo volumen. Sin embargo, están ocultos de forma predeterminada y su configuración de seguridad impide que el Explorador de Windows los abra desde el Shell o en la mayoría de las aplicaciones, excepto para el usuario SYSTEM integrado local o el grupo de administradores locales (ambas cuentas de usuario son utilizadas por los instaladores de software del sistema). Esta restricción de seguridad adicional probablemente se implementó para evitar que los usuarios encuentren archivos duplicados aparentes en los directorios enlazados y los eliminen por error, ya que la semántica de los enlaces simbólicos de directorio no es la misma que la de los enlaces duros; el conteo de referencias no se utiliza en el contenido de destino ni siquiera en el contenedor referenciado.

Las uniones de directorios son enlaces blandos (persistirán incluso si se elimina el directorio de destino), que funcionan como una forma limitada de enlaces simbólicos (con una restricción adicional en la ubicación del destino), pero es una versión optimizada que permite un procesamiento más rápido del punto de reanálisis con el que se implementan, con menos sobrecarga que los enlaces simbólicos NTFS más recientes, y se pueden resolver en el lado del servidor (cuando se encuentran en directorios compartidos remotos).

Los enlaces simbólicos (o enlaces blandos) se introdujeron en Windows Vista. [ 11 ] Los enlaces simbólicos se resuelven en el lado del cliente. Por lo tanto, cuando se comparte un enlace simbólico, el destino está sujeto a las restricciones de acceso del cliente, y no del servidor.

Se pueden crear enlaces simbólicos a archivos (creados con MKLINK symLink targetFilename) o a directorios (creados con MKLINK /D symLinkD targetDirectory), pero (a diferencia de los enlaces simbólicos de Unix) la semántica del enlace debe proporcionarse junto con el enlace creado. Sin embargo, el destino no tiene por qué existir o estar disponible cuando se crea el enlace simbólico: cuando se accede al enlace simbólico y se comprueba la disponibilidad del destino, NTFS también comprueba si tiene el tipo correcto (archivo o directorio); devolverá un error de no encontrado si el destino existente tiene un tipo incorrecto.

También pueden hacer referencia a directorios compartidos en hosts remotos o a archivos y subdirectorios dentro de directorios compartidos: su destino no se monta inmediatamente al arrancar, sino solo temporalmente bajo demanda al abrirlos con la OpenFile()API CreateFile(). Su definición es persistente en el volumen NTFS donde se crean (todos los tipos de enlaces simbólicos se pueden eliminar como si fueran archivos, usando DEL symLinkdesde la línea de comandos o un archivo por lotes).

Los datos de los enlaces simbólicos son similares a los datos de los puntos de montaje, ya que ambos utilizan una ruta de espacio de nombres NT. La diferencia radica en que los enlaces simbólicos aceptan rutas UNC , pero no montajes Volume{guid}. [ 9 ]

El seguimiento de enlaces distribuidos permite a las aplicaciones rastrear archivos, accesos directos de shell o enlaces OLE incluso si se renombraron o movieron a otro volumen dentro de la misma máquina, dominio o grupo de trabajo. [ 12 ] El seguimiento se implementa como un servicio del sistema, que utiliza el índice de identificador de objeto (OID) almacenado en un metarchivo . [ 13 ] Cuando la aplicación solicita un seguimiento a un archivo o directorio, el servicio de seguimiento crea la entrada OID, que apunta al archivo, y la operación de renombrar, copiar o mover el archivo a un volumen NTFS v3 también copia el ID de objeto. Esto permite que el servicio de seguimiento encuentre finalmente el archivo de destino.

Eliminación de datos duplicados

Cuando existen varios directorios con archivos diferentes pero similares, algunos de estos archivos pueden tener contenido idéntico. El almacenamiento de instancia única (SIS) , presente en Windows Server 2000 hasta Windows Storage Server 2008, permite fusionar archivos idénticos en un solo archivo y crear referencias a dicho archivo fusionado. SIS consta de un filtro del sistema de archivos que gestiona las copias, modificaciones y fusiones de archivos, y un servicio de espacio de usuario (o groveler ) que busca archivos idénticos que necesitan fusionarse. SIS se diseñó principalmente para servidores de instalación remota, ya que estos pueden tener múltiples imágenes de instalación que contienen muchos archivos idénticos. SIS permite consolidarlos, pero, a diferencia de, por ejemplo, los enlaces duros, cada archivo permanece distinto; los cambios en una copia de un archivo no alteran a las demás. Esto es similar a la copia en escritura (copy-on-write) , una técnica mediante la cual la copia de memoria no se realiza realmente hasta que se modifica una copia. [ 14 ]

Desde Windows Server 2012, existe un nuevo mecanismo de deduplicación de datos basado en fragmentos (etiqueta 0x80000013) que permite deduplicar archivos con contenido similar siempre que tengan segmentos de datos idénticos. [ 2 ] Este mecanismo es más potente que SIS. [ 15 ] Desde Windows Server 2019, la función es totalmente compatible con ReFS. [ 16 ]

Gestión jerárquica de almacenamiento (HSM)

La gestión jerárquica de almacenamiento es un método para transferir archivos que no se utilizan durante un tiempo a medios de almacenamiento menos costosos. Cuando se accede al archivo, el punto de análisis del mismo determina que es necesario y lo recupera del almacenamiento.

Almacenamiento estructurado nativo (NSS)

NSS era una tecnología de almacenamiento de documentos ActiveX que Microsoft ha descontinuado. Permitía almacenar documentos ActiveX en el mismo formato de flujo múltiple que ActiveX utiliza internamente. Se cargaba un filtro del sistema de archivos NSS que procesaba los flujos múltiples de forma transparente para la aplicación, y cuando el archivo se transfería a un volumen de disco con formato distinto a NTFS, también convertía los flujos múltiples en un único flujo. [ 17 ]

Socket de dominio Unix (socket)

Con la compilación 17063 de Windows 10 (para la versión estable 1803), Microsoft introdujo los sockets de dominio Unix en Windows. Estos se implementan mediante el controlador del kernel afunix.sys y un nuevo punto de análisis en el sistema de archivos. Los sockets de dominio Unix son comunes en los sistemas BSD y Linux y se consideran el estándar para la comunicación entre procesos en estos sistemas; por lo tanto, su introducción en Windows permitirá una adopción simplificada del código y la portabilidad entre plataformas. [ 18 ]

Compresión del sistema

Windows 10 introduce algoritmos de compresión CompactOS de solo lectura para el sistema de archivos NTFS, tomados del formato de imágenes de Windows (WIM); están diseñados para comprimir los archivos del sistema de Windows y reducir el uso del espacio en disco. [ 19 ]

Internamente, el archivo comprimido se registra como un punto de reanálisis con la etiqueta IO_REPARSE_TAG_WOF (0x80000017), donde WoF significa Filtro de superposición de Windows, [ 20 ] y los datos reales se almacenan en un flujo de datos alternativo llamado "WofCompressedData", que es procesado por el filtro del sistema de archivos WOF . [ 21 ] [ 22 ] [ 2 ]

CompactOS es una variante mejorada de WIMBoot de Windows 8.1 , donde los archivos del sistema podían almacenarse en una imagen WIM comprimida en una partición de disco oculta , [ 23 ] y el controlador de filtro WOF descomprimía el contenido de los archivos desde ese archivo WIM; el uso de flujos de datos alternativos en lugar de imágenes WIM de solo lectura permite a CompactOS recomprimir los archivos del sistema cuando necesitan ser reescritos con una versión actualizada. [ 24 ]

OneDrive

OneDrive etiqueta los archivos y directorios que ha descargado al almacenamiento local como un punto de reanálisis con la etiqueta 0x9000001a. Los datos reales se almacenan normalmente. [ 2 ]

Volúmenes compartidos de clúster

Cluster Shared Volumes utiliza puntos de reanálisis para construir un espacio de nombres global y permitir que varios hosts accedan simultáneamente a un medio de almacenamiento compartido. [ 25 ]

Riesgos conocidos

El gusano Stuxnet , como parte de su serie de exploits para Win32, utiliza puntos de unión NTFS como parte de su modo de funcionamiento general.

Véase también

Referencias

  1. " Guía de estudio para la configuración del cliente de Microsoft Windows Vista " Wiley Publishing, Inc. 2007 pág. 285
  2. ^ André, Jean -Pierre (1 de marzo de 2019 ) . "NTFS-3G: puntos de unión, enlaces simbólicos y puntos de análisis" . jp-andre.pagesperso-orange.fr .
  3. "Reanalizar la estructura del búfer de datos" . Consultado el 1 de diciembre de 2025 .
  4. "Reanalizar etiquetas de puntos" . Consultado el 12 de diciembre de 2019 .
  5. 1 2 3 "Enlaces NTFS, uniones de directorios y accesos directos de Windows" . www.flexhex.com . Archivado del original el 21 de marzo de 2023.
  6. " [ MS-FSCC ] Reparse Tags" . Consultado el 12 de diciembre de 2019 .
  7. "Nomenclatura de archivos, rutas y espacios de nombres/espacios de nombres NT" . Centro de desarrollo de Microsoft Windows . Consultado el 12 de diciembre de 2019 .
  8. "winapi - ¿La cadena "SubstituteName" en el PathBuffer de una estructura REPARSE_DATA_BUFFER siempre comienza con el prefijo "\??\", y si es así, ¿por qué?" . Stack Overflow . Consultado el 4 de octubre de 2019 .
  9. Mark Russinovich . "Dentro de Win2K NTFS, Parte 1" . Microsoft Developer Network . Consultado el 18 de abril de 2008 .
  10. "Enlaces simbólicos (Windows)" . MSDN.
  11. "Seguimiento de enlaces distribuidos e identificadores de objetos" .
  12. "Cliente de seguimiento de enlaces distribuidos (Servicios del sistema para la familia de sistemas operativos Windows Server 2003 y Windows XP)" . Archivado del original el 7 de marzo de 2016. Consultado el 26 de agosto de 2017 .
  13. Bolosky, Bill; Corbin, Scott; Goebel, David; Douceur, John (enero de 2000). Almacenamiento de instancia única en Windows 2000 (PDF) . Actas del 4.º Simposio USENIX sobre Sistemas Windows. Seattle, Washington: Microsoft Research y Balder Technology Group.
  14. FileCAB-Team (10 de abril de 2019). "Introducción a la deduplicación de datos en Windows Server 2012" . Comunidad tecnológica de Microsoft .
  15. "Interoperabilidad de la deduplicación de datos " . docs.microsoft.com
  16. Saville, John (fecha desconocida). ¿Qué es el almacenamiento estructurado nativo? Windows IT Pro. Obtenido de "¿Qué es el almacenamiento estructurado nativo?" . Archivado del original el 27/09/2007 . Recuperado el 03/12/2007 ..
  17. "AF_UNIX llega a Windows" . Herramientas de línea de comandos de Windows para desarrolladores . Consultado el 25 de julio de 2024 .
  18. "Sistema operativo compacto, instancia única y optimización de imágenes" . Microsoft . Consultado el 1 de octubre de 2019 .
  19. "¿Qué es WofCompressedData? ¿Significa WOF que Windows es un perro?" . 18 de junio de 2019.
  20. "Re: [ ntfs-3g-devel ] Soporte experimental para archivos "System Compressed" de Windows 10" . sourceforge.net . Consultado el 1 de octubre de 2019 .
  21. Biggers, Eric (29 de abril de 2019). "ntfs-3g-system-compression: complemento NTFS-3G para leer archivos "comprimidos por el sistema" . GitHub . Consultado el 1 de octubre de 2019 .
  22. Descripción general del arranque mediante archivo de imagen de Windows (WIMBoot)
  23. Raymond Chen. ¿Qué es WofCompressedData? ¿Significa WOF que Windows es un desastre? Blogs de desarrolladores de Microsoft.
  24. "Introducción a los volúmenes compartidos de clúster" . www.itprotoday.com . Consultado el 2 de mayo de 2025 .
  • Entrada 262797 de la base de conocimientos de Microsoft: "Compatibilidad con puntos de reanálisis en clústeres basados ​​en Windows 2000" en Wayback Machine (archivada el 21 de octubre de 2012).
  • Compatibilidad con puntos de reanálisis en clústeres basados ​​en Windows 2000
  • Documentación oficial sobre puntos de reanálisis en Microsoft Docs.
  • Enlaces NTFS, uniones de directorios y accesos directos de Windows
Obtenido de " https://en.wikipedia.org/w/index.php?title=NTFS_reparse_point&oldid=1358518375 "