web-dev-qa-db-fra.com

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

Ma /etc/fstab contient 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 à l'emplacement correct (par exemple,/dev/sda1 et/dev/sdb1 sont parfois inversés).

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

177
Stefan Lasiewski

Dans /dev/disk/by-uuid il existe des liens symboliques mappant l'UUID de chaque lecteur à son entrée dans /dev (par exemple. /dev/sda1)

155
Michael Mrozek

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

186
setzamora

La meilleure commande à utiliser est lsblk -f. Il répertorie tous les périphériques et partitions, comment ils sont montés (le cas échéant) et l'arborescence des périphériques dans le cas de l'utilisation de LVM, crypto_LUKS ou de plusieurs groupes de volumes sur le même lecteur.

46
John Rea

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

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

/dev/sdXY est le nom du périphérique.

14

Cela fonctionne pour moi:

ls -la /dev/disk/by-uuid

Si vous souhaitez 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 provoquait l'échec du montage.

11
MIrra
lsblk -o +uuid,name

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

lsblk --help

Cela fera aussi le travail

# blkid
7
Nico Rodsevich

Les réponses précédentes ne fonctionnent pas pour plusieurs appareils ou pour les appareils avec des UUID identiques.

Essaye ça:

Sudo blkid /dev/sd*
2
Kevin

Avec la ligne de commande suivante, vous pouvez voir l'UUID plus le mappage vers les 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
1
Nicolas Guérinet

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

Bien sûr, tout mon montage automatique dans /etc/fstab sont référencés par LABEL ou par UUID, donc fondamentalement il n'y a pas de 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, dans le 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 créer un LUN pour iSCSI (donc la référence à cette partition est quelque chose comme: /dev/sdc6)

Alors maintenant au démarrage, par exemple dans rc.local, vous devez trouver de manière fiable, quel est le /dev/sdXX périphérique de votre partition RAW dédiée, et adaptez un fichier:

EXEMPLE 1

Le disque VirtualBox * .vmk description de ce disque brut, dans la partie quelque chose comme:

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

puis redémarrez le service VirtualBox

EXEMPLE 2

dans la configuration tgtd, une cible: target0 était associée à /dev/sdd6 au 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

Dans ce cas, nous avons donc besoin d'une méthode fiable pour trouver le nouveau nom d'appareil. La partition GPT offre un GUID unique pour toute partition GPT, écrit dans la table GPT.

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

Vous devez donc écrire un script Shell, pour regarder dans tous vos disques, qui est le périphérique /dev/sdXX, associé au GUID remarqué lors 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.

Vous devez vérifier/dev/disk/by-partuuid dans ces cas. il y a des liens symboliques mappant le PARTUUID de chaque lecteur à son entrée dans/dev/sdb1, etc.

0
Sachin Mokashi

Pour voir l'uuid 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 l'uuid du disque en exécutant l'utilitaire Linux Disk après le démarrage du CD Linux.

0
man puk tam