linux: Comment puis-je afficher tous les UUID de tous les disques disponibles sur mon système?

155

Mon /etc/fstabcontient ceci:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1

Il existe plusieurs autres disques sur ce système et tous les disques ne sont pas montés au bon emplacement (par exemple, / dev / sda1 et / dev / sdb1 sont parfois inversés).

Comment voir les UUID de tous les disques de mon système? Puis-je voir l'UUID du troisième disque de ce système?

Stefan Lasiewski
la source
@setzamora répond, c'est mieux. S'il vous plaît changer la réponse acceptée.
nslntmnx

Réponses:

135

Dans /dev/disk/by-uuidil y a des liens symboliques mappant UUID de chaque lecteur à son entrée dans /dev(par exemple /dev/sda1)

Michael Mrozek
la source
3
Ce n'est pas lisible quand les partitions LVM.
Grzegorz Wierzowiecki
1
LVM utilise déjà des identifiants de type UUID (bien que présentés différemment) dans sa structure. Je pense que la seule raison d'utiliser des UUID de système de fichiers avec LVM serait une interface unifiée pour une sorte d'automatisation, car LVM fait déjà le mappage des LV en noms conviviaux.
telcoM le
2
ls -lha /dev/disk/by-uuid
deFreitas
160

Il y a un outil appelé blkid(utilisez-le en tant que root ou avec sudo),

# blkid /dev/sda1
/dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"

vous pouvez vérifier ce lien pour plus d'informations

Setzamora
la source
12
Juste un commentaire mineur: il semblerait qu’il disksoit suffisant d’ être membre du groupe blkid; pas besoin de privilèges de superutilisateur complets.
arielf
10
Si vous ne voulez que l'UUID (comme pour l'analyse dans un script), vous pouvez le faire blkid /dev/sda1 -s UUID -o value.
Jack O'Connor
3
Commentaire rapide ici: dans ma distribution (Debian 8), cela donne des UUID ainsi que "PARTUUID", ce qui est plutôt déroutant. J'ai utilisé des commandes {lsblk} qui ne donnent qu'une valeur.
takumar
2
Celui-ci permet de gagner beaucoup de temps, bien que je préfère faire la blkid /dev/sd*liste de tous les lecteurs. L'information qui crache est généralement plus que suffisante pour trouver le lecteur dont vous avez besoin. :)
ZaLiTHkA
2
PARTUUID pour les disques partitionnés par GPT est l'UUID GPT pour la partition, pas pour le système de fichiers qu'il contient. Peut être utile lorsqu'un système de fichiers n'est pas encore créé. Sur un disque partitionné MBR, PARTUUID n'est pas un véritable UUID, mais simplement une signature de disque Windows à partir du MBR + un tiret + un numéro de partition.
telcoM
32

La meilleure commande à utiliser est lsblk -f. Il répertorie tous les périphériques et toutes les partitions, leur mode de montage (le cas échéant) et leur arborescence dans le cas d'utilisation de LVM, crypto_LUKS ou de plusieurs groupes de volumes sur le même lecteur.

John Rea
la source
10

Cela fonctionne pour moi:

ls -la /dev/disk/by-uuid

Si vous voulez vérifier le type de la partition, utilisez:

df -Th

et il vous montrera si vous avez ext3 ou ext2. Aujourd'hui, cela m'a aidé car il y avait une partition ext2 formatée et je pensais que c'était ext3, ce qui faisait échouer le montage.

MIrra
la source
Tu pourrais toujours essayer mount -t auto /dev/sda1 /media/sda1.
ott--
8

Pour obtenir uniquement le UUIDpériphérique d'un disque spécifique (par exemple, à utiliser dans un script), vous pouvez utiliser:

sudo blkid -s UUID -o value /dev/sdXY

/dev/sdXYest le nom de l'appareil.

Strahinja Kustudic
la source
6
lsblk -o +uuid,name

Vous pouvez voir toutes les sorties qui peuvent être ajoutées à la -o( --output) avec

lsblk --help

Aussi cela fera le travail

# blkid
Nico Rodsevich
la source
N'est pas nameimprimé par défaut?
don_crissti
c'est. Ajoutée uniquement à des fins éducatives (ajoutez la virgule pour séparer les champs de votre
choix
2

Les réponses précédentes ne fonctionnent pas pour plusieurs périphériques ou pour des périphériques avec des UUID identiques.

Essaye ça:

sudo blkid /dev/sd*
Kevin
la source
1
Vraiment ? Vous voulez dire, la réponse la plus votée ne fonctionne pas?
don_crissti
Un identifiant unique universel (UUID) doit toujours être unique. L’objet d’un UUID est d’être un univers unique. Sinon, il y a un problème. J'ai vu des UUID en double dans des machines virtuelles clonées, du moins pour les périphériques réseau.
Stefan Lasiewski
5
Si vous clonez une partition avec la ddcommande, la copie aura le même uuid et oui, c'est un problème. Les autres réponses ici ne montreraient pas cela.
Kevin
1

