Строго говоря, UUID вообще не обращается .
Адресация очень и очень проста: читать диск X сектора Y - или еще. Считать адрес памяти Z - или еще. Адресация проста, быстра, оставляет мало места для интерпретации, и это везде.
UUID не обращается. Вместо этого это поиск, поиск, иногда ожидание появления устройств, а также понимание файловых систем (★). И в зависимости от количества устройств, это может занять очень много времени. И как только нашли, вернемся к обычной адресации это.
В GRUB это называется search
(★★) и доступно только тогда, когда GRUB уже имеет крылья (поиск - это модуль, как и любая файловая система, которую он поддерживает, и, следовательно, доступный только после загрузки ядра). В Linux, он называется (например) findfs
, findfs будет искать блочные устройства в системе в поисках файловой системы или раздела .
Он проходит через все блочные устройства, выводит их из режима ожидания, читает данные, и результат может даже быть случайным, если UUID не является уникальным, как это должно быть (после dd
аварии или тому подобного), или вы не получите результата, если UUID изменился - UUID также подвержены ошибкам конфигурации.
В целом, UUID являются отличными, и, конечно, вы должны использовать их везде, если они доступны, особенно когда традиционная адресация обречена на неудачу, потому что порядок дисков в Linux является случайным; но поймите, что сложность выше и выше того, что подразумевается под простой адресацией. И особенно на самых ранних стадиях загрузчиков, это просто может быть еще не вариант. Сначала идет адресация, потом растут крылья.
Для загрузчика может просто не потребоваться приложить усилия (не каждый загрузчик поддерживает широкий спектр файловых систем, таких как GRUB). Если hd0
гарантировано, что это «диск, с которого мы загрузились» из-за обстоятельств (в BIOS), и поэтому, если вы можете исключить проблемы со случайным порядком дисков, возможно, вам не понадобится просматривать потенциально огромный список других разделов в поиск UUID.
Если вы достаточно уверены в своей конфигурации, чтобы сказать, что hd0,gpt2
это именно то, что вам нужно, и это должно быть, и не может быть иначе, тогда нет ничего плохого в использовании этого. Иногда простая и простая адресация работает просто отлично.
(★) Я ранее объяснил это для ЭТИКЕТКИ здесь ...
Универсального стандарта для меток не существует, все связано вручную, см., Например, эту реализацию форматов суперблоков в util-linux . Если завтра вы придумаете новую файловую систему, даже если у нее есть метка, она не появится, пока не будет добавлена поддержка.
... и то же самое для UUID.
(★★) На самом деле, у GRUB search
есть --hint
опция, и ... теперь я не проверял исходный код, и он даже не задокументирован в их руководстве, но такая опция имеет смысл дать вам лучшее из обоих миров: намек должен сказать , search
чтобы проверить , что раздел первый , и если UUID матчи , как и ожидалось, он определил устройство с минимальным усилием , и если он не совпадает, он все равно вернется к полному выдувного поиска , чтобы все работало как - то ,
В дополнение к этому ранее найденные UUID имеют тенденцию кешироваться, поэтому не нужно проходить через все устройства снова и снова и снова - и это тоже прекрасно работает, при условии, что UUID, который вы ищете, действительно существует где-то, чтобы сделать это в кеш в первую очередь.