--- title: "Cómo montar discos al arrancar con fstab en Ubuntu 24.04" description: "Aprende la sintaxis de /etc/fstab, formatea un disco nuevo, móntalo por UUID al arrancar y valida la configuración para que un error no bloquee el servidor." category: "Gestión de Almacenamiento" language: es source: https://cubepath.com/es/docs/gestión-de-almacenamiento/uso-de-fstab-montaje-automatico-de-discos updated: 2026-09-25 --- # Cómo montar discos al arrancar con fstab en Ubuntu 24.04 El archivo `/etc/fstab` indica al sistema qué sistemas de archivos debe montar al arrancar, dónde y con qué opciones. Un disco nuevo que montas a mano con `mount` desaparece tras el siguiente reinicio; añadirlo a `fstab` lo hace permanente. En este tutorial aprenderás el formato del archivo, prepararás un disco adicional en Ubuntu 24.04, lo montarás por UUID y validarás la configuración antes de reiniciar, porque una línea incorrecta en `fstab` puede dejar el servidor en modo de emergencia. ## Requisitos previos Para seguir esta guía necesitas: - Un servidor con Ubuntu 24.04 LTS (los comandos son iguales en Debian 12 y Rocky Linux 9), por ejemplo un VPS de CubePath. - Un usuario no root con privilegios `sudo`. - Un disco adicional vacío conectado al servidor. En los ejemplos es `/dev/vdb`; el nombre en tu sistema puede ser distinto (`/dev/sdb`, `/dev/nvme1n1`). - Acceso a una consola fuera de banda (la consola VNC o serie del proveedor) por si algo falla al arrancar. ## Paso 1: Entender el formato de fstab Muestra el contenido actual del archivo: ```bash cat /etc/fstab ``` ```output # /etc/fstab: static file system information. LABEL=cloudimg-rootfs / ext4 discard,errors=remount-ro 0 1 LABEL=UEFI /boot/efi vfat umask=0077 0 1 ``` Cada línea tiene seis campos separados por espacios o tabuladores: | Campo | Ejemplo | Significado | | --- | --- | --- | | 1. Dispositivo | `UUID=3f2a...` | Qué montar: `UUID=`, `LABEL=`, una ruta como `/dev/vdb1`, o un recurso de red como `servidor:/ruta`. | | 2. Punto de montaje | `/datos` | Directorio donde aparecerá el sistema de archivos. `none` para swap. | | 3. Tipo | `ext4` | `ext4`, `xfs`, `vfat`, `nfs`, `swap`, `tmpfs`... | | 4. Opciones | `defaults,nofail` | Opciones de montaje separadas por comas, sin espacios. | | 5. Dump | `0` | Obsoleto. Pon siempre `0`. | | 6. Pass | `2` | Orden de `fsck` al arrancar: `1` para la raíz, `2` para el resto de discos locales, `0` para no comprobar (swap, red, XFS). | Usa siempre `UUID=` o `LABEL=` en lugar de `/dev/vdb1`. Los nombres de dispositivo dependen del orden en que el kernel detecta los discos y pueden cambiar tras un reinicio o al añadir otro disco; el UUID va grabado en el propio sistema de archivos y no cambia. ## Paso 2: Identificar el disco nuevo Lista los discos y sus particiones: ```bash lsblk -f ``` ```output NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS vda ├─vda1 ext4 1.0 cloudimg-rootfs 8c1d6e0f-5a3b-4e6f-9a0c-2b7f1e4d9c21 61.2G 18% / └─vda15 vfat FAT32 UEFI 6A2B-1C3D 98.2M 6% /boot/efi vdb ``` `vdb` no tiene particiones ni sistema de archivos: es el disco nuevo. Comprueba dos veces el nombre antes de seguir, porque el siguiente paso borra su contenido. ## Paso 3: Particionar y formatear el disco Crea una tabla de particiones GPT con una única partición que ocupe todo el disco: ```bash sudo parted -s /dev/vdb mklabel gpt mkpart datos ext4 0% 100% ``` Formatea la partición con ext4 y asígnale una etiqueta: ```bash sudo mkfs.ext4 -L datos /dev/vdb1 ``` Obtén el UUID del nuevo sistema de archivos: ```bash sudo blkid /dev/vdb1 ``` ```output /dev/vdb1: LABEL="datos" UUID="b7e4c1a2-9f3d-4c6e-8a15-3d2f0e7b6a90" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="datos" PARTUUID="0d9a..." ``` Copia el valor de `UUID`: lo usarás en `fstab`. ## Paso 4: Crear el punto de montaje y probar el montaje manual Crea el directorio donde se montará el disco: ```bash sudo mkdir -p /datos ``` Antes de tocar `fstab`, comprueba que el disco se monta correctamente a mano: ```bash sudo mount /dev/vdb1 /datos df -h /datos ``` ```output Filesystem Size Used Avail Use% Mounted on /dev/vdb1 98G 24K 93G 1% /datos ``` Desmóntalo; a partir de ahora lo montará `fstab`: ```bash sudo umount /datos ``` ## Paso 5: Añadir la entrada a fstab Haz una copia de seguridad del archivo. Si algo sale mal, podrás restaurarla desde la consola de rescate: ```bash sudo cp /etc/fstab /etc/fstab.bak sudo nano /etc/fstab ``` Añade esta línea al final, con el UUID que obtuviste en el paso 3: ```text UUID=b7e4c1a2-9f3d-4c6e-8a15-3d2f0e7b6a90 /datos ext4 defaults,nofail 0 2 ``` - `defaults` equivale a `rw,suid,dev,exec,auto,nouser,async`. - `nofail` hace que, si el disco no está presente, el arranque continúe en lugar de detenerse en modo de emergencia. Úsalo en todo disco que no sea imprescindible para arrancar el sistema. - `2` en el último campo hace que `fsck` compruebe el disco al arrancar, después de la raíz. ## Paso 6: Validar fstab antes de reiniciar `findmnt --verify` analiza `fstab` y detecta errores de sintaxis, UUID inexistentes, tipos de sistema de archivos desconocidos y puntos de montaje que faltan: ```bash sudo findmnt --verify ``` ```output Success, no errors or warnings detected ``` Systemd genera las unidades de montaje a partir de `fstab`, así que recárgalo para que lea la nueva línea, y monta todo lo pendiente: ```bash sudo systemctl daemon-reload sudo mount -a ``` Si `mount -a` no muestra ningún mensaje, el montaje ha funcionado. Compruébalo: ```bash findmnt /datos ``` ```output TARGET SOURCE FSTYPE OPTIONS /datos /dev/vdb1 ext4 rw,relatime ``` Por último, reinicia el servidor con `sudo reboot` y ejecuta de nuevo `findmnt /datos` al volver para confirmar que el disco se monta solo. ## Paso 7: Otros usos habituales de fstab El mismo archivo sirve para otros tipos de montaje. Estas son las entradas más comunes; añade solo las que necesites y valida siempre con `findmnt --verify`. **Archivo de swap**, tras crearlo con `fallocate`, `chmod 600`, `mkswap` y `swapon`: ```text /swapfile none swap sw 0 0 ``` **`tmpfs`**: un sistema de archivos en RAM de tamaño limitado, útil para cachés efímeras: ```text tmpfs /var/cache/app tmpfs size=512M,mode=0750,noexec,nosuid,nodev 0 0 ``` **Montaje bind**: muestra un directorio existente en otra ruta, por ejemplo para exponer datos del disco nuevo dentro del árbol web: ```text /datos/web /var/www/html none bind,nofail 0 0 ``` **Recurso NFS**: para sistemas de archivos de red añade `_netdev`, que hace esperar a que la red esté lista: ```text 10.0.0.10:/srv/nfs/compartido /mnt/compartido nfs defaults,_netdev,nofail 0 0 ``` Algunas opciones que conviene conocer: | Opción | Uso | | --- | --- | | `noatime` | No actualiza la fecha de último acceso al leer. Reduce escrituras en discos muy leídos. | | `ro` | Monta en solo lectura. | | `noexec`, `nosuid`, `nodev` | Impiden ejecutar binarios, usar bits setuid o crear dispositivos. Recomendables en discos de datos y `tmpfs`. | | `x-systemd.automount` | Monta el sistema de archivos la primera vez que se accede, no en el arranque. Útil para recursos de red lentos. | ## Solución de problemas **El servidor arranca en modo de emergencia** (`You are in emergency mode`): una entrada de `fstab` no se ha podido montar y no tenía `nofail`. Desde la consola del proveedor, introduce la contraseña de `root` si te la pide, vuelve a montar la raíz en lectura y escritura, restaura la copia y reinicia: ```bash mount -o remount,rw / cp /etc/fstab.bak /etc/fstab reboot ``` En Ubuntu la cuenta `root` está bloqueada por defecto y el modo de emergencia puede negarse a abrir una shell (`the root account is locked`). En ese caso, reinicia desde la consola, pulsa **e** en el menú de GRUB, añade `init=/bin/bash` al final de la línea que empieza por `linux` y arranca con **Ctrl + X**. Obtendrás una shell de `root` sin contraseña: ejecuta los mismos `mount -o remount,rw /` y `cp`, y después `sync` y `reboot -f`. **`mount: /datos: can't find UUID=...`**: el UUID está mal copiado o el disco ya no existe. Compara con la salida de `sudo blkid`. **`mount: /datos: wrong fs type, bad option, bad superblock`**: el tipo del tercer campo no coincide con el real o hay una opción no válida para ese sistema de archivos. Revisa `lsblk -f` y `sudo dmesg | tail`. **Los cambios en `fstab` no se aplican**: tras editar el archivo, ejecuta `sudo systemctl daemon-reload` para que systemd regenere las unidades de montaje. ## Conclusión Has preparado un disco nuevo, lo has añadido a `/etc/fstab` por UUID con `nofail` y has validado la configuración con `findmnt --verify` antes de reiniciar, que es la rutina segura para cualquier cambio en este archivo. A partir de aquí puedes mover a `/datos` directorios que crecen mucho, como bases de datos o copias de seguridad, montar recursos compartidos NFS o Samba, o activar cuotas de disco en el nuevo sistema de archivos.