Guía completa: montar discos y particiones al inicio en Debian (y derivados como Raspberry Pi OS)

Montar un disco secundario al arranque de forma automática y fiable es una de esas tareas que parece sencilla, pero que esconde varios detalles que pueden hacerte perder horas si no se conocen. En esta guía veremos cómo montar un disco o partición al inicio en Debian (y sistemas derivados como Raspberry Pi OS, Ubuntu, Linux Mint…), explicando no solo los pasos, sino también el porqué de cada opción, los errores más comunes y cómo resolverlos.

Al terminar, tendrás un montaje:

  • Robusto: usa UUID en lugar de nombres de dispositivo volátiles (/dev/sda1).
  • Seguro para el arranque: si el disco no está conectado, el sistema arranca igualmente.
  • Bajo demanda: el disco se monta solo cuando se accede a él, ahorrando recursos.

Índice

  1. Conceptos previos
  2. Requisitos
  3. Paso 1: Comprobar que el disco está conectado y detectado
  4. Paso 2: Obtener el UUID del disco
  5. Paso 3: Crear el punto de montaje
  6. Paso 4: Editar /etc/fstab
  7. Paso 5: Recargar systemd
  8. Paso 6: Activar la unidad de automontaje
  9. Paso 7: Verificar el montaje
  10. Paso 8: Permisos de usuario.
  11. Opciones de fstab explicadas
  12. Solución de problemas
  13. Resumen del flujo completo

Conceptos previos.

Antes de tocar nada, conviene tener claros cuatro conceptos que aparecerán una y otra vez:

  • /media vs /mnt: por convención, /media se usa para medios extraíbles (USB, discos externos) y /mnt para montajes temporales o manuales. Usaremos /media.
  • UUID vs /dev/sdX: el nombre /dev/sda, /dev/sdb… puede cambiar entre arranques (sobre todo con discos USB). El UUID es un identificador único y estable del sistema de archivos. Usa siempre UUID.
  • systemd y fstab: en sistemas modernos, systemd es quien gestiona los montajes definidos en /etc/fstab mediante unidades (.mount y .automount). Por eso, tras editar fstab, hay que decirle a systemd que recargue (daemon-reload).
  • x-systemd.automount: opción que le dice a systemd que no monte el disco inmediatamente, sino que cree una unidad de automontaje que lo montará la primera vez que se acceda al directorio. Esto es ideal para discos USB que queremos que se monten solo cuando se usen.

Requisitos.

  • Un sistema Debian, Ubuntu, Raspberry Pi OS o similar con systemd.
  • Un disco o partición ya formateada (ext4, exFAT, NTFS…). Si está «en bruto», deberás formatearla primero.
  • Acceso sudo.

Paso 1: Comprobar que el disco está conectado y detectado.

Este paso es ineludible. Si el disco no está siendo detectado por el sistema, ningún ajuste en fstab funcionará. Y es un fallo muy común con discos USB que no reciben suficiente energía o con cables defectuosos.

Conecta el disco y ejecuta:

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

Deberías ver un disco nuevo con el tamaño esperado, por ejemplo:

NAME        SIZE TYPE FSTYPE MOUNTPOINT
sda       931,5G disk
└─sda1    931,5G part ext4
sdb       111,8G disk
└─sdb1    111,8G part ext4
nvme0n1   238,5G disk
├─nvme0n1p1 256M part vfat  /boot/firmware
└─nvme0n1p2 237,7G part ext4 /

En este ejemplo voy a montar un disco SSD de 120GB, conectado al puerto USB 3.0, mediante un adaptador SATA-USB, el cual aparece en el sistema como sdb1.

⚠️ Si tu disco no aparece, el problema es físico o de alimentación. Antes de seguir:

Conecta el disco y revisa los últimos mensajes del kernel

sudo dmesg | tail -n 30

Busca errores como device descriptor read/64, error -110 o reset full-speed USB device. Si los ves, prueba con otro puerto USB, otro cable o asegúrate de que la alimentación externa (si la tiene) está conectada. Desconecta y vuelve a conectar el disco, y repite lsblk.

Truco: en Raspberry Pi y otros SBC, un disco de 2.5″ puede consumir más de lo que un solo puerto USB puede entregar de forma estable. Un hub USB con alimentación suele resolver el problema.

Paso 2: Obtener el UUID del disco.

Una vez que el disco aparece en lsblk, obtén su UUID real:

sudo blkid /dev/sdb1

Salida de ejemplo:

/dev/sdb1: LABEL="SD_120Gb" UUID="f6b565ed-cee0-4508-b94d-464c422fd9f1" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c7a2c28e-01"

Copia el UUID exacto. Compruébalo carácter por carácter: un 0 por O, un 1 por l… y el montaje fallará silenciosamente.

Consejo: Si tienes varios discos, puedes ver todos los UUID a la vez con sudo blkid (sin argumentos).

