X

Como conectar y montar discos duros usb a la Raspberry Pi

Si eres poseedor de una raspberry pi, quizás te hayas percatado de que para conectar un disco duro o unidad usb no basta con conectar el usb y ya está. Vamos a aprender como conectar unidades usb a nuestra raspberry pi.

Desgraciadamente por defecto la Raspberry pi solo es capaz de leer discos duros o memorias flash, esto significa que podremos montarla y leer los datos pero no podremos modificarlos. Por suerte existen formas de hacer que se pueda escribir en el disco duro de nuestra raspberry pi y así poder utilizarlo para lo que quieras, desde backups (como explicaremos en otro artículo) hasta crear un NAS y servidores de películas.

Configurar la Raspberry Pi para que lea sistemas de archivos NTFS

Por defecto nuestra malina (nombre cariñoso de la fruta en otro idioma, a ver si adivinas cual), no lee sistemas de archivos NTFS, pero no desesperes, ya que esto tiene solución. Por el momento lo primero que haremos será conectarnos por ssh a la RPi o desde su misma consola y actualizar el apt-get con los siguientes comandos:

sudo apt-get update
sudo apt-get upgrade

Ahora que ya la tenemos actualizada vamos a seguir con el proceso de instalación del ntfs

sudo apt-get install ntfs-3g

Por el momento nada mas terminar la instalación ya debería ser capaz de lidiar con este tipo de sistemas de archivos. En caso de que los discos o unidades que vayas a conectar no utilizen este sistema de archivos puedes omitir esta parte.

Averiguar ruta de montaje de nuestro disco duro en la Raspberry Pi

Ahora tenemos que buscar cual será la ruta en la que estará el disco duro que hayamos conectado, tranquilo es bastante fácil. Ejecutaremos el siguiente comando:

sudo fdisk -l

y deberíamos ver una lista similar a la siguiente:

Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes
4 heads, 16 sectors/track, 243200 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00065bd9

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192     2496093     1243951    e  W95 FAT16 (LBA)
/dev/mmcblk0p2         2498560    15499263     6500352   85  Linux extended
/dev/mmcblk0p3        15499264    15564799       32768   83  Linux
/dev/mmcblk0p5         2506752     2629631       61440    c  W95 FAT32 (LBA)
/dev/mmcblk0p6         2637824    15499263     6430720   83  Linux

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x90ec2574

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   976769023   488383488    7  HPFS/NTFS/exFAT

Por supuesto dependerá de los datos y configuraciones de tu raspberry, pero nos vamos a fijar en la última línea que serán los discos externos conectados: /dev/sda1 2048 976769023 488383488 7 HPFS/NTFS /exFAT. Si tienes más de uno te aparecerán aquí todos.

Una vez que sabemos este dato nos vamos a fijar en la ruta, que en este caso sería /dev/sda1 y seguiremos teniendo en cuenta este dato.

Montar disco duro externo en Raspberry pi de forma permanente

Ahora vamos a montar nuestro disco duro, pero para ello tendremos que crear una ubicación física en nuestro sistema. Este paso es relativamente fácil así que lo que haremos será elegir donde queremos que se monte. Yo lo voy a poner en /var/hdd, pero tú podrías ponerlo donde quieras, por ejemplo /media/hd o /discoduro. Para ello crearemos la carpeta con el siguiente comando:

sudo mkdir -p /var/hdd

Ahora tenemos dos opciones, una es que vayamos a dejar el disco conectado y queramos que se monte cada vez que ejecutamos la malina. Para ello tendremos que editar el fstab:

nano /etc/fstab

y añadiremos una línea con nuestro disco duro, en este caso la que empieza por /dev/sda1:

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p5  /boot           vfat    defaults          0       2
/dev/mmcblk0p6  /               ext4    defaults,noatime  0       1
/dev/sda1       /var/hdd        ntfs-3g defaults          0       0

# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

La parte de /var/hdd será la carpeta que has creado, y la de ntfs-3g será el sistema de archivos de tu disco duro, si es fat32 tienes que poner vfat. Para añadir más discos simplemente añadimos más líneas.