Avec la ligne de commande suivante, vous pouvez voir l’UUID plus le mappage des partitions.

ls /dev/disk/by-uuid -lt

lrwxrwxrwx 1 root root 10 Sep  1 18:51 57eacf4e-1940-436e-b945-85f8d4833aa5 -> ../../sda2
lrwxrwxrwx 1 root root 10 Sep  1 18:51 656f4cae-8527-43a0-a80f-00ac82818744 -> ../../sda1
lrwxrwxrwx 1 root root  9 Sep  1 18:51 d627595d-4060-440e-8380-a1fe9f3f2a81 -> ../../md0
lrwxrwxrwx 1 root root 10 Sep  1 18:51 0dfd6dfe-1852-460d-852c-676a5b9035ed -> ../../sda4
lrwxrwxrwx 1 root root 10 Sep  1 18:51 b1ddf850-8f81-429f-a653-38ae4a4ebb6f -> ../../sda3
lrwxrwxrwx 1 root root  9 Sep  1 18:51 b4b729f7-5699-411c-8f5a-424bbc7c89fc -> ../../sdb
Nicolas Guérinet
la source
Pourquoi pouvons-nous voir l'uuid de sda
Honghe.Wu
Il y a un UUID pour un système de fichiers par partition. Sur sda, j'ai 4 partitions donc j'avais 4 UUID. wiki.debian.org/Part-UUID
Nicolas Guérinet
1

J'ai le même problème que vous: renommer le noyau /dev/sd**après un redémarrage:

Bien sûr, tous mes montages automatiques /etc/fstabsont référencés par LABEL ou par UUID, il n’ya donc aucun problème pour cela. Et toutes les commandes ci-dessus, blkid ou lsblk, donnent ce genre d’informations.

Mais le problème commence comme dans mon cas, lorsque vous utilisez une partition en mode RAW, du point de vue du système actuellement démarré: par exemple, soit: la partition est utilisée comme périphérique brut, pour créer un disque virtuel pour VirtualBox (donc la référence à cette partition est quelque chose comme: /dev/sdf3) ou la partition est utilisée comme périphérique brut, pour faire un LUN iSCSI (donc la référence à cette partition est quelque chose comme: /dev/sdc6)

Donc maintenant au démarrage, par exemple dans rc.local, vous devez trouver de manière fiable le /dev/sdXXpériphérique de votre partition RAW dédiée et adapter un fichier:

EXEMPLE 1

La description du disque VirtualBox * .vmk de ce disque brut, dans la partie suivante:

\# Extent description
RW 488397167 FLAT "/dev/sdXX" 0

puis redémarrez le service VirtualBox

Exemple 2

Dans la configuration tgtd, une cible: cible0 était associée /dev/sdd6au moment de la construction. Après le redémarrage, vous obtenez la même partition renommée. /deb/sdc6 Cela se produit avec un disque amovible, USB ou eSATA! Alors, comment trouver le nouvel appareil automatiquement? Encore une fois dans /etc/rc.d/rc.local

Donc, dans ce cas, nous avons besoin d’une manière fiable pour trouver quel est le nom du nouveau périphérique. La partition GPT offre un GUID unique pour toute partition GPT, écrite dans une table GPT.

gdisk ne fournit pas ces informations avec le mode liste, mais uniquement en mode interactif avec: i commande. Heureusement, blkid le fait!

Vous devez donc écrire un script shell pour examiner tous vos disques, à savoir le périphérique /dev/sdXXassocié au GUID détecté au moment de la création de la partition.

Quelque chose comme, search_device_by_partUUID.sh:

\#!/bin/bash

PART_UUID=$1
if [ "$PART_UUID" = "" ]
then
    echo "Syntax: $0 <a valid partition UUID>"
    exit 3
fi
lsblk | grep '^sd' | awk '{print $1}' | while read DISK_DEVICE
do 
    INFO=`blkid /dev/${DISK_DEVICE}* | grep "PARTUUID=\"$PART_UUID\"" `
    if [ "$INFO" != "" ]
    then
        echo INFO : "$INFO"
        BLK_DEVICE=`echo "$INFO" | awk '{print $1}'`
        echo $BLK_DEVICE > /dev/shm/blkdevice
        echo -n "BLK_DEVICE : " ; cat /dev/shm/blkdevice
    fi
done

puis utilisez /dev/shm/blkdevice, dans votre script rc.local.

эруан абгралов
la source
0

Pour voir le contenu d'une partition de disque dur, il suffit de démarrer le système avec un CD Linux et de monter sur mon ordinateur, cliquez sur la partition que je veux voir. Le numéro uuid de la partition Linux sera affiché.

Vous pouvez également voir le disque en exécutant l'utilitaire Linux Disk après le démarrage du CD Linux.

homme puk tam
la source
Qu'est-ce que "mon ordinateur monté"? Et qu'est-ce que "l'utilitaire de disque Linux" ressemble à l'utilitaire de gnome-disk alias Disks?
Xen2050