Paso 3: Crear el punto de montaje.

Crea un directorio vacío donde se montará el disco:

sudo mkdir -p /media/Disco_120GB

Comprueba que esté vacío:

ls -la /media/Disco_120GB

Si tiene archivos dentro (residuos de un montaje anterior), límpialos con cuidado. Un punto de montaje «sucio» puede impedir que systemd active la unidad.

Paso 4: Editar /etc/fstab.

Abre el archivo con tu editor preferido:

sudo nano /etc/fstab

Añade una línea al final con este formato:

UUID=f6b565ed-cee0-4508-b94d-464c422fd9f1  /media/Disco_120GB  ext4  defaults,nofail,x-systemd.automount,x-systemd.device-timeout=10s  0  2

Desglose de los campos:

CampoValorSignificado
1UUID=...Identificador único del sistema de archivos
2/media/Disco_120GBPunto de montaje (debe existir)
3ext4Tipo de sistema de archivos (usa el que devuelva blkid)
4defaults,nofail,x-systemd.automount,x-systemd.device-timeout=10sOpciones de montaje (ver abajo)
50dump: normalmente 0 (no se usa)
62fsck: 1 para raíz, 2 para el resto, 0 para deshabilitar

¿Qué hace cada opción?

  • defaults: opciones por defecto (rw, suid, dev, exec, auto, nouser, async).
  • nofail: si el disco no está presente al arrancar, el sistema arranca igualmente sin bloquearse. Imprescindible para discos secundarios y USB.
  • x-systemd.automount: crea una unidad .automount. El disco no se monta hasta que se accede a él por primera vez. Perfecto para discos que no se usan constantemente.
  • x-systemd.device-timeout=10s: le dice a systemd que no espere más de 10 segundos al dispositivo. Sin esto, el valor por defecto es 90 segundos, lo que puede alargar el arranque si el disco no está conectado.

Valores recomendados para x-systemd.device-timeout:

  • SSD (detección casi instantánea): 5s.
  • HDD por USB (el motor tarda en arrancar): 10s o 15s.
  • Nunca 0: eso haría que el sistema espere indefinidamente.

Extra opcional: si quieres que el disco se desmonte solo tras un tiempo sin uso (ahorro de energía), añade x-systemd.idle-timeout=10min.

Guarda el archivo (Ctrl+O, Enter, Ctrl+X en nano).

Paso 5: Recargar systemd

Cada vez que edites /etc/fstab, systemd debe releer la configuración:

sudo systemctl daemon-reload

Si no haces esto, systemd seguirá usando la versión antigua en memoria y verás el aviso:

mount: (consejo) fstab ha sido modificado, pero systemd sigue utilizando
       la versión antigua; utilice 'systemctl daemon-reload' para recargar.

daemon-reload no monta nada: solo recarga definiciones. El montaje viene en los pasos siguientes.

Paso 6: Activar la unidad de automontaje.

Este es el paso que más gente olvida y la causa principal de que «no se monte nada». Tras crear una entrada nueva en fstab con x-systemd.automount, systemd crea la unidad pero la deja inactiva (inactive (dead)). No se activará sola hasta el próximo arranque.

Comprueba el estado:

systemctl list-units --type=automount --all

Verás algo así:

UNIT                          LOAD   ACTIVE   SUB     DESCRIPTION
media-Disco_120GB.automount   loaded inactive dead    media-Disco_120GB.automount
media-Disco_1TB.automount     loaded active   running media-Disco_1TB.automount

Actívala manualmente:

sudo systemctl start media-Disco_120GB.automount

Nota sobre el nombre de la unidad: systemd nombra las unidades a partir del punto de montaje, sustituyendo / por -. Para /media/Disco_120GB → media-Disco_120GB.automount. Si el nombre tiene espacios o caracteres especiales, systemd los escapa (por ejemplo, espacios → \x20). Puedes listar todas las unidades disponibles con systemctl list-unit-files | grep automount.

Verifica que ahora aparece como active (running):

systemctl list-units --type=automount --all | grep 120GB

Paso 7: Verificar el montaje.

Con la unidad activa, dispara el montaje accediendo al directorio:

ls /media/Disco_120GB

Esto «despierta» la unidad de automontaje y monta la partición en ese instante. Ahora comprueba con:

mount | grep /media
df -h | grep Disco

Deberías ver algo así:

/dev/sdb1 on /media/Disco_120GB type ext4 (rw,relatime,...,x-systemd.automount)

¡Listo! El disco está montado y se montará automáticamente cada vez que accedas a él o al arrancar el sistema.

Paso 8: Permisos de usuario:

Cuando montas un sistema de archivos nativo de Linux como ext4 mediante fstab, el directorio recién montado en /media/... pertenecerá por defecto al usuario root (root:root).

Aunque lo menciones de pasada en la tabla de opciones para exFAT/NTFS (uid=1000,gid=1000), a muchos usuarios les pasa que montan su partición ext4, van a guardar un archivo desde su usuario normal sin privilegios y obtienen un error de «Permiso denegado».