Si en lugar de utilizar las particiones como /dev/sda1 quieres que se monte siempre que esté conectado puedes mirar cómo montar unidades en linux por uuid. De esta forma siempre que conectes ese disco o memoria se volverá a montar en el mismo punto que hayas indicado.

Tras modificarlo puedes recargar el fstab y hacer que directamente se monten las unidades con el comando:

umount -a

Tras todo esto y viendo que se hayan montado correctamente solo te queda reiniciarla para ver que se haya montado el disco duro en inicio.

sudo reboot

Una vez reiniciado podemos acceder a nuestra carpeta y crear una carpeta para ver que nos deja escribir

cd /var/hdd
sudo mkdir carpeta
ls /var/hdd

Veremos que nos ha dejado la carpeta creada. Si queremos realizar una comprobación más a fondo podemos desmontar el disco y conectarlo a nuestro ordenador para ver que realmente se haya creado.

sudo umount /dev/sda1

Montar de forma puntual y volver a desmontar disco duro en Raspberry pi

Si en lugar de dejar el disco duro montado de forma permanente en cada reinicio, lo único que queremos hacer es montarlo para leer o escribir algunas cosas y luego volverlo a desmontar (lo veremos en el artículo backups con consumo eléctrico optimizado) lo que vamos a hacer va a ser lo siguiente:

para montarla ejecutaremos este comando (siempre sabiendo la ruta de montaje tal y como hemos averiguado arriba)

sudo mount /dev/sda1 /var/hdd/

en este momento podremos escribir en el disco en la ruta /var/hdd y hacer las gestiones que necesitemos. Después para desmontarlo ejecutaremos esta línea

sudo umount /var/hdd/

con esto el disco quedaría extraído y podríamos desconectarlo sin problema

Forzar umount del disco cuando device is busy in Raspberry pi

Si nos indica el siguiente mensaje al hacer umount (o algo parecido):

umount: /var/hdd: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

significa que el disco duro está realizando alguna acción, podemos esperar a que termine el programa que sea o podemos forzar el desmontaje con este comando:

sudo umount -l /dev/sda1

Con todos estos datos estamos listos para conectar discos duros y unidades flash a nuestra malina, además de que hemos aprendido la base para luego poder utilizarla para crear un centro de backups o por ejemplo un NAS.

VicHaunter:
    Categorías: Ayuda

