2007
03.11

Como seguramente ya sabrás, gracias a NTFS-3g, ya es posible escribir en particiones NTFS (donde antes sólo podía leerse). Hasta ahora, la manera más cómoda y segura de intercambiar datos con Windows (para aquellos de los que dispongamos de un ordenador con arranque dual) era mediante una partición FAT.

Siguiendo una de las múltiples guías (o, tutoriales como se suelen maltraducir) que he visto es relativamente sencillo montar particiones NTFS de windows y escribir/leer de ellas sin problemas.

Sin embargo, tengo un disco duro externo USB de 500Gb que me gustaría usar tanto desde Windows como desde linux. Así pues, lo formateé a NTFS para poder leer y escribir información (básicamente multimedia) a esta unidad. En windows no tuve ningún problema (NTFS es nativo de Windows). Pero en Linux (Kubuntu), por defecto, usaba el driver NTFS (la antigua versión) que tiene soporte de sólo lectura.

Cada vez que conectaba el driver, me lo montaba sin problemas, pero no podía guardar nada en él. Así, pues, investigando un poco, vi donde estaba el problema: En todos los sitios que he visto, la solución que aportan es para montar la unidad como superusuario (root) o con el comando sudo. Kubuntu no es más que una ubuntu que usa KDE como entorno de escritorio, y la cosa cambia un poco. El gestor de medios extraíbles (que monta los discos, pendrives, etc) es el kwikdisk (Sistema >> Más aplicaciones >> Herramienta de medios extraíbles).

Lo primero que tienes que hacer es definirte una entrada en el /etc/fstab como se cuenta en los enlaces anteriores, y asegurarte de que con el comando sudo mount /media/tu_disco, el disco NTFS te funciona perfectamente. En mi caso el disco lo monté en /media/iomega.

A continuación, cambié la línea /etc/fstab a:

/dev/sdb1 /media/iomega ntfs-3g user,allow_other,rw,locales=es_ES.utf8,nosuid 0 0

Esto me permitía montarlo como usuario, que es, de hecho, de lo que se trata. Pero todo no acaba aquí. Tienes que editar el archivo /etc/fuse.conf (o crearlo si no existe) y añadir la línea user_allow_other y grabar (lo puedes editar, por ejemplo, con sudo kate /etc/fuse.conf).

Luego tienes que añadir tu usuario al grupo fuse, con la orden adduser. Mi usuario es boriel (¿cual si nó? ;)):
sudo adduser boriel fuse

Para que tu usuario coja los permisos que le acabas de dar, es necesario que cierres la sesión y vuelvas a entrar (los permisos de usuario se asignan siempre al iniciar la sesión, esto es común a casi todos los sistemas operativos).

Ahora, con todo esto, intenta montar la unidad, como usuario (esto es, sin usar la orden sudo):
mount /media/iomega

No debería haber ningún problema, y deberías poder leer y escribir en ella. Si todo ha ido bien, desmóntala.
Ahora deberías desconectarla de la clavija USB y volverla a conectar. Debería conectarse perfectamente y dejarte leer y escribir.

De otra forma, deberás configurar Kwikdisk e indicarle el punto de montaje (no debería hacer falta, porque kwikdisk lee el el archivo de configuración /etc/fstab y se basa en él para realizar sus operaciones).

Actualización: [2007/04/01] Dado que cada vez que conecto/desconecto el disco USB, se le puede reasignar dispositivo Unix distinto (en el ejemplo anterior, era /dev/sdb1), esta idea puede fallar. Tu /etc/fstab debe coincidir con tu dispositivo.

Afortunadamente, para eso tenemos udev. Udev te permite asignar siempre el mismo dispositivo /dev/ al mismo disco. Esto se hace escribiendo reglas udev. Pero, nuevamente, esto ya está hecho en (K)ubuntu: Se crea un enlace simbólico que apunta al dispositivo físico, con un forma como /dev/disk/by-uuid/XXXXX-XXX-XX, donde XXXX es un UUID. Este “dispositivo” siempre identificará de forma unívoca tu disco USB independientemente del orden o lugar en que lo conectes. Simplemente localiza este dispositivo, y ponlo en tu archivo /etc/fstab.

En mi caso, la línea del fstab quedó algo así:

/dev/disk/by-uuid/XXXXX-XXX-XX /media/iomega ntfs-3g user,allow_other,rw,locales=es_ES.utf8,nosuid 0 0

Actualización: [2007/04/21] Para Ubuntu Feisty, ntfs-3g no me permitía desmontar el disco como usuario normal. Me salía el mensaje only root is allowed to umount… en la consola. Solución: Sustituye ntfs-3g por ntfs-fuse, de manera que la línea anterior quedaría:

/dev/disk/by-uuid/XXXXX-XXX-XX /media/iomega ntfs-fuse user,allow_other,rw,locales=es_ES.utf8,nosuid 0 0

