Montar NTFS con Permiso de escritura en NTFS desde GNU/Linux

Soporte NTFS Linux


El kernel de Linux viene con soporte para particiones formateadas con sistemas de ficheros NTFS, pero solo proporciona permiso de lectura, esto es un problema para algunos usuarios que desean poder hacer uso de particiones en ese sistema de ficheros diseñado por Microsoft. Para poder escribir bajo Ntfs desde GNU/Linux las aplicaciones más conocidas son Ntfs-3g y Ntfsprogs, siendo esta última en la que nos centraremos en el tutorial. La suite Ntfsprog perteneciente al proyecto “Linux-Ntfs” y la encontramos disponible para varios sistemas operativos ajenos a Microsoft, como son GNU/Linux, FreeBSD, NetBSD y Mac OSX. La finalidad del proyecto es el desarrollo de un completo kit de utilidades que permitan al núcleo del sistema, en nuestro caso Linux, poder interactuar con particiones formateadas en el sistema de ficheros NTFS. Esto lo consigue mediante la utilidad “ntfsmount”, la cual que nos permite montar particiones NTFS con permiso de escritura, y una colección de utilidades que sumándose a nfsmount nos permitirá crear volúmenes NTFS, redimensionarlos, clonarlos, defragmentarlos, etc,…

Para terminar decir que esta suite proporciona una completa biblioteca para desarolladores que nos permite implementar la escritura en NTFS desde otras aplicaciones, siempre bajo licencia GPL. Puede ser usado también en kernels de la rama 4.0 para poder escribir en Ntfs, para ello lea estas instrucciones (Abajo de la pagina)

En este articulo nos vamos a centrar en Nfsmount para permitir al usuario poder montar particiones con permiso de escritura en GNU/Linux, dejando un poco de lado las demás posibilidades de Ntfsprogs, las cuales recomendamos mirar ya que son muy interesantes. Para poder hacer uso de nfsmount debemos compilar la suite pasándole ciertos parámetros y teniendo instalado el paquete Fuse, el cual comentaremos como instalarlo y es necesario ya que proporciona un modulo que es usado por ntfsmount para poder montar las particiones.

Dependencias: Fuse y Libconfig

Web del Proyecto: http://www.linux-ntfs.org/

Paquete Fuse: http://fuse.sourceforge.net/

Compilar / Instalar Fuse (Dependencia)

$ tar zxvf fuse-*.*.*.tar.gz

$ cd fuse-2.7.0

$ ./configure –prefix=/usr

$ make

# make install

Paquete libconfig: http://www.hyperrealm.com/libconfig/

Compilar / Instalar libconfig (Dependencia)



$ tar -zxvf libconfig-*.*.*.tar.gz

$ cd libconfig-1.2.1

$ ./configure –prefix=/usr

$ make

# make install

# ldconfig

ntfsprogs

Paquete Ntfsprogs: http://www.linux-ntfs.org/doku.php?id=downloads/

Compilar / Instalar Ntfsprogs

$ tar zxvf ntfsprogs-2.0.0.tar.gz

$ cd ntfsprogs-2.0.0

$ ./configure –enable-fuse-module –enable-ntfsmount –enable-crypto –prefix=/usr

$ make

# make install

Usando Nfsmount

* Montar manualmente:

# ntfsmount /dev/hda1 /mnt/windows

NOTA: Debemos tener cargado el modulo fuse (# modprobe fuse) para que no muestre un error de este tipo:

# ntfsmount /dev/hda1 /mnt/hda1

fuse: device not found, try ‘modprobe fuse’ first

fuse_mount failed.

Unmounting /dev/hda1 ()

* Indicándole una codificación a Ntfsmount:

# ntfsmount /dev/hda1 /mnt/windows/ -o locale=es_ES.utf8

* Uso de ntfsmount mediante /etc/fstab:

/dev/hda1 /mnt/c fuse.ntfs locale=es_ES.utf8 0 0

NOTA: Cada uno que seleccione el tipo de codificación que desee (es_ES, es_ES.utf8, es_ES@euro, …) para ser montada la partición en NTFS, esto es útil si encontramos que al montar una partición de Windows no vemos las tildes o letras tipo “Ñ” de forma correcta. Para ver que tipo de codificación se esta usando en el sistema podemos usar el comando “locale”.

* Desmontar partición ntfs previamente montada con ntfsmount:

# fusermount -u /mnt/windows

Formatear una partición en NTFS desde GNU/Linux:

# cfdisk /dev/sdc

# mkntfs /dev/sdc1

Con el primer comando creamos una partición en el disco “sdc”, que es denominada sdc1 (Primera partición). Luego con la utilidad mkntfs le damos formato en NTFS desde linea de comandos. Recordar que el formato se da a particiones, no a discos duros como tal.

* Error que podemos encontrar al montar:

# mount.ntfs-fuse /dev/hda1 /mnt/usb/

Volume is scheduled for check.

Please boot into Windows TWICE, or use the ‘force’ option.

NOTE: If you had not scheduled check and last time accessed this volume using ntfsmount and shutdown system properly, then init scripts in your distribution are broken. Please report to your distribution developers (NOT to us!) that init scripts kill ntfsmount or mount.ntfs-fuse during shutdown instead of proper umount.

Mount failed.

* Solución (forzar):

# ntfsmount /dev/hda1 /mnt/usb/ -o force -o locale=es_ES.utf8