Sugerencia: Añadir una pequeña nota o un comando rápido al final del proceso para ajustar los permisos si es necesario:

sudo chown -R $USER:$USER /media/Disco_120GB

Nota: Esto debe hacerse con el disco ya montado, de lo contrario cambiarías los permisos del punto de montaje vacío y al montarse el disco se sobrescribirían con los permisos raíz del sistema de ficheros).

Opciones de fstab explicadas {#opciones-fstab}

Resumen rápido de las opciones más útiles para discos secundarios:

OpciónPara qué sirve¿Cuándo usarla?
defaultsOpciones estándar (rw, exec, auto…)Siempre
nofailEl arranque no se bloquea si el disco no estáDiscos secundarios, USB
x-systemd.automountMontaje bajo demanda al accederDiscos que no se usan siempre
x-systemd.device-timeout=10sTiempo máximo de espera al dispositivoSiempre con nofail
x-systemd.idle-timeout=10minDesmontaje automático tras inactividadAhorro energético
roSolo lecturaDiscos que no deben modificarse
uid=1000,gid=1000Asignar propietario (para exFAT/NTFS)Discos formateados en exFAT/NTFS

Solución de problemas.

🔴 El disco no aparece en lsblk / blkid

  • Revisa cable, puerto USB y alimentación.
  • Ejecuta sudo dmesg | tail -n 30 justo después de conectar el disco.
  • Prueba otro puerto (mejor USB 3.0) u otro cable.
  • Desconecta y vuelve a conectar el disco.

🟡 systemctl start ...automount da Job failed

Obtén el error exacto:

sudo journalctl -u media-Disco_120GB.automount -xe --no-pager

Causas más frecuentes:

  1. UUID incorrecto en fstab. Compara carácter por carácter con sudo blkid.
  2. Conflicto con una unidad .mount en estado failed. Resetea:sudo systemctl reset-failed media-Disco_120GB.mount sudo systemctl start media-Disco_120GB.automount
  3. Punto de montaje con residuos. Comprueba ls -la /media/Disco_120GB. Si hay archivos, limpia el directorio.
  4. El disco no está listo en el momento del arranque. Añade o aumenta x-systemd.device-timeout (por ejemplo, 30s).

🟡 La unidad aparece como inactive (dead)

Es el estado normal tras daemon-reload si no se ha hecho start. Solución:

sudo systemctl start media-Disco_120GB.automount

🟡 mount -a no muestra nada y el disco «no se monta»

Con x-systemd.automount, mount -a no monta el disco de inmediato, solo valida la configuración. El montaje real ocurre al acceder al directorio:

ls /media/Disco_120GB

🟡 El arranque tarda mucho (más de un minuto)

Falta x-systemd.device-timeout. Sin él, systemd espera 90 segundos por defecto al dispositivo. Añade x-systemd.device-timeout=10s (o 5s para SSD, 15s para HDD USB).

🟡 «No tengo permisos para escribir en el disco» (exFAT/NTFS)

Añade a las opciones: uid=1000,gid=1000 (sustituye por tu id -u e id -g).

Resumen del flujo completo.

Para que no se te olvide nada, este es el flujo completo que debes seguir cada vez que añadas un disco nuevo:

# 1. Comprobar que el disco está detectado
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

# 2. Obtener el UUID
sudo blkid /dev/sdX1

# 3. Crear el punto de montaje
sudo mkdir -p /media/Disco_XXX

# 4. Editar /etc/fstab con el UUID y las opciones
sudo nano /etc/fstab
#   → UUID=... /media/Disco_XXX ext4 defaults,nofail,x-systemd.automount,x-systemd.device-timeout=10s 0 2

# 5. Recargar systemd
sudo systemctl daemon-reload

# 6. Activar la unidad de automontaje
sudo systemctl start media-Disco_XXX.automount

# 7. Verificar que está activa
systemctl list-units --type=automount --all | grep XXX

# 8. Disparar el montaje accediendo al directorio
ls /media/Disco_XXX

# 9. Verificar montaje final
mount | grep /media
df -h | grep Disco

Conclusión

Montar discos al inicio en Debian es una tarea que, bien hecha, no da problemas nunca más. La clave está en:

  • Verificar siempre que el disco está detectado antes de tocar fstab.
  • Usar UUID y nunca /dev/sdX.
  • Combinar nofail con x-systemd.device-timeout para no bloquear el arranque.
  • Activar la unidad de automontaje manualmente la primera vez.
  • Tener a mano journalctl y reset-failed cuando algo falle.

Con estos pasos, tus discos se montarán solos, de forma fiable, y sin sorpresas. Si te has encontrado con algún caso raro que no aparezca aquí, déjalo en los comentarios y lo añadiremos a la guía.

¡Feliz montaje! 🚀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio