Formateo: mkfs.ext4, mkfs.xfs, mkfs.btrfs, mkswap
Introducción
Formatear una partición consiste en crear un sistema de archivos en ella. Linux soporta múltiples sistemas
de archivos, cada uno con sus propias ventajas. ext4 es el estándar histórico; xfs destaca
en rendimiento con ficheros grandes;
btrfs ofrece características avanzadas como snapshots y RAID integrado.
Comparativa de sistemas de archivos
- ext4 — estable, probado, journaling, compatible con todo. Elección por defecto en Debian/Ubuntu.
- xfs — alto rendimiento, excelente con ficheros grandes y sistemas de producción. Por defecto en RHEL/CentOS.
- btrfs — snapshots, compresión, RAID integrado, checksums. Por defecto en openSUSE/Fedora. Más complejo.
- vfat/FAT32 — compatible con Windows y UEFI. Usar para
/boot/efiy medios extraíbles. - swap — área de intercambio de memoria. No es un sistema de archivos en sentido estricto.
mkfs.ext4 — Crear sistema de archivos ext4
# Formatear una partición con ext4 (forma básica)
mkfs.ext4 /dev/sdb1
# Equivalente
mkfs -t ext4 /dev/sdb1
# Con etiqueta de volumen
mkfs.ext4 -L "datos" /dev/sdb1
# Reservar menos espacio para root (por defecto 5%, reducir en discos grandes)
mkfs.ext4 -m 1 /dev/sdb1
# Tamaño de bloque (1024, 2048 o 4096 bytes; por defecto 4096)
mkfs.ext4 -b 4096 /dev/sdb1
# Ver parámetros del sistema de archivos recién creado
dumpe2fs /dev/sdb1 | head -40
tune2fs -l /dev/sdb1
mkfs.xfs — Crear sistema de archivos XFS
# Formatear con XFS
mkfs.xfs /dev/sdb1
# Con etiqueta
mkfs.xfs -L "almacen" /dev/sdb1
# Forzar si ya tiene sistema de archivos
mkfs.xfs -f /dev/sdb1
# Ver información del sistema XFS
xfs_info /dev/sdb1
# o una vez montado:
xfs_info /punto/de/montaje
# Gestión de etiqueta en XFS
xfs_admin -l /dev/sdb1 # ver etiqueta
xfs_admin -L "nueva" /dev/sdb1 # cambiar etiqueta
# Cambiar UUID (útil al clonar discos)
xfs_admin -U generate /dev/sdb1
mkfs.btrfs — Crear sistema de archivos Btrfs
# Formatear con Btrfs
mkfs.btrfs /dev/sdb1
# Con etiqueta
mkfs.btrfs -L "sistema" /dev/sdb1
# Btrfs en múltiples dispositivos (RAID integrado)
mkfs.btrfs -d raid1 -m raid1 /dev/sdb1 /dev/sdc1
# Ver información
btrfs filesystem show /dev/sdb1
btrfs filesystem df /punto/de/montaje
# Subvolúmenes (similar a particiones dentro de Btrfs)
btrfs subvolume create /mnt/datos/@home
btrfs subvolume list /mnt/datos
# Snapshot de un subvolumen
btrfs subvolume snapshot /mnt/datos/@ /mnt/datos/@snap_2025
# Compresión al montar
# mount -o compress=zstd /dev/sdb1 /mnt/datos
mkswap y swapon — Crear y activar swap
# Crear área de swap en una partición
mkswap /dev/sdb2
# Con etiqueta
mkswap -L "swap" /dev/sdb2
# Activar la swap
swapon /dev/sdb2
# Ver swap activa
swapon --show
free -h
# Desactivar swap
swapoff /dev/sdb2
# Swap en un fichero (alternativa a partición)
# Crear fichero de 2 GiB
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Hacer permanente en /etc/fstab:
# /swapfile none swap sw 0 0
Otros sistemas de archivos habituales
# FAT32 (para EFI y medios extraíbles)
mkfs.vfat -F 32 /dev/sdb1
mkfs.vfat -F 32 -n "EFI" /dev/sdb1
# exFAT (para discos USB grandes, compatible con macOS y Windows)
mkfs.exfat -n "DATOS" /dev/sdb1
# ext3 (legado, mantiene compatibilidad con ext2)
mkfs.ext3 /dev/sdb1
# Cambiar etiqueta de un ext4 ya formateado
e2label /dev/sdb1 "nueva_etiqueta"
tune2fs -L "nueva_etiqueta" /dev/sdb1
# Cambiar UUID de ext4 (útil tras clonar discos)
tune2fs -U random /dev/sdb1