1. Introducción

Sistema de archivos ntfs

(New Technology File System) es un sistema de archivos diseñado específicamente para Windows NT (incluyendo las versiones Windows 2000, Windows 2003, Windows XP y Windows Vista). Admite compresión nativa de ficheros, cifrado (esto último sólo a partir de Windows 2000) e incluso transacciones (sólo a partir de Windows Vista). Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple.

Paquete ntfs-3g

Es un driver de tercera generación disponible libre y comercialmente y es soportado por manejadores NTFS para LINUX, FreeBSD, Mac OS, NetBSD, Solaris, Haiku y otros sistemas operativos. Ofrece un manejo seguro y rápido de los sistemas de archivos de Windows XP, Windows 2000, Windows Vista, Windows Server 2008 y Windows 7.

ntfs-3g puede escribir, remover, renombrar, mover archivos, directorios. Puede manejar archivos especiales como enlaces simbólicos, dispositivos y FIFOs; además puede leer archivos comprimidos de manera transparente. El volumen a ser montado con ntfs-3g puede ser o un dispositivo de bloque o un archivo de imagen.

2. Sintaxis de ntfs-3g
        ntfs-3g [-o opción [,...]] volumen punto_de_montaje
        mount -t ntfs-3g [-o opción [,...]] volumen punto_de_montaje
3. Opciones

La mayoría de las opciones de montaje genéricas que se usan para el comando mount en mount(8) están soportadas(ro, rw, suid, nosuid, dev, nodev, exec, noexec). A continuación hay un resumen de la opciones adicionales que ntfs-3g acepta.

“ls -l '$ UpCase'”.

4. Instalar ntfs-3g

Debian GNU/Linux contiene NTFS-3G en sus repositorios. Para instalarlo ejecute el siguiente comando:

       
        # aptitude install ntfs-3g
5. Cómo usar ntfs-3g

Para montar /dev/sda1 a /mnt/Windows (asegúrese que el directorio /mnt/Windows existe).

       
        # ntfs-3g /dev/sda1 /mnt/Windows
 ó
        # mount -t ntfs-3g /dev/sda1 /mnt/Windows

Para montar como sólo-lectura /dev/sda5 en /home/user/mnt y hacer que el usuario con UID 1000 sea el propietario de todos los archivos:

      
        # ntfs-3g -o ro,uid=1000 /dev/sda5 /home/user/mnt

Y si además queremos que /dev/sda5, con estos parámetros, se monte cada vez que arranque el sistema, agregamos lo siguiente al archivo /etc/fstab:

        
        /dev/sda5 /home/user/mnt ntfs-3g ro,uid=1000 0 0

Para desmontar /mnt/Windows

       
        # umount /mnt/Windows

Ejemplo Primero, localizamos el nombre de la partición NTFS a montar. Para mostrar las diferentes particiones del disco duro y el sistema de archivos que usa cada partición, ejecute el siguiente comando:

       
        # fdisk -l

Tendremos una salida parecida a esta:

        Disco /dev/sda: 320.0 GB, 320072933376 bytes
        255 heads, 63 sectors/track, 38913 cylinders
        Units = cilindros of 16065 * 512 = 8225280 bytes
        Disk identifier: 0xd9cc64e7
        Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
        /dev/sda1   *           1        8928    71714128+   7  HPFS/NTFS
        /dev/sda2            8929       10752    14651280   83  Linux
        /dev/sda5           37694       38058     2931831   83  Linux
        /dev/sda6           38059       38423     2931831   83  Linux
        /dev/sda7           38424       38913     3935893+  82  Linux swap
        Disco /dev/sdb: 8017 MB, 8017412096 bytes
        255 heads, 63 sectors/track, 974 cylinders
        Units = cilindros of 16065 * 512 = 8225280 bytes
        Disk identifier: 0x000bee9a
        Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
        /dev/sdb1               1         974     7823623+   b  W95 FAT32

En este ejemplo, el disco duro principal es /dev/sda (puede ser /dev/hda si usas Debian Etch) y el número que le acompaña distingue cada partición que existe en él.Ahora bien, interesa montar la partición donde se especifica un sistema de archivos NTFS. Busque la partición /dev/sda que tiene un sistema HPFS/NTFS.

En este caso es /dev/sda1. Cree un directorio donde se va a montar la partición o el disco duro NTFS con el siguiente comando:

        
        # mkdir /media/Windows

y después monte la partición con el siguiente comando:

        
        # mount -t ntfs-3g /dev/sda1 /media/Windows

Edite el archivo /etc/fstab, con su editor de textos favorito y añada la siguiente línea para cargar la partición al arrancar el sistema.

        
        /dev/sda1 /media/Windows ntfs-3g rw,defaults,locale=es_ES.UTF8  0 0

La línea locale=es_ES.UTF8 es opcional, aunque si la coloca podrá ver mensajes informativos y de diagnóstico en la locale configurada.

6. Código de salida

Para facilitar el uso del driver NTFS-3G en scripts, un código de salida es retornado dando una indicación del estado de montaje de un volumen. El valor 0 significa éxito, y todos los demás valores significan un error. Los códigos de error están documentados en el ntfs-3g.probe(8).

7. Errores comunes
   Imposible montar el volumen seleccionado.
   hibernated non-system partition, refused to mount.
   failed to mount '/dev/hda5': operación no permitida
   "The NTFS partition is hibernated. Please resume and shutdown Windows
   properly, so mounting could be done safely."
    Solución: Reinicien, carguen Windows y lo apagan correctamente, ahora no dará error. 
    WARNING: Deficient Linux kernel detected. Some driver features are
    not available (swap file on NTFS, boot from NTFS by LILO), and
    unmount is not safe unless it's made sure the ntfs-3g process
    naturally terminates after calling 'umount'. If you wish this
    message to disappear then you should upgrade to at least kernel
    version 2.6.20, or request help from your distribution to fix
    the kernel problem. The below web page has more information:
    

Solo es una advertencia si sus kernels de Debian, son anteriores al 2.6.20, de todos modos funcionara, ntfs-3g, pero algunas funciones no estarán disponibles, si quieren de una buena vez quitar esa advertencia, actualicen el kernel a la versión 2.6.20 o superior