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?
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
)
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
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.
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
où /dev/sdXY
est le nom du périphérique.
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.
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
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*
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
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.
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.