Guía de blkid en Linux: consulta de UUID y montaje fstab

Introducción a la identificación de bloques en Linux

Para gestionar y enlazar volúmenes de almacenamiento de manera confiable en entornos Linux, resulta imprescindible conocer el identificador único universal (UUID) de cada partición. Esta guía aborda el uso práctico de la utilidad blkid para extraer metadatos esenciales de discos—como firmas de sistemas de archivos, identificadores UUID y etiquetas de volumen—, detallando sus opciones más relevantes y su integración directa en configuraciones seguras dentro de /etc/fstab.

Inspección global de volúmenes y sintaxis fundamental de blkid

Antes de profundizar en los atributos a bajo nivel, resulta conveniente inspeccionar la distribución física y la jerarquía de las particiones. Con la herramienta lsblk es posible visualizar rápidamente las unidades NVMe disponibles, sus dimensiones y los directorios de montaje actuales.

lsblk

El comando blkid examina las propiedades intrínsecas de cada nodo de bloque conectado al sistema operativo, recuperando descriptores clave como el identificador único (UUID), el tipo de sistema de ficheros (TYPE) y las etiquetas asignadas. Al ejecutarlo con permisos administrativos (sudo), se obtiene un desglose fidedigno de los identificadores globales y tamaños de bloque en todas las unidades detectadas.
⚙️ [Opciones destacadas]

-s <tag> : Restringe la salida únicamente al atributo indicado (por ejemplo, UUID, TYPE o PARTUUID).
-o <format> : Define la estructura visual de los resultados (value, list, device, export, full, entre otros).
-t <token> : Localiza volúmenes filtrando por pares clave-valor específicos (como TYPE=ext4).
-L <label> : Rastrea y devuelve el dispositivo asociado a una etiqueta de volumen concreta.
-U <uuid> : Identifica el medio de almacenamiento cuyo identificador coincida con el UUID provisto.
-p : Efectúa un sondeo directo sobre el superbloque en bajo nivel, obviando la caché del kernel (/etc/blkid.tab).
-c <cachefile> : Permite definir una ubicación personalizada para el archivo de caché o anularlo apuntando a /dev/null.

sudo blkid

Consulta dirigida y formateo selectivo de atributos (-s, -o)

Para trabajar de manera dinámica con una partición activa, empleamos findmnt para descubrir qué dispositivo aloja la raíz del sistema (/) y guardamos esa referencia dentro de la variable de entorno TARGET_DEV.

TARGET_DEV=$(findmnt -n -o SOURCE /)

Al pasar la ruta de una partición como parámetro a blkid, se focaliza la inspección en ese nodo puntual sin sobrecargar el sistema escaneando todas las unidades. De este modo, se obtienen rápidamente los campos UUID, BLOCK_SIZE, TYPE y PARTUUID del elemento elegido.

sudo blkid “$TARGET_DEV”

En scripts de automatización suele requerirse únicamente el identificador alfanumérico limpio. Al combinar la selección de etiqueta con -s UUID y la opción de salida -o value, la herramienta omite los nombres de campos y comillas, entregando la cadena pura de 36 caracteres lista para asignarse directamente a variables de Bash.

sudo blkid -s UUID -o value “$TARGET_DEV”

Si se busca una vista general organizada para auditorías del sistema, el modificador -o list presenta todos los dispositivos de bloques en una tabla clara. Dicho formato alinea los tipos de formato, directorios de montaje y cadenas UUID, simplificando la evaluación del almacenamiento disponible.

sudo blkid -o list

Creación de un volumen virtual y localización mediante etiquetas (LABEL)

Para llevar a cabo una prueba controlada sin comprometer discos físicos, generamos un archivo de imagen en blanco de 30 MB mediante dd.

dd if=/dev/zero of=/tmp/sample_disk.img bs=1M count=30 status=none

Posteriormente, vinculamos el archivo a un dispositivo de bucle libre con losetup, almacenando el nodo asignado en la variable LOOP_DEV para tratarlo como una unidad de disco estándar.

LOOP_DEV=$(sudo losetup -f –show /tmp/sample_disk.img)

Con el fin de comprobar el funcionamiento de las búsquedas por etiqueta, formateamos el volumen virtual en ext4 empleando el parámetro -L para definir la etiqueta MY_BACKUP.

sudo mkfs.ext4 -L MY_BACKUP “$LOOP_DEV” > /dev/null 2>&1

Al inspeccionar el nuevo nodo de bucle con blkid, verificamos que el atributo LABEL="MY_BACKUP" se haya asociado correctamente junto con su nuevo UUID y el formato ext4.

sudo blkid “$LOOP_DEV”

Utilizando el modificador -L, podemos solicitar a blkid una resolución inversa: indicamos la etiqueta deseada (MY_BACKUP) y el comando localiza y devuelve la ruta absoluta del dispositivo correspondiente de forma inmediata.

sudo blkid -L MY_BACKUP

Una vez completado el ejercicio, desconectamos el dispositivo loopback y suprimimos el archivo de imagen temporal para restaurar el estado del sistema.

sudo losetup -d “$LOOP_DEV” && rm -f /tmp/sample_disk.img

Validación inversa con -U y configuración persistente en fstab

Obtenemos el identificador exacto de la partición raíz (/) canalizando la salida de findmnt directamente a blkid -s UUID -o value, almacenando la cadena devuelta en ROOT_UUID.

ROOT_UUID=$(sudo blkid -s UUID -o value $(findmnt -n -o SOURCE /))

A partir del identificador capturado, generamos una línea de configuración compatible con /etc/fstab. Emplear el UUID en sustitución de las denominaciones tradicionales (/dev/sdX) garantiza que las particiones se monten siempre en el punto adecuado, incluso si el orden de reconocimiento del hardware cambia tras reiniciar o añadir discos.

echo “UUID=${ROOT_UUID}  /  ext4  defaults  0  1”

Mediante el argumento -U, podemos efectuar una comprobación cruzada: introducimos el valor del UUID para confirmar a qué partición apunta con exactitud en el sistema actual, asegurando la consistencia antes de realizar cambios permanentes en el archivo de montaje.

sudo blkid -U “$ROOT_UUID”

A través de estos pasos hemos comprobado cómo consultar las propiedades de almacenamiento con blkid, aislar identificadores persistentes y asegurar montajes estables en /etc/fstab. La adopción sistemática de identificadores UUID constituye una práctica fundamental para la resiliencia y el mantenimiento óptimo de sistemas Linux.