Comando mkfs
El comando mkfs (make file system) es una utilidad fundamental en sistemas operativos tipo Unix y Linux para formatear particiones de disco, creando un nuevo sistema de archivos (como ext4, xfs, vfat o btrfs) en un dispositivo de almacenamiento. Es una herramienta crítica utilizada por administradores de sistemas para preparar discos duros, SSDs o memorias USB antes de que el sistema operativo pueda almacenar datos en ellos.
| Categoría | Almacenamiento y Particiones |
|---|---|
| Disponible en | Linux / Unix / macOS |
| Equivalente en Windows | format (CMD / PowerShell) / Administración de discos |
| Sustituye a | Herramientas antiguas y específicas de formateo de disquetes o particiones heredadas. |
| ¿Requiere permisos de administrador? | Sí, es estrictamente obligatorio contar con privilegios de superusuario (root) para ejecutarlo, ya que modifica directamente estructuras críticas de bajo nivel en los dispositivos de hardware. |
¿Qué significa su nombre?
MKFS es la abreviatura en inglés de Make File System (Crear sistema de archivos). Su nombre describe con total precisión su propósito principal: inicializar las estructuras de datos necesarias (como el superbloque, los inodos y las tablas de asignación) para que un sistema operativo reconozca y gestione ficheros en una partición dada.
Aunque históricamente mkfs actuaba como un enrutador genérico que llamaba a herramientas específicas, hoy en día se suele invocar tanto mediante su forma genérica como utilizando comandos especializados directamente (por ejemplo, mkfs.ext4).
¿Para qué sirve?
El comando mkfs sirve principalmente para:
- Preparar particiones recién creadas en discos duros internos o externos para que puedan ser montadas y utilizadas.
- Formatear memorias USB o tarjetas SD con sistemas de archivos compatibles (como FAT32 o exFAT) para su uso multiplataforma.
- Cambiar o actualizar el sistema de archivos de una partición eliminando por completo su contenido anterior.
- Establecer etiquetas de volumen o parámetros avanzados de bloques durante la inicialización del almacenamiento.
Sintaxis
mkfs [opciones] [-t tipo_fs] [dispositivo]
O bien utilizando la variante directa:
mkfs.tipo_fs [opciones] [dispositivo]
Las opciones más habituales son:
| Opción | Descripción |
|---|---|
-t [tipo] |
Especifica el tipo de sistema de archivos a crear (por ejemplo: ext4, xfs, vfat, ntfs). |
-L [etiqueta] |
Asigna una etiqueta o nombre descriptivo al volumen formateado. |
-c |
Comprueba la existencia de bloques defectuosos (bad blocks) en el dispositivo antes de formatear (poco recomendable en SSDs modernos). |
-V |
Muestra información detallada sobre la ejecución del comando (modo verbose). |
Comandos más utilizados
| Comando | Descripción |
|---|---|
mkfs.ext4 /dev/sdb1 |
Formatea la partición sdb1 utilizando el sistema de archivos predeterminado de Linux, ext4. |
mkfs -t vfat -F 32 /dev/sdc1 |
Formatea una memoria USB en formato FAT32 clásico. |
mkfs.xfs -L "Datos" /dev/sdd1 |
Crea un sistema de archivos XFS en la partición y le asigna la etiqueta "Datos". |
mkfs.ntfs /dev/sde1 |
Formatea una partición con el sistema de archivos NTFS de Windows (requiere el paquete ntfs-3g). |
Equivalencia con otros sistemas
| Acción | Linux | Windows (CMD / PowerShell) |
|---|---|---|
| Formatear partición | mkfs / mkfs.ext4 |
format / New-Volume |
| Formatear como FAT32 | mkfs.vfat -F 32 |
format /fs:FAT32 |
| Formatear con etiqueta | mkfs.ext4 -L "Nombre" |
format /v:"Nombre" |
Ejemplos
Formatear una partición de disco duro con ext4
sudo mkfs.ext4 /dev/sdb1
Crear un sistema de archivos ext3 indicando una etiqueta de volumen
sudo mkfs -t ext3 -L "Backup" /dev/sdc1
Formatear una memoria USB en formato FAT32
sudo mkfs.vfat -F 32 /dev/sdd1
Formatear una partición utilizando el sistema de alto rendimiento XFS
sudo mkfs.xfs /dev/sde1
Ejemplo de salida
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2621440 1024-byte blocks and 655360 inodes
Filesystem UUID: a1b2c3d4-e5f6-7890-abcd-ef0123456789
Superblock backups stored on blocks:
8193, 24577, 40960, 57344, 73728
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
¿Cómo interpretar la salida?
- Creating filesystem with... blocks and inodes: Muestra el tamaño total asignado en bloques de almacenamiento y la cantidad de inodos creados para gestionar los futuros archivos.
- Filesystem UUID: Identificador único universal asignado a la partición, clave para montarla posteriormente en el archivo
/etc/fstab. - Writing superblocks...: done: Confirma que la estructura de control principal del sistema de archivos se ha grabado correctamente en el disco.
Errores habituales
- Olvidar anteponer
sudo, lo que provocará un error de denegación de permisos al intentar acceder directamente al archivo de bloque del dispositivo. - Confundir la letra o el número de la partición (por ejemplo, escribir
/dev/sdaen lugar de/dev/sda1), lo que puede destruir la tabla de particiones completa o el sector de arranque del sistema operativo principal. - Intentar formatear una partición que se encuentra actualmente montada en el sistema, lo cual es bloqueado por seguridad por las herramientas modernas de formateo.
Conceptos relacionados
- Sistemas de archivos (ext4, NTFS, FAT32, XFS, Btrfs)
- Inodos y superbloques
- Dispositivos de bloque (
/dev/sd*) - Puntos de montaje
- Tabla de particiones (GPT / MBR)
Comandos relacionados
fdiskpartedmountumountlsblkdf
Curiosidades
El comando mkfs es una de las herramientas más temidas por los administradores de sistemas novatos. Un pequeño error tipográfico al seleccionar el dispositivo de destino puede borrar por completo un disco duro entero en cuestión de segundos, razón por la cual siempre se recomienda verificar exhaustivamente las rutas con comandos como lsblk antes de ejecutarlo.
Prácticas propuestas
- Utiliza el comando
lsblkpara identificar un disco secundario o memoria USB de prácticas conectada a tu equipo y anota su ruta exacta (por ejemplo,/dev/sdb1). - Asegúrate de que la partición seleccionada no esté montada utilizando el comando
umountsi fuera necesario. - Ejecuta el comando
sudo mkfs.ext4sobre tu partición de pruebas para inicializar un nuevo sistema de archivos ext4. - Vuelve a formatear la misma partición de pruebas pero añadiendo la opción
-L "PracticaFP"para asignarle una etiqueta personalizada. - Comprueba los cambios realizados consultando la información detallada del disco mediante el comando
lsblk -f. - Prueba a formatear un pendrive externo utilizando el sistema de archivos
vfatpara comprobar su compatibilidad con otros sistemas operativos.
Consejo: Adquiere el hábito de utilizar siempre la opción -f o de listar los discos con lsblk -f antes de formatear; comprobar el UUID y el tamaño actual de la partición te salvará de cometer errores catastróficos de pérdida de datos.