J'utilise Ubuntu et je souhaite connaître le UUID
système de fichiers en question (pas la partition). Je sais que je peux utiliser e2label /dev/sda1
pour trouver l’étiquette du système de fichiers, mais il ne semble pas y avoir de moyen similaire pour trouver le fichier UUID
.
linux
command-line-interface
partition
Brad Gilbert
la source
la source
Réponses:
Une autre commande qui pourrait être disponible et qui fonctionne aussi très bien pour cela est "blkid". Cela fait partie du paquet e2fsprogs. Exemples d'utilisation:
Recherchez des données sur / dev / sda1:
Afficher les données UUID pour toutes les partitions:
Afficher les données UUID de toutes les partitions dans un format plus facile à lire: (Remarque: dans les versions les plus récentes,
blkid -L
a une signification différente etblkid -o list
doit être utilisé à la place)Afficher uniquement l’UUID pour / dev / sda1 et rien d’autre:
la source
blkid
, m'a donné exactement ce que je voulais, mais pas tout à fait ce que je demandais. (Je l'accepte quand même, car je suis sûr de l'utiliser souvent)blkid -L
est maintenantblkid -o list
; l'-L
option a été modifiée pour-L label
rechercher un périphérique utilisant l'étiquette spécifiée.blkid
. Merci de le mentionner.blkid
; J'ai toujours juste faitls -l /dev/disk/by-uuid
. Sur Gentoo,blkid
estsys-apps/util-linux
Pour les disques partitionnés GPT uniquement
Sur un disque formaté en GPT, un GUID est attribué à chaque partition. Il s'agit d'une forme d'UUID, bien que ce ne soit 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 faut faire une distinction importante.
Pour obtenir le GUID de la partition 1 sur un disque formaté GPT / dev / sda, ainsi que son étiquette de partition, etc.:
ou tous avec:
Pour démarrer avec la racine du système de fichiers se trouvant sur une certaine partition, utilisez la syntaxe de paramètre du noyau Linux suivante:
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 installations et certains systèmes d'exploitation, il y a plus de couches.
L'UUID GUID 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 autre jour. Il n'existe que pour les disques au format 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
ouroot=8:1
.Les autres réponses actuelles font référence à l'UUID d'un système de fichiers dans une partition contenant une partition. Si le système de fichiers est copié dans son ensemble sur une autre partition ou un disque dur, cette valeur reste la même. Cet UUID est utile pour trouver un système de fichiers déplacé. C'est donc probablement plus pertinent pour la plupart des gens. Le paramètre du noyau Linux
root=UUID=87654321-4321-4321-a567-123456789012
fait référence à cela.Je crois que
root=LABEL=
etroot=UUID=
sont implémentés par les premiers utilisateurs, le code init que j’ai vu l’autre jour sur mon système a traduit ces paramètres en / dev / disk / by-uuid et / dev / disk / by-label (des liens, je crois, ont été 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
la source
-i1
ou-i 1
, contrairement à-i:1
, avec sgdisk 1.0.1.La méthode de nettoyage de script qui fonctionne sur tout type de système de fichiers est la suivante:
Ou, étant donné le point de montage (ou n'importe quel fichier qu'il contient):
La sortie est l'UUID, l'intégralité de l'UUID et rien que l'UUID.
la source
blkid
dans la réponse de @ christopher-cashell, car vous n'avez pas besoin de devenir root. Pour un point de montage ou d' un fichier mieux faire:lsblk -no UUID $(findmnt -n -o SOURCE --target <file>)
.findmnt -n -o SOURCE --target ~
donne:/dev/mapper/vg_svelte-home[/@home]
lsblk -no UUID $(findmnt -n -o SOURCE --target <file> | cut -d[ -f1)
devrait se débarrasser du sous-volume lorsqu'il est présent.La façon la plus simple de procéder pour ext2 / ext3 / ext4 est la suivante:
la source
Couldn't find valid filesystem superblock.
La façon recommandée de le faire est de faire
Pour plus d'informations sur l'utilisation des UUID, consultez cet article (à partir de l'aide d'ubuntu, mais devrait fonctionner pour toute distribution Linux utilisant des UUID).
Comme indiqué dans les commentaires sur cette question, vol_id peut ne pas être sur votre chemin. Sur Ubuntu, il se trouve dans / sbin, ce qui va fonctionner ci-dessus. Pour Fedora, il semble avoir besoin de
Si d'autres distributions ont vol_id ailleurs, postez un commentaire et je l'ajouterai à cette réponse.
la source
/sbin/vol_id
à/lib/udev/vol_id
Cela semble fonctionner pour moi:
la source
En supposant que vous vouliez l'UUID pour sda1, vous pouvez essayer quelque chose comme ceci:
Ajustez sda1 en conséquence. Pour obtenir les UUID de toutes les partitions, supprimez les greps et les découpes, à la fois:
Exemple de sortie pour sda1 sur mon bureau:
Edit: Veuillez noter que cette solution, bien que plus artificielle que celle de udev-> vol_id, ne nécessite pas de privilèges root, fonctionne sur tous les noyaux post-2005 ou similaires, et s’appuie sur les outils présents dans toutes les distributions Linux le chemin pour n'importe quel utilisateur.
la source
Vous pouvez également l'utiliser pour imprimer tous les UUID:
ou cette commande sans doute plus simple, à remplacer
sda1
par le périphérique que vous souhaitez rechercher:une adaptation de la deuxième méthode pour imprimer tous les UUID:
la source
Ce qui précède semble fonctionner sur la plupart des systèmes Linux (tout ce que j'ai trouvé) depuis de nombreuses années. Cela peut avoir des défauts, je ne sais pas. Je préférerais obtenir le numéro de série mais ... c'est l'UUID du système de fichiers racine.
Si quelqu'un a un moyen d'obtenir le numéro de série sans avoir besoin d'être root (comme le mien) et de ne pas installer de paquetages "inhabituels" qui sont différents dans différentes versions d'Unix, je l'apprécierais - je peux toujours apprendre quelque chose. Et je suis conscient que je mélange des choses - il s’agit de l’UUID du système de fichiers racine, pas d’un disque.
Le but, BTW, est de générer un numéro unique par ordinateur qui ne peut pas être modifié (comme un numéro de série de disque et des adresses MAC autrefois).
Il est utilisé pour l’encodage de logiciels sur une seule machine. L’adresse MAC était correcte jusqu’à ce qu’ils les autorisent à être virtuels… certains clients louche ont simplement défini leur adresse MAC sur une constante (sur différents réseaux) et ont évité de me payer.
Sous AIX, un seul appel permet d'obtenir un numéro identifiant la machine. Peu importe si les modifications matérielles ou les mises à jour logicielles se produisent, je ne sais pas comment elles le font ... Si la carte mère change, le numéro change, alors je pense qu'ils le cachent là. Et c'est au-delà des rares.
la source
Vous pouvez utiliser ce qui suit pour obtenir l’UUID d’un lecteur particulier,
ou vous pouvez l'utiliser pour répertorier tous les UUID du support attaché,
la source