GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver l'UUID d'un système de fichiers

Solution 1 :

Une autre commande qui pourrait être disponible et qui fonctionne également très bien pour cela est 'blkid'. Cela fait partie du paquet e2fsprogs. Exemples d'utilisation :

Rechercher des données sur /dev/sda1 :

[email protected]:~$ sudo blkid /dev/sda1
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"

Afficher les données UUID pour toutes les partitions :

[email protected]:~$ sudo blkid
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"
/dev/sdb: UUID="467c4aa9-963d-4467-8cd0-d58caaacaff4" TYPE="ext3"

Afficher les données UUID pour toutes les partitions dans un format plus facile à lire :(Remarque :dans les versions plus récentes, blkid -L a une signification différente, et blkid -o list devrait être utilisé à la place)

[email protected]:~$ sudo blkid -L
device     fs_type label    mount point    UUID
-------------------------------------------------------------------------------
/dev/sda1 ext3             /              727cac18-044b-4504-87f1-a5aefa774bda
/dev/sdc  ext3             /home          467c4aa9-963d-4467-8cd0-d58caaacaff4

Afficher uniquement l'UUID pour /dev/sda1 et rien d'autre :

[email protected]:~$ sudo blkid -s UUID -o value /dev/sda1
727cac18-044b-4504-87f1-a5aefa774bda

Solution 2 :

Pour les disques partitionnés GPT uniquement

Sur un disque formaté GPT, chaque partition se voit attribuer un GUID, qui est une forme d'UUID, mais probablement pas ce à quoi l'affiche originale faisait référence. Par conséquent, cette réponse est probablement moins utile pour le questionneur initial. Néanmoins, je crois qu'il y a une distinction importante à remarquer.

Pour obtenir le GUID de la partition 1 sur le disque au format GPT /dev/sda, ainsi que son étiquette de partition, etc. :

sudo sgdisk -i 1 /dev/sda

ou tous avec :

ls -l /dev/disk/by-partuuid

Pour démarrer avec la racine du système de fichiers sur une certaine partition, vous utiliserez la syntaxe des paramètres du noyau Linux :

root=PARTUUID=87654321-4321-4321-abcd-123456789012

Dans ce cas, vous pouvez spécifier uniquement le début de l'UUID, suffisamment pour être unique. Ce paramètre est plus primitif et peut être compris par le noyau plus tôt dans son processus de démarrage.

Il y a une différence de sémantique entre ceux-ci :

Un disque contient des partitions, une partition contient un système de fichiers, un système de fichiers contient des répertoires et des fichiers. Pour certaines configurations et certains systèmes d'exploitation, il existe plusieurs couches.

Le GUID UUID et l'étiquette associée font référence à une partition, mais pas au contenu de la partition. Une nouvelle partition sur le même disque ou une partition sur un nouveau disque aura un nouveau GUID UUID. La même partition peut contenir un système de fichiers un jour et un autre un jour différent. Il n'existe que pour les disques formatés GPT, mais pas pour les disques partitionnés hérités. Il n'y a généralement pas plus d'utilité ici que de spécifier root=/dev/sda1 ou root=8:1 .

Les autres réponses actuelles font référence à l'UUID d'un système de fichiers dans une partition contenante. Si le système de fichiers est copié, dans son ensemble, sur une autre partition ou sur un autre disque dur, cette valeur reste la même. Cet UUID est utile pour trouver un système de fichiers déplacé. Par conséquent, cela est probablement plus pertinent pour la plupart des gens. Paramètre du noyau Linux root=UUID=87654321-4321-4321-a567-123456789012 fait référence à cela.

Je crois root=LABEL= et root=UUID= sont implémentés par l'espace utilisateur précoce, le code init que j'ai vu l'autre jour sur mon système traduisait ces paramètres en /dev/disk/by-uuid et /dev/disk/by-label (les liens, je crois, sont créés par udev dans l'espace utilisateur sur mon système).

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183

Solution 3 :

La façon de faire cela sans script et qui fonctionne sur n'importe quel type de système de fichiers est :

lsblk -no UUID <device-containing-FS>

Ou, étant donné le point de montage (ou tout fichier qu'il contient) :

lsblk -no UUID $(df -P <file> | awk 'END{print $1}')

La sortie est l'UUID, l'UUID entier et rien que l'UUID.

Solution 4 :

La façon la plus simple de le faire pour ext2/ext3/ext4 est :

/sbin/tune2fs -l /dev/sda1

Solution 5 :

La méthode recommandée pour ce faire est de faire

sudo vol_id -u /dev/sda2

Pour en savoir plus sur l'utilisation des UUID, consultez cet article (de l'aide d'ubuntu, mais devrait fonctionner pour toute distribution Linux utilisant des UUID).

Comme indiqué dans les commentaires à cette question, vol_id peut ne pas être dans votre chemin. Sur Ubuntu, il se trouve dans /sbin, donc ce qui précède fonctionnera. Pour fedora, il semble avoir besoin de

sudo /lib/udev/vol_id -u /dev/sda2

Si d'autres distributions ont vol_id à d'autres endroits, publiez un commentaire et je l'ajouterai à cette réponse.


Linux
  1. Comment créer un système de fichiers sur une partition ou un volume logique Linux

  2. Comment trouver le décalage d'un système de fichiers Ext4 ?

  3. Comment trouver les options de montage du système de fichiers actuellement monté

  4. Comment savoir ce qui utilise tout l'espace sur ma partition / ?

  5. Comment changer l'UUID du système de fichiers (2 mêmes UUID) ?

Comment changer l'UUID de la partition dans le système de fichiers Linux

Comment trouver le type de système de fichiers monté sous Linux

Comment identifier l'UUID du système de fichiers sous Linux :le didacticiel ultime

Comment changer le schéma de partition sur votre serveur Linux ?

Android - Comment trouver le chemin d'accès de la partition swap sur la carte SD ?

Comment monter un système de fichiers dans un environnement en lecture seule ?