Ver comentarios (25)

  • Hola, acabo de comprar un disco de 5tb y quiero saber si puedo montarlo en una sola unidad, algo como el comando ntfs-3g pero para 4 o 5 tb de momento la rapbsberry de forma nativa no me reconoce más de 3.99 tb

    • En un principio no deberías tener problema, ya que el sistema de archivos ntfs tiene un límite muy por encima en cuanto a espacio por partición. Has probado a formatearlo desde la raspberry?

  • @vichaunter:disqus en la lista de fstab tienes puesto default en la línea de la nueva inserción... eso hace petar la rasp al inicio. Tiene que ser defaults.

    • A lo mejor es un poco tarde... pero ¿¿has probado a darle más potencia a la rasp??
      A lo mejor también necesitas poner esto en el config

      safe_mode_gpio=4
      max_usb_current=1

      Y para editar el archivo: sudo nano -w /boot/config.txt

      (a mi acaba de pasarme lo mismo y me funcionó)

    • Hmmm, supongo que tienes instalado raspbian, y que los discos que tengas conectados de forma externa los puedes ver y acceder a ellos desde la interfaz gráfica, correcto?

      • Sí, desde Raspbian. No, no puedo acceder a ellos. Me meto en media y no hay nada conectado. No sé qué sucede, he seguido todo tipo de tutoriales acerca de esto y nada. Cabe recalcar que soy nuevo en este mundillo.

        • Un par de preguntas, los discos duros son de 3,5 con alimentación externa o son de 2,5 autoalimentados? qué tiempo tienen? si son de 2,5, el cable tiene en una punta dos conexiones usb para meterle voltaje adicional?, puede ser que haya que hacer un desmontaje forzoso si te los ha pillado en algún momento y se ha quedado pillada, a veces le pasa.

          • Es un Toshiba Canvio Basic de 2,5 autoalimentados, tengo 2, uno es totalmente nuevo y el otro tendrá 1 año. Pero funcionan perfectamente desde windows. No, no tiene dos puntas, tienen conexión usb 3.0. ¿Y eso que comentas como sería?

          • Es que en los primeros discos duros usb2 (y unos años después) las placas no habían avanzado tanto como para poderse alimentar solo de un usb, y tenían dos puntas con las que cogían corriente de dos tomas usb, pero si es usb3 debería funcionarte, aunque hmmm... qué adaptador de corriente estás usando? el transformador cuantos amperios marca? por que igual es que la raspberry va justa de voltaje y por eso no te los detecta, te has fijado si hacen ruido de que arrancan los platos?, una opción para probar si es por eso sería o bien poner un disco duro usb que tenga alimentación, o probar con un hub usb que lleve alimentación, para ver si es por culpa de que no tiene bastante como para alimentar también el disco duro.

          • Error mio, el cargador que usaba para dar energia ponia que era hasta 2 A y en realidad no daba esa cantidad. He probado con otro y si que arranca esta vez el disco duro, anteriormente no vibraba como suele hacer.

            Ahora me tira otro error, y es desde la interfaz nada mas iniciar raspbian:

            "Error mounting mount exited with exit code 1: Helper failed with mount only root can mount /dev/sda1 on /media/usbhdd1"

            ¿qué debo hacer?

          • Bien, ya hemos avanzado un pasito jeje, ahora a lo siguiente, ese error te lo está dando por que intentas montar la unidad sin permisos root. Tienes o has creado algún script para que te intente montar en arranque la unidad de alguna forma determinada y está sin permisos root?
            Si es así lo ideal sería que lo borraras el script o lo quitases del arranque deshaciendo los pasos que hayas seguido.

            Te recomiendo también que conectes los discos después de haber arrancado el sistema y vayas haciendo los pasos de uno en uno para no confundirte.

  • buen tutorial yo tengo un problema si la raspi se apaga o la reinicio ya no me reconoce el disco duro asta que apago el disco duro y las raspi ahi me vuelto todo normal

  • Es importante que sea en la ruta /var/ donde se monte el disco duro? tengo un XBMC montado sobre Raspbian y el disco duro (4TB NTFS) montado en /media/multimedia/ Al arrancar el XBMC tras unos segundo comienza a expulsar de forma no segura y montar el disco duro repetidas veces. Alguna idea?? Gracias.

    • En un principio deberías poder montar la unidad en la ruta que quisieras, también depende un poco del sistema operativo que estés usando pero ese error que comentas tiene toda la pinta de ser de la fuente de alimentación del disco duro. Es de 2,5 o de 3,5 pulgadas? se alimenta con el Raspbian? prueba a ver si en un pc te hace cosas raras, si es de 2.5 quizás no le esté llegando bastante voltaje desde los usb

      • El caso es que todo va bien. Puedo acceder a los archivos del disco duro desde otros equipos y descargar películas con el transmission y no parece que haya problemas, pero al ejecutar el xbmc todo falla. Además, el disco duro está alimentado por un cable de alimentación externa... Por otra parte, instalé el openelec (pensaba que podía ser problema de inestabilidad de Kodi), pero sigo con los mismos problemas... así que a pesar de lo anterior, tu explicación gana peso y parece ser la correcta. ¿Hay alguna manera de anular la alimentación de los usb (individualmente)?

        • Creo que no hay forma de deshabilitar únicamente la alimentación, solo se me ocurre utilizar un cable usb "trucado" en el que le hayas sacado los cables de alimentación y los conectes a un transformador de 5v o un usb en el pc para ver que sea ese problema. Por otro lado si tienes algún otro disco duro externo sería conveniente probarlo, no vaya a ser cosa de que la única unidad que te de problemas sea esa por algo de la placa del usb en la cajita del disco.

Artículo relacionado
Los comentarios de Disqus están cargando....

Como todos, usamos cookies.