Comando mkfs

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/sda en 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

  • fdisk
  • parted
  • mount
  • umount
  • lsblk
  • df

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

  1. Utiliza el comando lsblk para identificar un disco secundario o memoria USB de prácticas conectada a tu equipo y anota su ruta exacta (por ejemplo, /dev/sdb1).
  2. Asegúrate de que la partición seleccionada no esté montada utilizando el comando umount si fuera necesario.
  3. Ejecuta el comando sudo mkfs.ext4 sobre tu partición de pruebas para inicializar un nuevo sistema de archivos ext4.
  4. Vuelve a formatear la misma partición de pruebas pero añadiendo la opción -L "PracticaFP" para asignarle una etiqueta personalizada.
  5. Comprueba los cambios realizados consultando la información detallada del disco mediante el comando lsblk -f.
  6. Prueba a formatear un pendrive externo utilizando el sistema de archivos vfat para 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.