NTFS-3G es una implementación multiplataforma de código abierto del sistema de archivos NTFS de Microsoft Windows con soporte de lectura/escritura. NTFS-3G a menudo utiliza la interfaz del sistema de archivos FUSE , por lo que puede ejecutarse sin modificaciones en muchos sistemas operativos diferentes . Se puede ejecutar en Linux , FreeBSD , NetBSD , OpenSolaris , illumos , BeOS , QNX , WinCE , Nucleus , VxWorks , Haiku , [2] MorphOS , Minix , macOS [4] y OpenBSD . [5] [6] Tiene licencia bajo la Licencia Pública General de GNU . Es una bifurcación parcial de ntfsprogs y se encuentra bajo mantenimiento y desarrollo activos.
NTFS-3G fue presentado por uno de los principales desarrolladores de NTFS para Linux, Szabolcs Szakacsits, en julio de 2006. La primera versión estable se lanzó el 21 de febrero de 2007, como versión 1.0. Los desarrolladores de NTFS-3G formaron más tarde una empresa, Tuxera Inc. , para seguir desarrollando el código. NTFS-3G es ahora la "edición comunitaria" gratuita, [2] mientras que Tuxera NTFS es la versión propietaria.
En 2021, Linus Torvalds fusionó una implementación diferente de NTFS (experimental a partir de la versión 6.0) [7] llamada NTFS3 en el kernel de Linux 5.15. [8]
NTFS-3G admite todas las operaciones de escritura de archivos: se pueden crear, modificar, renombrar, mover o eliminar archivos de cualquier tamaño en particiones NTFS. Se admite la compresión transparente , así como el cifrado a nivel de sistema . [9] Está disponible el soporte para modificar las listas de control de acceso y los permisos . [10] Las particiones NTFS se montan utilizando la interfaz Filesystem in Userspace (FUSE). NTFS-3G admite enlaces duros , enlaces simbólicos y uniones. Con la ayuda de los complementos de punto de análisis de NTFS , se puede hacer que lea archivos deduplicados en fragmentos, archivos comprimidos por el sistema y archivos de OneDrive . [11] NTFS-3G proporciona soporte completo y traducción de la lista de control de acceso (ACL) NTFS a permisos ACL POSIX. Se incluye una utilidad "usermap" para registrar la asignación de UID a SID de Windows NT.
Según su propia información, la empresa Tuxera Ltd fue fundada en 2008 por Szabolcs Szakacsits, porque cada vez más solicitudes de empresas conocidas con respecto a la integración en sus productos hacían necesario este paso. [12] En su sitio web, la empresa ofrece versiones personalizadas como Tuxera NTFS for Embedded Systems .
NTFS-3G admite el registro parcial de NTFS , por lo que si una falla inesperada de la computadora deja el sistema de archivos en un estado inconsistente, el volumen se puede reparar. A partir de 2009, un volumen que tenga un archivo de registro no limpio se recupera y se monta de manera predeterminada. La opción de montaje 'norecover' se puede utilizar para deshabilitar este comportamiento. [13]
A finales de agosto de 2009 se conoció que Tuxera había iniciado un acuerdo de colaboración con Microsoft, que incluía también un acuerdo de propiedad intelectual . [14] Dado que Microsoft también proporcionó información sobre la especificación de exFAT, Tuxera pudo desarrollar el controlador Tuxera exFAT para sistemas integrados además de NTFS, que se ofrece a clientes comerciales.
Los puntos de referencia muestran que el rendimiento del controlador a través de FUSE es comparable al de los controladores de otros sistemas de archivos en el núcleo, [15] siempre que la CPU sea lo suficientemente potente. En sistemas integrados o antiguos, el alto uso del procesador puede limitar gravemente el rendimiento. Tuxera vende versiones optimizadas del controlador que afirman haber mejorado la utilización de la CPU para sistemas integrados y macOS . [16]
La lentitud de NTFS-3G (y de FUSE en general) en sistemas integrados se atribuye al cambio frecuente de contexto asociado con las llamadas de FUSE. Algunos métodos de código abierto que se ofrecen para reducir esta sobrecarga incluyen: [17]
big_writes
usar bloques más grandes al escribir. Usar un bloque más grande significa menos cambios de contexto. De hecho, esta es una solución recomendada por Tuxera. [18] Hay disponible un parche para usar un bloque aún más grande. [19]lazytime
reducir las escrituras en el acceso a archivos.CACHE_NIDATA_SIZE
por un mecanismo diferente con beneficios poco claros. (También incluye una traducción alternativa del identificador de seguridad para el NAS).El principal responsable del mantenimiento del software, Jean-Pierre André, ha mantenido activo el desarrollo en SourceForge , proporcionando correcciones de errores y nuevas características. Ejecutó un sistema de lanzamiento paralelo en su sitio web como NTFS-3G Advanced Version (NTFS-3G AR). Cada versión se ejecutó a través de un conjunto de pruebas y se consideró estable. [22] [23]
Las distribuciones de Linux que han cambiado a NTFS-3G AR incluyen Debian y sus derivados ( Ubuntu , PureOS , Pardus , Parrot OS , Trisquel ), Gentoo Linux y LiGurOS. [24]
A partir del 30 de agosto de 2021, los dos proyectos que colaboraban anteriormente se fusionaron y se trasladaron a GitHub. [25]
Solución alternativa: usar la opción de montaje "big_writes" generalmente reduce el uso de la CPU, siempre que el software que solicita las escrituras admita bloques grandes.