Linux / Commande blkid : UUID, type de contenu et identifiants de partition

blkid lit les métadonnées de périphériques bloc pour identifier leur contenu, notamment le type de système de fichiers, son UUID et son étiquette. Il aide à vérifier les identifiants utilisés pour un montage. Un UUID et un PARTUUID ne désignent pas la même chose, et une absence de résultat ne suffit pas à déclarer un périphérique vide.

Identifier le périphérique et consulter ses métadonnées

Commencez par lsblk et ses relations entre disques et partitions pour repérer la cible, sa taille et ses montages. Le manuel recommande cette vue pour un inventaire général, et blkid pour examiner les signatures et attributs du contenu.

sudo blkid
sudo blkid /dev/sdb1

La première commande consulte les périphériques reconnus ; la seconde limite la demande à une partition. /dev/sdb1 est un exemple : remplacez-le par le chemin vérifié sur votre machine. Ces consultations ne créent ni ne formatent de système de fichiers. Elles peuvent néanmoins actualiser des informations de cache utilisées par l’outil.

Une sortie illustrative peut ressembler à :

/dev/sdb1: UUID="11111111-2222-3333-4444-555555555555" TYPE="ext4"

L’identifiant ci-dessus est fictif et ne doit pas être copié dans une configuration. Les champs présents et leur ordre dépendent des métadonnées reconnues. TYPE peut aussi désigner un autre contenu, par exemple une zone d’échange, plutôt qu’un système de fichiers montable ordinaire.

Avec les droits suffisants, blkid lit les informations des périphériques. Pour un compte non privilégié, l’outil peut renvoyer des informations de cache non vérifiées : elles ne constituent pas nécessairement un relevé à jour. Une consultation vide peut aussi venir des droits, d’un contenu non reconnu ou de signatures ambiguës.

Distinguer UUID, LABEL et PARTUUID

Attribut Objet identifié
UUID Identifiant du contenu reconnu, souvent celui du système de fichiers.
LABEL Étiquette attribuée au contenu, lorsqu’elle existe.
TYPE Type de contenu ou de système de fichiers détecté.
PARTUUID Identifiant d’une partition issu des métadonnées de partitionnement.

UUID signifie Universally Unique Identifier. L’utiliser pour un système de fichiers évite de dépendre uniquement d’un nom /dev/sdX qui peut changer avec l’ordre de détection. Cela ne garantit pas l’unicité réelle après une copie : le clonage peut reproduire un UUID et la création d’un nouveau système de fichiers peut le remplacer.

PARTUUID identifie une partition et n’est pas l’UUID du système de fichiers qu’elle contient. Une modification de partitionnement et un nouveau formatage n’agissent pas sur le même niveau. Avant de reprendre une valeur dans /etc/fstab, vérifiez l’attribut demandé et le périphérique concerné ; ne remplacez pas UUID par PARTUUID comme s’il s’agissait de deux écritures d’un même champ.

Extraire un champ ou rechercher un identifiant

sudo blkid -s UUID -o value /dev/sdb1
sudo blkid -s UUID -s TYPE /dev/sdb1

-s sélectionne une étiquette d’attribut et peut être répété. -o value ne conserve que les valeurs ; avec un seul champ, cela évite de parser le chemin et les guillemets du format complet. Vérifiez néanmoins le statut de retour et la présence d’une valeur : le filtrage -s peut produire une sortie vide sans changer à lui seul le statut de réussite de la détection du périphérique.

Les options -L et -U recherchent respectivement une étiquette de système de fichiers ou son UUID. La notation suivante montre leurs arguments :

sudo blkid -L ETIQUETTE
sudo blkid -U UUID_RELEVE

Dans util-linux, ces options renvoient un chemin de périphérique et effectuent une recherche d’un résultat. Un chemin renvoyé ne prouve donc pas qu’aucun doublon n’existe. En présence de clones, examinez l’ensemble des périphériques et leurs métadonnées avant une opération d’écriture. Les anciennes implémentations de blkid peuvent aussi donner un autre sens à certaines options, notamment -L ; vérifiez le manuel local pour un script destiné à plusieurs systèmes.

Utiliser la détection directe pour examiner une ambiguïté

sudo blkid -p /dev/sdb1

-p demande une détection bas niveau des signatures en contournant le cache. Il ne signifie pas « partitionner ». Ce mode fournit aussi des informations de table de partitions et peut employer des noms d’attributs différents, par exemple PART_ENTRY_UUID au lieu de PARTUUID. Un script écrit pour un mode ne doit pas supposer que tous les noms restent identiques dans l’autre.

Le mode habituel peut ignorer silencieusement un périphérique présentant plusieurs signatures concurrentes. Le mode bas niveau permet d’en savoir plus ; le manuel documente notamment ces statuts :

  • 0 : informations recueillies sur un périphérique identifié ; un filtre de champ peut malgré tout masquer les valeurs.
  • 2 : aucun périphérique ou identifiant correspondant n’a pu être identifié ou renseigné.
  • 4 : erreur d’utilisation ou autre erreur.
  • 8 : détection bas niveau ambiguë.

Une ambiguïté appelle un diagnostic, pas un effacement automatique de signatures. Recoupez le contenu, les montages avec findmnt et les relations de stockage avec lsblk. Aucun résultat blkid ne garantit l’existence d’une sauvegarde ni l’absence d’usage actif. Le manuel blkid du projet util-linux détaille les modes de recherche, le cache, les attributs et les statuts de sortie.