Genau genommen spricht UUID überhaupt nicht an.
Die Adressierung ist sehr, sehr einfach: Laufwerk X Sektor Y lesen - oder auch. Speicheradresse Z auslesen - oder sonst. Die Adressierung ist einfach, schnell, lässt wenig Interpretationsspielraum und ist überall.
UUID adressiert nicht. Stattdessen wird gesucht, gefunden, manchmal darauf gewartet, dass Geräte angezeigt werden, und es werden auch Dateisysteme verstanden (★) verstanden. Und je nachdem, wie viele Geräte es gibt, kann es sehr lange dauern. Und einmal gefunden, zurück zur normalen Adressierung.
In GRUB heißt dies search
(★★) und ist nur verfügbar, wenn GRUB bereits Flügel entwickelt hat (die Suche ist ein Modul, wie jedes unterstützte Dateisystem, und steht daher erst nach dem Laden des Kerns zur Verfügung). Unter Linux ist es (zum Beispiel) genannt findfs
, findfs die Blockgeräte im System für ein Dateisystem oder eine Partition suchen suchen .
Es durchläuft alle Blockgeräte, weckt sie aus dem Standby-Modus, liest Daten und das Ergebnis kann sogar noch zufällig sein, wenn die UUID nicht eindeutig ist, wie es sein sollte (nach einem dd
Unfall oder ähnlichem), oder Sie erhalten kein Ergebnis, wenn die UUID geändert wurde. UUIDs sind auch anfällig für Konfigurationsfehler.
Im Allgemeinen sind UUIDs großartig, und Sie sollten sie natürlich überall verwenden, wenn sie verfügbar sind, insbesondere dann, wenn die herkömmliche Adressierung fehlschlägt, da die Reihenfolge der Laufwerke unter Linux zufällig ist. Verstehen Sie jedoch, dass die Komplexität über das hinausgeht, was eine einfache Adressierung bewirken soll. Und gerade in den frühen Stadien von Bootloadern ist dies möglicherweise noch keine Option. Die Adressierung steht an erster Stelle, das Wachsen der Flügel kommt später.
Für den Bootloader ist es möglicherweise nicht erforderlich, sich die Mühe zu machen (nicht jeder Bootloader unterstützt eine Vielzahl von Dateisystemen wie GRUB). Wenn hd0
aufgrund von Umständen garantiert "die Festplatte, von der wir gebootet haben" (vom BIOS bereitgestellt), und Sie daher Probleme mit der zufälligen Laufwerksreihenfolge ausschließen können, ist es möglicherweise nicht erforderlich, eine potenziell enorme Liste anderer Partitionen in zu durchsuchen Suche nach UUIDs.
Wenn Sie sich in Ihrer Konfiguration sicher genug sind, um zu sagen, dass dies hd0,gpt2
die gewünschte Konfiguration ist und dies auch sein muss, und es auch nicht anders sein kann, dann ist es nichts Falsches daran, sie so zu verwenden. Manchmal funktioniert die einfache Adressierung einwandfrei.
(★) Ich habe dies zuvor für LABELs hier erklärt ...
Es gibt keinen generischen Standard für Etiketten, es ist alles handgestrickt, siehe zum Beispiel diese Implementierung von Superblock-Formaten in util-linux . Wenn Sie morgen ein neues Dateisystem erfinden, selbst wenn es eine Bezeichnung hat, wird es erst angezeigt, wenn die Unterstützung hinzugefügt wird.
... und bei UUIDs ist es ähnlich.
(★★) Eigentlich hat GRUB search
eine --hint
Option, und ... jetzt habe ich den Quellcode nicht überprüft und es ist nicht einmal in ihrem Handbuch dokumentiert, aber eine solche Option wäre sinnvoll, um Ihnen das Beste aus beiden Welten zu bieten: Der Hinweis sollte darauf hinweisen search
, dass zuerst diese Partition überprüft werden muss. Wenn die UUID wie erwartet übereinstimmt, wird das Gerät mit minimalem Aufwand identifiziert. Wenn sie nicht übereinstimmt, wird trotzdem auf die vollständige Suche zurückgegriffen, damit die Dinge irgendwie weiter funktionieren .
Darüber hinaus werden zuvor gefundene UUIDs in der Regel zwischengespeichert, sodass nicht immer wieder alle Geräte durchlaufen werden müssen - und dies funktioniert auch hervorragend, sofern die gesuchte UUID tatsächlich irgendwo vorhanden ist mache es zuerst in den Cache.