Si tienes discos duros externos, HDD, SSD adicionales o unidades USB conectadas a tu Raspberry Pi o servidor, seguramente quieras que se monten **automáticamente al arrancar el sistema**. En este artículo te explico paso a paso cómo hacerlo de forma correcta, segura y profesional, evitando los errores típicos.
¿Qué necesitas?
- – Un sistema Linux (vale para Debian, Ubuntu, Raspberry Pi OS, etc.)
- – Acceso `sudo` o root
- – Un disco o partición que quieras montar (puede ser interno, USB, SSD, HDD…)
1. Entendiendo los identificadores de disco
Antes de editar ningún archivo, debes identificar **de forma única** tu partición. Nunca uses `/dev/sda1` directamente porque puede cambiar al reiniciar. Usa **UUID** (identificador universal único).
Con el comando lsblk -f puedes ver todos los discos y particiones.
lsblk -f
raspberry@terrapi:/mnt/Datos $ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 swap 1
sda
└─sda1 ext4 1.0 Disco_4TB c1ejfioe36-3f56-4ffb-8ee1-3e5lfojrdbb3 3,4T 0% /mnt/Zombie
sdb
└─sdb1 ext4 1.0 Disco_1TB 4ddd15-57f5-4b75-8cc7-9143332b1062 429,4G 48% /mnt/Datos
zram0 swap 1 zram0 a3r3bf9-7ee7-47b0-bf32-a3fgasda099b7 [SWAP]
nvme0n1
├─nvme0n1p1 vfat FAT32 bootfs 7D34-B6BD 428,8M 16% /boot/firmware
└─nvme0n1p2 ext4 1.0 rootfs 61r3raf9-9db4-4dec-8a3b-437abc3df332d 439,5G 2% /
raspberry@terrapi:/mnt/Datos $
1.1 Obtener el UUID de una partición concreta
El UUID son las siglas de Universally Unique Identifier (Identificador Único Universal). En el contexto de Linux y los discos, es un número de 128 bits que se asigna a cada partición de forma que sea prácticamente único en todo el mundo.
Sirve para identificar de forma inequívoca una partición, independientemente de dónde esté conectada o en qué orden la detecte el sistema.
Lo podemos obtener de varias formas, siendo estos comandos los mas usados:
# Ver todos los UUID de particiones
sudo blkid
# Ver solo los UUID (más limpio)
lsblk -f
# Obtener UUID de un disco concreto
sudo blkid /dev/sda1
Anota el `UUID` y el `TYPE` que corresponda a tu disco.(por ejemplo `ext4`, `ntfs`, `exfat`).
2. ¿Dónde crear el punto de montaje? /media vs /mnt
La elección no afecta al funcionamiento (Linux monta en cualquier directorio vacío), pero hay una buena práctica basada en el estándar FHS (Filesystem Hierarchy Standard):
/media→ Para discos extraíbles o de datos (USB, discos externos, tarjetas SD).
✅ Úsalo si son discos que conectas/desconectas o que almacenan solo datos personales (películas, copias de seguridad, música)./mnt→ Para montajes temporales y manuales realizados por el administrador (reparar el sistema, probar una partición).
✅ Úsalo solo si vas a montar un disco de forma puntual, no permanente.
En mi caso (Raspberry Pi con 2 HDD USB fijos de datos)
Crea los puntos bajo /media:
sudo mkdir -p /media/Disco_4TB
sudo mkdir -p /media/Disco_1TB
Así integras mejor con el sistema (detectados automáticamente por aplicaciones como Plex, Samba, o el gestor de archivos) y sigues la convención actual.
⚠️ Recuerda: Lo importante es que el directorio exista y esté vacío antes de montar. El resto es organización.
3. Montaje manual de prueba (antes de hacerlo permanente)
Hagamos un montaje manual para verificar que el disco se monta sin errores:
sudo mount /dev/sda1 /media/Disco_4TB
sudo mount /dev/sdb1 /media/Disco_1TB
Lista los archivos del disco con:
ls /media/Disco_4TB
ls /media/Disco_1TB
¿se ven los archivos? si es así, desmonta el disco manualmente con:
sudo umount /media/Disco_4TB
sudo umount /media/Disco_1TB
4. Montaje automático con `/etc/fstab`
El archivo `/etc/fstab` controla los montajes al inicio. **Haz una copia de seguridad** antes de editarlo:
sudo cp /etc/fstab /etc/fstab.bak
Ahora edítalo:
sudo nano /etc/fstab
Añade una línea por cada partición con el siguiente formato:
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /punto/de/montaje tipo_fs opciones 0 2
Ejemplo real para un disco ext4 de datos:
UUID=c1ejfioe36-3f56-4ffb-8ee1-3e5lfojrdbb3 /media/Disco_4TB ext4 defaults,nofail,x-systemd.automount 0 2
UUID=4ddd15-57f5-4be75-8cc7-9143332b1062ese /media/Disco_1TB ext4 defaults,nofail,x-systemd.automount 0 2
¿Qué significan estas opciones?
defaults: Incluye: `rw, suid, dev, exec, auto, nouser, async`nofail: Si el disco no está conectado, el sistema arranca igual (imprescindible para discos externos)x-systemd.automount: El disco se monta bajo demanda, al primer acceso. Acelera el arranque.users: Permite que cualquier usuario monte/desmonte la unidad (cuidado con `noexec`)errors=remount-ro: Si hay errores, remonta como solo lectura para proteger los datos
Ejemplo para un disco NTFS (Windows)
Si tu disco proviene de un sistema tipo Windows, instalaremos la gestion de particiones NTFS
sudo apt install ntfs-3g
Línea en fstab:
UUID=1234567890ABCDEF /media/WinData ntfs-3g defaults,uid=1000,gid=1000,dmask=022,fmask=133,noexec,nofail 0 0
- uid=1000/gid=1000` → tu usuario normal es el dueño
- dmask=022,fmask=133` → permisos: directorios 755, archivos 644
5. Probar y recargar sin reiniciar
Después de editar `fstab`monta todo lo que esté en fstab (solo lo nuevo)
sudo mount -a
sudo systemctl daemon-reload # si usas systemd.automount
Si no hay errores, todo está correcto. Puedes reiniciar para confirmar.
## 6. ¿Qué pasa si el disco no está conectado al arrancar?
Sin `nofail`, el sistema se quedará esperando o entrará en modo de emergencia. **Siempre añade `nofail` en discos extraíbles**.
8. Comandos útiles para el día a día
Ver todos los montajes activos
mount | grep "/media"
Ver uso de espacio en discos montados
df -h
Desmontar de forma segura
sudo umount /media/Disco_4TB
# Forzar desmontaje (si está ocupado)
sudo umount -l /media/Disco_4TB
✅ Resumiendo.
Monta tus dos HDD USB en /media. Aqui te detallo varias razones de peso:
- Son discos de datos, no del sistema
El NVMe ya tiene el sistema operativo (/dev/nvme0n1p2montado en/yp1en/boot/firmware). Los HDD USB son puramente almacenamiento secundario. - Son fijos pero externos
Aunque no los desconectes, al estar por USB el sistema los trata como extraíbles. La convención moderna es que/mediaes para medios extraíbles o de datos, incluso si están siempre conectados. - Mejor integración con el entorno
- Muchas aplicaciones (Plex, Samba, MiniDLNA, gestores de archivos) detectan automáticamente lo montado bajo
/media. - Si usas escritorio, aparecerán automáticamente en el administrador de archivos.
- Por el contrario,
/mntes ignorado por muchas herramientas gráficas.
- Evitas confusiones de sistema
Los scripts del sistema yudisks(que gestiona montajes automáticos de USB) respetan/media. Si montas en/mnt, pierdes esa integración.
🎯 Configuración recomendada.
Basándote en tu artículo, para cada HDD:
# Crear puntos de montaje descriptivos
sudo mkdir -p /media/Disco1
sudo mkdir -p /media/Disco2
# Obtener UUID de cada uno
sudo blkid | grep -E "sda|sdb" # según tu fdisk, /dev/sda y /dev/sdb
# Editar /etc/fstab añadiendo líneas como:
UUID=AAAA... /media/Disco1 ext4 defaults,nofail,x-systemd.automount 0 2
UUID=BBBB... /media/Disco2 ext4 defaults,nofail,x-systemd.automount 0 2
Opciones clave para tu setup:
nofail→ Si un disco USB falla al arrancar, el sistema sigue levantándose (imprescindible en Raspberry Pi).x-systemd.automount→ El disco se monta solo cuando se accede a él, acelerando el arranque.
🆚 Excepción: ¿Cuándo usar /mnt?
Prácticamente nunca para estos discos fijos. Solo lo usarías si:
- Temporalmente necesitas desmontar y montar un disco para reparación o pruebas.
- Quieres montar manualmente una partición sin dejarla fija en
fstab.
📌 Tabla resumen
| Si tu disco es… | Monta en… |
|---|---|
| Sistema operativo (NVMe, SSD interno) | / o /boot (lo decide el instalador) |
| Disco de datos interno adicional (sata, nvme secundario) | /media (o /mnt si prefieres, pero menos práctico) |
| Disco USB fijo (tu caso) | /media ✅ |
| Disco USB que conectas/desconectas | /media (montaje automático) |
| Montaje temporal para reparar el sistema | /mnt |