Home > Blog > Les UUID, c’est le bien !

Les UUID, c’est le bien !

Publié le 02/03/09
par BarbUk

Depuis quelque temps, je suis passé au noyau 2.6.28.x. Un des désagréments de ce changement est la transformation non sollicitée du label de mes disques. En effet, ceux-ci passent du doux nom de hdX à sdX.

Quel bordel, surtout quand on passe souvent d’un noyau à l’autre. Forcément, les options de démarrage du noyau doivent être changées, le fichier /etc/fstab également. Bref, la solution qui fait plaisir passe par l’utilisation des UUID (pour Universal Unique IDentifier).

Un identifiant unique universel est une suite de caractères alpha-numériques permettant d’identifier de façon sure un disque, une partoche, ou en général tout périphérique de stockage. Beaucoup de systèmes de fichiers reconnaissent nativement les UUID. Notamment ext2, ext3, ext4, RaiserFS, NTFS…

Pour connaitre l’identifiant unique universel de votre partoche, il suffit donc de rentrer calmement la commande suivante dans un terminal :ls -l /dev/disk/by-uuid/

Ce qui donne comme résultat

1
2
3
4
5
6
7
8
barbuk@BarbUk:~
--> ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 mar  2 17:59 276ea5d3-60e7-486f-a135-4ef0f37fcabf --> ../../sda7
lrwxrwxrwx 1 root root 10 mar  2 17:59 6d2d272b-9aa6-497a-b161-1708c2ce31e0 --> ../../sda6
lrwxrwxrwx 1 root root 10 mar  2 17:59 B07CEC047CEBC2E8 --> ../../sda5
lrwxrwxrwx 1 root root 10 mar  2 17:59 B0E47E29E47DF248 --> ../../sda1
lrwxrwxrwx 1 root root 10 mar  2 17:59 d48c708a-240d-4601-8884-0092db0f7751 --> ../../sda3

La magie s’opère alors, toutes vos partitions sont listées dans votre petit terminal. Il suffit de modifier votre menu.lst pour que votre noyau monte la bonne partition au boot.

1
sudo vim /boot/grub/menu.lst

Il faut alors remplacer l’option de démarrage du kernel, ou ‘KOPT’ avec l’uuid de la partoche de boot. Dans mon exemple, je remplace donc /dev/sda7 (qui était avant /dev/hda7) par UUID=276ea5d3-60e7-486f-a135-4ef0f37fcabf.

ATTENTION, ne pas oublier d’indiquer que c’est un UUID avec ‘UUID=’ devant votre identifiant

## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=276ea5d3-60e7-486f-a135-4ef0f37fcabf ro

Après cela, il faut régénérer le menu.lst. Cela se fait simplement grâce à la commande :

1
sudo update-grub

Changeons maintenant le fichier /etc/fstab.

1
sudo vim /etc/fstab

Votre fichier ressemblera donc à ça, avec tous les /dev/sdx ou /dev/hdx replacés par des UUID=x.

1
2
3
4
5
6
# /etc/fstab: static file system information.
proc    /proc   proc    defaults        0       0
UUID=276ea5d3-60e7-486f-a135-4ef0f37fcabf       /       ext4    errors=remount-ro       0       1
UUID=6d2d272b-9aa6-497a-b161-1708c2ce31e0       /boot   ext3    defaults        0       2
UUID=d48c708a-240d-4601-8884-0092db0f7751       /home   ext4    defaults        0       2
UUID=B07CEC047CEBC2E8   /media/Va_chier ntfs-3g defaults,locale=fr_FR.UTF-8     0       0

Et l’intérêt de tout ça me direz-vous ! Et bien maintenant votre système n’a plus besoin de chercher un sda5 là ou un hda5 est défini. Il reconnaitra tout simplement votre partoche grâce à l’UUID !

Gloire à l’UUID !

Encore debout ?

Les commentaires et le ping sont désactivés