--- title: "Cómo añadir y montar un disco adicional en Ubuntu 24.04" description: "Detecta un disco nuevo en Ubuntu 24.04, particiónalo, dale formato ext4 y móntalo de forma permanente por UUID en /etc/fstab sin riesgo de bloquear el arranque." category: "Gestión de Almacenamiento" language: es source: https://cubepath.com/es/docs/gestión-de-almacenamiento/como-agregar-y-montar-discos-adicionales updated: 2026-09-25 --- # Cómo añadir y montar un disco adicional en Ubuntu 24.04 Cuando un servidor se queda corto de espacio o quieres separar los datos del sistema operativo, lo habitual es añadir un segundo disco y montarlo en un directorio como `/mnt/datos` o `/var/lib/datos`. En este tutorial detectarás un disco nuevo en Ubuntu 24.04, lo particionarás, crearás un sistema de archivos ext4 y lo montarás por UUID para que siga disponible tras cada reinicio. También verás cómo montar un disco que ya contiene datos sin formatearlo. ## Requisitos previos - Un servidor con Ubuntu 24.04 LTS con un disco adicional conectado, por ejemplo un servidor dedicado de CubePath con varios discos o una máquina virtual con un segundo disco. - Un usuario no root con privilegios `sudo`. > Advertencia: los pasos 3 y 4 borran todo el contenido del disco. Si el disco ya tiene datos que quieres conservar, sáltalos y ve directamente a la sección "Montar un disco que ya tiene datos". Los comandos son los mismos en Debian 12 y Rocky Linux 9. En Rocky, el sistema de archivos habitual es XFS (`mkfs.xfs`). ## Paso 1: Identificar el disco nuevo Lista los dispositivos de bloque con su tamaño, sistema de archivos y punto de montaje: ```bash lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS ``` ```output NAME SIZE TYPE FSTYPE MOUNTPOINTS sda 100G disk ├─sda1 1M part └─sda2 100G part ext4 / sdb 500G disk ``` El disco nuevo es el que no tiene particiones, ni sistema de archivos, ni punto de montaje: en este ejemplo, `/dev/sdb` de 500 GB. Según el tipo de disco puede llamarse `/dev/sdb`, `/dev/vdb` o `/dev/nvme1n1`; sustituye el nombre en todos los comandos. Si tienes varios discos del mismo tamaño y quieres asegurarte de cuál es cuál, muestra su modelo y número de serie: ```bash lsblk -d -o NAME,SIZE,MODEL,SERIAL ``` ### Si el disco no aparece En una máquina virtual a la que has conectado el disco en caliente, el kernel puede no haberlo detectado todavía. Pide a los controladores SCSI que vuelvan a buscar dispositivos: ```bash for host in /sys/class/scsi_host/host*/scan; do echo "- - -" | sudo tee "$host" > /dev/null; done ``` Vuelve a ejecutar `lsblk`. Si sigue sin aparecer, revisa los mensajes del kernel con `sudo dmesg | tail -20` o reinicia el servidor. ## Paso 2: Comprobar que el disco está vacío Antes de particionar, confirma que el disco no contiene un sistema de archivos, una tabla de particiones o metadatos de RAID o LVM: ```bash sudo wipefs /dev/sdb ``` Si no imprime nada, el disco está vacío. Si muestra alguna firma, detente y comprueba que es el disco correcto y que no contiene nada que necesites. ## Paso 3: Crear una partición Crea una tabla de particiones GPT y una única partición que ocupe todo el disco con `parted`: ```bash sudo parted -s -a optimal /dev/sdb mklabel gpt mkpart datos ext4 0% 100% ``` `-a optimal` junto con `0% 100%` hace que la partición empiece alineada, algo importante para el rendimiento en SSD y discos de sectores de 4K. El argumento `datos` es el nombre de la partición en la tabla GPT. Comprueba que se ha creado `/dev/sdb1`: ```bash lsblk /dev/sdb ``` ```output NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdb 8:16 0 500G 0 disk └─sdb1 8:17 0 500G 0 part ``` Si prefieres hacerlo de forma interactiva, `sudo fdisk /dev/sdb` con las órdenes `g` (tabla GPT), `n` (nueva partición, con los valores por defecto) y `w` (guardar) produce el mismo resultado. ## Paso 4: Crear el sistema de archivos Da formato ext4 a la partición con la etiqueta `datos`: ```bash sudo mkfs.ext4 -L datos /dev/sdb1 ``` ```output mke2fs 1.47.0 (5-Feb-2023) Creating filesystem with 131071488 4k blocks and 32768000 inodes ... Writing superblocks and filesystem accounting information: done ``` En un disco solo para datos puedes reducir el espacio que ext4 reserva para root, que por defecto es el 5 % (unos 25 GB en un disco de 500 GB): ```bash sudo tune2fs -m 1 /dev/sdb1 ``` ## Paso 5: Montar el disco Crea el directorio donde quedará montado el disco y móntalo: ```bash sudo mkdir -p /mnt/datos sudo mount /dev/sdb1 /mnt/datos ``` Comprueba el espacio disponible: ```bash df -h /mnt/datos ``` ```output Filesystem Size Used Avail Use% Mounted on /dev/sdb1 492G 28K 487G 1% /mnt/datos ``` Un sistema de archivos recién creado pertenece a root. Si una aplicación o tu usuario van a escribir en él, asigna el propietario adecuado. Por ejemplo, para tu usuario: ```bash sudo chown your_user:your_user /mnt/datos ``` Sustituye **your_user** por el nombre de tu usuario o el de la aplicación (por ejemplo, `www-data` para Nginx o Apache). ## Paso 6: Montar el disco automáticamente al arrancar El montaje anterior se pierde al reiniciar. Para hacerlo permanente, añade el disco a `/etc/fstab`. Usa el UUID del sistema de archivos en lugar de `/dev/sdb1`, porque los nombres de dispositivo pueden cambiar si se añaden o quitan discos. Obtén el UUID: ```bash sudo blkid /dev/sdb1 ``` ```output /dev/sdb1: LABEL="datos" UUID="5d1e8c42-7b3a-4f19-a6e2-9c0d4b8f1a37" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="datos" PARTUUID="..." ``` Haz una copia de seguridad del archivo y ábrelo: ```bash sudo cp /etc/fstab /etc/fstab.bak sudo nano /etc/fstab ``` Añade esta línea al final, con tu UUID: ```text UUID=5d1e8c42-7b3a-4f19-a6e2-9c0d4b8f1a37 /mnt/datos ext4 defaults,nofail 0 2 ``` Cada campo significa: | Campo | Valor | Significado | |-------|-------|-------------| | Dispositivo | `UUID=...` | Identificador estable del sistema de archivos | | Punto de montaje | `/mnt/datos` | Directorio donde se monta | | Tipo | `ext4` | Sistema de archivos | | Opciones | `defaults,nofail` | Opciones estándar; `nofail` permite arrancar aunque el disco falte | | dump | `0` | Sin copia con `dump` (obsoleto) | | pass | `2` | `fsck` lo revisa después del sistema raíz | La opción `nofail` es importante: sin ella, si el disco falla o se desconecta, el servidor se detiene en el arranque en modo de emergencia y solo podrás recuperarlo desde la consola. ## Paso 7: Probar la configuración Nunca reinicies sin probar antes `/etc/fstab`. Desmonta el disco, recarga systemd para que lea el archivo modificado y monta todo lo que contiene: ```bash sudo umount /mnt/datos sudo systemctl daemon-reload sudo mount -a ``` Si `mount -a` no muestra errores, comprueba que el disco está montado: ```bash findmnt /mnt/datos ``` ```output TARGET SOURCE FSTYPE OPTIONS /mnt/datos /dev/sdb1 ext4 rw,relatime ``` También puedes validar la sintaxis de todo el archivo: ```bash sudo findmnt --verify ``` Por último, reinicia y confirma que el disco se monta solo: ```bash sudo reboot ``` ```bash df -h /mnt/datos ``` ## Montar un disco que ya tiene datos Si el disco procede de otro servidor o ya lo habías formateado, **no** lo particiones ni lo formatees. Identifica sus particiones y sistemas de archivos: ```bash lsblk -f /dev/sdb ``` ```output NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sdb └─sdb1 ext4 datos 5d1e8c42-7b3a-4f19-a6e2-9c0d4b8f1a37 ``` Móntalo primero en solo lectura para revisar el contenido sin riesgo: ```bash sudo mkdir -p /mnt/datos sudo mount -o ro /dev/sdb1 /mnt/datos ls -la /mnt/datos ``` Si todo está bien, desmóntalo y sigue el paso 6 con el UUID y el tipo de sistema de archivos que muestra `lsblk -f` (por ejemplo, `xfs` en lugar de `ext4`). ```bash sudo umount /mnt/datos ``` Si `lsblk -f` muestra `LVM2_member` o `linux_raid_member`, el disco forma parte de un grupo LVM o de un array RAID: actívalo con `sudo vgchange -ay` o `sudo mdadm --assemble --scan` y monta el volumen lógico o el dispositivo `/dev/mdX` resultante, no la partición. ## Solución de problemas **`mount: wrong fs type, bad option, bad superblock`.** La partición no tiene sistema de archivos o el tipo indicado en `/etc/fstab` no coincide. Comprueba el tipo real con `lsblk -f`. **El servidor arranca en modo de emergencia tras editar `/etc/fstab`.** Suele deberse a un UUID incorrecto sin `nofail`. Accede por la consola del servidor; si el modo de emergencia te da un intérprete, remonta la raíz en escritura con `mount -o remount,rw /`, corrige o comenta la línea (o restaura `/etc/fstab.bak`) y reinicia. En Ubuntu la cuenta root está bloqueada por defecto y el modo de emergencia puede no dejarte entrar: en ese caso arranca un sistema de rescate, monta la partición raíz y corrige el archivo desde ahí. **`mount -a` avisa de que systemd usa la versión anterior de fstab.** Ejecuta `sudo systemctl daemon-reload` y repite. **Permiso denegado al escribir en el disco.** El directorio raíz del sistema de archivos pertenece a root. Asigna el propietario con `chown` como en el paso 5. ## Conclusión Has detectado un disco nuevo, lo has particionado con GPT, le has dado formato ext4 y lo has montado por UUID con `nofail` para que sobreviva a los reinicios sin poner en riesgo el arranque. Como siguientes pasos, puedes usar el disco como volumen físico de LVM para ampliarlo en el futuro, combinar dos discos en un RAID 1 con mdadm para tener redundancia o mover a él directorios con mucho crecimiento, como `/var/lib/mysql` o `/var/backups`.