Share
  1. MD: Gracias por tu interesante comentario.
    Lo cierto es que yo sólo pongo a mano los discos USB “grandes” (no los pendrives ni SD), y son sólo 2.

    Para las memorias flash, etc. las monto directamente desde el escritorio (al menos en KDE aparece así).

    Pero sí tienes razón de que debería haber una manera más sencilla de poder dejar unidades “fijas” a una carpeta. 😐

    Like or Dislike: Thumb up 0 Thumb down 0

  2. Yo ando con un problema parecido, me comprado un flamante disco duro de 1TB (sin canon que me ha costado encontrarlo) y su cajita para que sea externo, tambien para almacenar multimedia.

    Yo estoy con ubuntu+gnome, la preparación no ha sido dificil, lo he formateado visualmente con el gparted en EXT3. Pero ahora estoy buscando una manera de que monte el disco duro automáticamente con permisos de escritura.

    Me ha servido de ayuda lo que comentaste, pero sigue sin placerme como solución porque quiero que el puñetero linux (es que me cabrea que hagan las cosas tan dificiles…y son años trasteando con el y viendo como evoluciona, pero algo que asumi a la primera que iba a funcionar…cachis) monte cualquier disco usb como lectura y escritura y no quiero andar metiendo por cada uuid, ya que el fstab es para cosas estaticas.

    Voy a seguir investigando, a ver si puedo dar otro comentario con el truco, yo creo que los tiros estan entre el /etc/mtab que lo llena el udev o el fuse, y en algun perdido sitio se tiene que poder configurar que los monte como lectura y escritura, porque un pendrive que tengo por aqui si lo hace (aunque es fat32 uhmm uhmm).

    Gracias, saludos.

    Like or Dislike: Thumb up 0 Thumb down 0

  3. […] El Rincón de Boriel » Blog Archive » Lectura y escritura de discos extraíbles con NTFS en Kubunt… Como montar un disco externo USB con formato NTFS con permisos de lectura y escritura (tags: kubuntu linux tutorial tools) […]

    Like or Dislike: Thumb up 0 Thumb down 0

  4. Thanks, Matt 🙂

    It’s nice to see people likes it.
    I guess next Linux releases will do this by default, since NTFS is popularizing more and more as it’s now writable and disk becomes larger and larger.

    Like or Dislike: Thumb up 0 Thumb down 0

  5. ¡Muchas gracias! I came across this by a Google search; I was having the very same issues mentioned here. Thanks to this article, I can use my external HDD in Linux! God bless!

    Like or Dislike: Thumb up 0 Thumb down 0

  6. Gracias Manuel por tus observaciones. 🙂

    Tienes razón en lo del chmod. Otra posible solución es hacer:

    chown fuser /media/iomega

    Lo cierto es que no recuerdo cómo lo hice yo y ahora no lo puedo mirar. 🙁

    Like or Dislike: Thumb up 0 Thumb down 0

  7. Después de varias pruebas, he visto que tu método funciona, pero he tenido que asignar permisos en el directorio de montaje, así:

    $sudo chmod 0777 /media/iomega

    (Cambiando en mi caso iomega por mi directorio de montaje) De este modo sí que todo ya me funciona. Sin esos permisos, al intentar montarlo o desmontarlo daba este error:

    $ mount /dev/disk/by-uuid/F0840C88840C540E
    fusermount: user has no write access to mountpoint /media/iomega
    Retrying mount …
    fusermount: user has no write access to mountpoint /media/iomega
    Failed to mount NTFSUnmounting /dev/disk/by-uuid/F0840C88840C540E (NTFS)

    Like or Dislike: Thumb up 0 Thumb down 0

  8. He encontrado en Internet esta instrucción para ver ese dato que te pregunté:

    $/bin/ls -lF /dev/disk/by-uuid/

    Se puede ver en esta página:

    http://manual.sidux.com/es/part-uuid-es.htm

    Apartado “1. Nombramientos persistentes por ‘UUID'”

    Espero que le sirva a alguien más.

    Like or Dislike: Thumb up 0 Thumb down 0

  9. Un post muy bueno, mientras lo empezaba a leer pensaba en el problema que mencionas al final. Sin embargo, no me queda claro de dónde sale el UUID, ¿cómo lo has obtenido tú?

    Like or Dislike: Thumb up 0 Thumb down 0

  10. Where’s your captcha protection?

    Like or Dislike: Thumb up 0 Thumb down 0

  11. Gracias, May 🙂

    Siempre es bueno recibir comentarios positivos. Ayuda más de lo que la gente cree. 😉

    Like or Dislike: Thumb up 0 Thumb down 0

  12. Buen blog 🙂

    Like or Dislike: Thumb up 0 Thumb down 0