À strictement parler, l' UUID ne s'adresse pas du tout.
L'adressage est très, très simple: lire le lecteur X secteur Y - ou bien. Lire l'adresse mémoire Z - ou autre. L'adressage est simple, rapide, ne laisse pas beaucoup de place à l'interprétation, et il est partout.
L'UUID ne s'adresse pas. Au lieu de cela, il s'agit de rechercher, de trouver, parfois d'attendre que les appareils apparaissent, et également de comprendre les systèmes de fichiers (★). Et selon le nombre d'appareils, cela peut prendre très longtemps. Et une fois trouvé, retour à l'adressage régulier c'est.
Dans GRUB, cela s'appelle search
(★★) et il n'est disponible que lorsque GRUB a déjà développé des ailes (la recherche est un module, comme tous les systèmes de fichiers qu'il prend en charge, donc uniquement disponible après le chargement du noyau). Sous Linux, il s'appelle (par exemple) findfs
, findfs recherchera les périphériques de bloc dans le système à la recherche d'un système de fichiers ou d'une partition .
Il passe par tous les périphériques, les sort du mode veille, lit les données et le résultat peut même être aléatoire si l'UUID n'est pas unique comme il se doit (après un dd
accident ou similaire), ou vous n'obtenez aucun résultat si l'UUID a changé - Les UUID sont également sujets à des erreurs de configuration.
En général, les UUID sont excellents, et bien sûr, vous devriez les utiliser partout si disponibles, en particulier lorsque l'adressage traditionnel est voué à l'échec car l'ordre des lecteurs est aléatoire sous Linux; mais comprenez que la complexité est au-delà de ce que l'adressage simple est censé faire. Et surtout aux tout premiers stades des chargeurs de démarrage, ce n'est peut-être pas encore une option. L'adressage vient en premier, la croissance des ailes vient plus tard.
Pour le chargeur de démarrage, il pourrait tout simplement ne pas être nécessaire de faire l'effort (tous les chargeurs de démarrage ne prennent pas en charge une large gamme de systèmes de fichiers comme GRUB). Si hd0
est garanti "le disque sur lequel nous avons démarré" en raison des circonstances (le BIOS fournit), et donc si vous pouvez exclure des problèmes d'ordre de lecteur aléatoire, il n'est peut-être pas nécessaire de parcourir une liste potentiellement énorme d'autres partitions dans rechercher des UUID.
Si vous êtes suffisamment confiant dans votre configuration pour dire que hd0,gpt2
c'est celle que vous voulez, et qu'elle doit l'être, et il ne peut en être autrement, alors il n'y a rien de mal à l'utiliser comme ça. Parfois, un adressage clair et simple fonctionne très bien.
(★) J'ai déjà expliqué cela pour les ÉTIQUETTES ici ...
Il n'y a pas de standard générique pour les étiquettes, tout est tricoté à la main, voir par exemple cette implémentation de formats de superblocs dans util-linux . Si vous inventez un nouveau système de fichiers demain, même s'il a une étiquette, il n'apparaîtra que lorsque le support sera ajouté.
... et c'est à peu près la même chose pour les UUID.
(★★) En fait, GRUB search
a une --hint
option, et ... maintenant je n'ai pas vérifié le code source, et ce n'est même pas documenté dans leur manuel, mais une telle option aurait du sens pour vous donner le meilleur des deux mondes: l'indication devrait indiquer search
de vérifier cette partition en premier , et si l'UUID correspond comme prévu, il a identifié le périphérique avec un effort minimal , et s'il ne correspond pas, il reviendra toujours à la recherche complète pour que les choses fonctionnent d'une manière ou d'une autre .
En plus de cela, les UUID trouvés précédemment ont tendance à être mis en cache, de sorte qu'il n'a pas à parcourir tous les appareils encore et encore et encore - et cela fonctionne également très bien, à condition que l'UUID que vous recherchez existe réellement quelque part pour faire dans le cache en premier lieu.