UUID et label
Qu'est-ce que l'UUID ?
L'UUID (Universally Unique IDentifier, identifiant universel unique) est une suite plus ou moins longue de chiffres hexadécimaux qui permet d'identifier de façon absolument sûre chaque périphérique de stockage et partition.
Le chiffre de l'UUID est calculé automatiquement au moyen d'un algorithme intégrant notamment certaines données de l'ordinateur hôte, au moment de la création ou du formatage de la partition ou de la table des partitions.
Un UUID est de la forme : 1124d9e8-6266-4bcf-8035-37a02ba75c69.
Il est à noter que l'UUID d'une partition est stockée dans le système de fichiers. Une partition vierge (non formatée) ne peut donc avoir d'UUID et une partition clonée a le même UUID que l'originale. On peut ajouter que ceci est vrai même avec un partitionnement GPT. Bien que GPT définisse un UUID qui est stocké dans la table de partition, ce n'est pas ce dernier qui est utilisé par Linux pour identifier les partitions.
À quoi sert l'UUID ?
Les UUIDs se retrouvent notamment dans deux fichiers de configuration :
- Le fichier de configuration de GRUB, le chargeur de démarrage (
/etc/default/grub) - Le fichier récapitulant les partitions à monter au démarrage :
/etc/fstab
À chaque formatage d'une partition, un nouvel UUID lui est attribué, il est alors parfois nécessaire de modifier ces fichiers.
Comment connaître l'UUID ?
Le plus simple est en ligne de commandes, mais il existe aussi des méthodes graphiques.
Graphiquement
On peut utiliser GParted, ou GNOME Disques.
En ligne de commande
La commande blkid liste des UUIDs, les Labels et Types de toutes les partitions montées.
sudo blkid
vous renvoie quelque chose comme :
/dev/sda1: UUID="8bf33340-e94c-4c4c-981d-35e73f8bc65c" TYPE="ext4" /dev/sda2: UUID="ac56a704-260b-45f5-85ac-e1b451bb79bc" TYPE="swap" /dev/sda3: LABEL="Home" UUID="8244710a-5cce-49ad-8b93-a92b5d2e53a0" TYPE="ext4" /dev/sda4: UUID="DCF041AFF0419126" TYPE="ntfs"
sudo blkid -g puis sudo blkid pour mettre à jour le cache des UUIDs.Évitez d'utiliser
blkid en tant que simple utilisateur. En effet, cela ne mettra pas à jour la table et le résultat sera celui de la dernière exécution par root. Si vous avez ajouté ou supprimé des partitions, il faut exécuter la commande avec un sudo pour mettre à jour la table.
Ou alors,
ls -l /dev/disk/by-uuid
vous permet de connaître les droits d'accès, le propriétaire, la date et l'heure de création et, enfin, l'UUID.
total 0 lrwxrwxrwx 1 root root 10 oct. 22 18:05 2c313d40-6bdc-4e42-917a-b04f88764aac -> ../../sdb1 lrwxrwxrwx 1 root root 10 oct. 22 18:05 8244710a-5cce-49ad-8b93-a92b5d2e53a0 -> ../../sda3 lrwxrwxrwx 1 root root 10 oct. 22 18:05 8bf33340-e94c-4c4c-981d-35e73f8bc65c -> ../../sda1 lrwxrwxrwx 1 root root 10 oct. 22 18:05 ac56a704-260b-45f5-85ac-e1b451bb79bc -> ../../sda2 lrwxrwxrwx 1 root root 10 oct. 22 18:05 DCF041AFF0419126 -> ../../sda4
On peut aussi utiliser la commande lsblk :
lsblk --fs
sda ├─sda1 ntfs WIN10 6C8CA3038CA2C6C4 ├─sda2 ext4 2e5f5a06-a3c3-4df5-a2c6-00be4b836223 / ├─sda3 ext4 Home 4bdc4735-801e-43fe-b3f1-58fd832638f5 /home └─sda4 ext4 DATAS 08d50cc2-9aa0-45b2-a314-5f8bee8b8714 /media/user/DATAS
Mettre à jour /etc/fstab
Supposons que vous avez modifié (par formatage par exemple) l'UUID de la partition /dev/sdc1 qui était, par /etc/fstab, montée dans /media/stockage.
- Lancez la commande suivante pour obtenir son nouvel UUID :
sudo blkid /dev/sdc1
ce qui renvoie quelque chose comme
/dev/sdc1: UUID="8244710a-5cce-49ad-8b93-a92b5d2e53a0" TYPE="ext4"
- Éditez avec les permissions administrateur le fichier
/etc/fstabpour modifier la ligne :UUID=f1ca2fca-895f-4066-91c4-8a33197e1284 /media/stockage ext4 defaults 0 1
(
defaultspeut être accompagné d'autres options)
afin d'obtenir :UUID=8244710a-5cce-49ad-8b93-a92b5d2e53a0 /media/stockage ext4 defaults 0 1
En fait, le répertoire /dev/disk/by-uuid/ qui recense les disques par UUID n'est mis à jour que pendant le démarrage.
On peut le mettre à jour manuellement (si vous ne voulez pas redémarrer tout de suite) par :
sudo udevadm trigger
Et finalement monter la partition :
sudo mount /media/stockage
Swap et hibernation
L'UUID est aussi nécessaire pour la partition de Swap, et notamment pour l'hibernation.
Si vous voulez utiliser votre partition de Swap pour l'hibernation, il faut faire quelques manipulations.
Veuillez vous rendre à la page sur la swap (activer l'hibernation) pour plus d'infos.
Modifier manuellement l'UUID d'un système de fichiers
Lors d'un clonage de partition, il peut être nécessaire de changer l'UUID de la nouvelle partition car il est dangereux d'avoir deux UUID identiques. Si, en effet, vous clonez un disque et que, sans changer dans le clone les UUID des partitions destinées à être montées au démarrage, vous tentez de démarrer en oubliant de débrancher le clone ou son modèle, alors vous obtiendrez un message voisin de celui-ci : Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Génération du nouvel UUID
Rappelez-vous que l'UUID doit être un identifiant unique, ne peut contenir que des nombres hexadécimaux (chiffres et/ou lettres [a-f], [A-F]) et des tirets, et ne peut débuter ni finir par un tiret.
Si vous n'avez pas besoin d'un UUID spécifique, voici un outil de génération :
uuidgen -r # Pour une génération aléatoire uuidgen -t # Pour une génération basée sur un peu d'aléatoire et surtout la date et l'heure.
Partitions ext
On peut définir manuellement un UUID défini manuellement avec l'outil tune2fs :
sudo tune2fs -U <l'UUID desirée> /dev/<votre partition>
Partitions Swap
N'oubliez pas de désactiver la Swap avant :
sudo swapoff -a
puis
sudo mkswap -U <l'UUID desirée> /dev/<votre partition>
enfin réactivez-la :
sudo swapon -a
/etc/fstab doivent contenir le bon uuid pour la swap ! Pensez à les modifier eux aussi !
Si vous n'avez pas besoin d'UUID spécifique, ne mettez simplement pas l'argument -U :
sudo mkswap /dev/<votre partition>
un UUID aléatoire sera alors attribué.
Partitions FAT
sudo mlabel -N [UUID désirée] -i /dev/sd[votre partition] ::
L'UUID est constituée d'une série de 8 chiffres et lettres au format hexadécimal (1234ABCD)
Partitions NTFS
sudo ntfslabel --new-half-serial /dev/sd[votre partition]
Ce qui permet d'éviter l'invalidation de la clé WPA qui nécessiterait une réactivation de windows. Cependant le UUID est entièrement modifié.
Les Étiquettes, c'est mieux non ?
On peut aussi attribuer une étiquette (en anglais : label) à chaque partition.
Elles sont pratiques, car elles permettent au gestionnaire de fichiers d'afficher par exemple sauvegardes au lieu de 12345678-abcd-1234-abcd-1234567890ab. Pensez-y pour vos supports amovibles ou internes !
Elles sont plus fiables qu'une appellation comme /dev/sdb6 qui est susceptible de changer, en particulier le jour où vous supprimerez /dev/sdb5. Il faut aussi savoir que dans certaines circonstances, testdisk ou l'éditeur de partitions de Windows remettent dans l'ordre les numéros de partitions (de sda1, 2, 4, 3 vers sda1, 2, 3, 4).
Il est aussi plus facile de se tromper d'UUID que de se tromper d'étiquette.1)
Mais les étiquettes ne sont pas uniques, contrairement aux UUID. Alors, pour obtenir la même fiabilité que les UUID, veillez à ceci :
Par exemple, si vous avez des partitions de données sur un Samsung 500 Mo, un Seagate 1 To et un Western Digital 1 To, vous pouvez les nommer DATA-SAM500, DATA-SG-1T et DATA-WD-1T.
Moyennant cette simple précaution, il est pleinement fonctionnel de remplacer dans /etc/fstab UUID=12345678-abcd-1234-abcd-1234567890ab par LABEL=DATA-SAM500. Ainsi pourrez-vous brancher votre disque sur un autre PC sans risquer de confondre deux différentes DATA.
Les étiquettes sont attribuées manuellement.
- Veillez à ne pas donner un nom de plus de 16 caractères, sinon il risque d'être tronqué.
- Pour les partitions Windows en NTFS ou en FAT, il est conseillé de les étiqueter en majuscules car leurs minuscules seraient automatiquement affichées en majuscules par Linux, comme
DATA…, alors que Windows continuerait d'afficherData…, ce qui pourrait favoriser une fausse manipulation ultérieure. - Les étiquettes des partitions Linux, elles, peuvent comporter des minuscules, comme
Data….
Renommer une partition en ligne de commande
Voici un tableau qui récapitule les systèmes de fichiers les plus utilisés.
On supposera qu'on travaille sur la partition /dev/sdb1.
Il est parfois nécessaire d'installer un paquet supplémentaire, ce qui est indiqué dans la dernière colonne.
| Système de fichiers | Commande à lancer | Commentaires |
|---|---|---|
| ext2, ext3, ext4 | sudo e2label /dev/sdb1 NouveauNom | Seize caractères au maximum. En ext4, le changement d'étiquette fonctionne sur une partition montée. |
| FAT16, FAT32 | Vérification du nom courant : mlabel -i /dev/sdb1 -s :: Pour changer l'étiquette, tapez : sudo mlabel -i /dev/sdb1 ::NOUVEAUNOM (Ne pas oublier les 2 deux-points devant le nom) | Il faut avoir installé mtools. Onze caractères au maximum ; marche même quand la partition est montée (mais ne sera complètement pris en compte qu'après démontage-remontage). Si vous avez un message du genre : Total number of sectors (6204) not a multiple of sectors per track (62)! Add mtools_skip_check=1 to your .mtoolsrc file to skip this test alors effectuez ceci : echo mtools_skip_check=1 >> ~/.mtoolsrc |
| NTFS | sudo ntfslabel /dev/sdb1 NOUVEAUNOM | La partition doit être démontée. 128 caractères maximum. (Le paquet ntfs-3g est pré-installé). |
| Swap | sudo swapoff -v /dev/sdb1 # Pour désactiver la Swap sudo mkswap -L NouveauNom -U UUID-à-conserver /dev/sdb1 sudo swapon -av # Pour réactiver la Swap | Il faut en effet désactiver la Swap puis la réactiver après renommage. Et pour pouvoir la réactiver, il faut conserver son ancien UUID, repéré avant grâce à sudo blkid | grep swap |
| XFS | sudo xfs_admin -L NouveauNom /dev/sdb1 sudo xfs_admin -L -- /dev/sdb1 | Il faut avoir installé le paquet xfsprogs et la partition doit être démontée. Ajouter une étiquette. Supprimer l'étiquette. |
Renommer une partition graphiquement, avec GParted
On peut utiliser GParted, qui sélectionnera automatiquement l'outil à utiliser.
On sélectionne le disque en haut à droite, puis un clic droit sur une partition affiche le menu d'options.
Il faut démonter la partition, puis sélectionner étiquette ou label pour entrer l'étiquette voulue.
Enfin, pour que les modifications soient prises en compte, valider par la coche verte.
Contributeurs : FélixP, moko138.
