엄밀히 말하면 UUID는 전혀 다루지 않습니다 .
주소 지정은 매우 간단합니다. 드라이브 X 섹터 Y를 읽거나 그렇지 않으면 간단합니다. 메모리 주소 Z 또는 기타를 읽습니다. 어드레싱은 간단하고 빠르며 해석의 여지가 많지 않으며 어디에나 있습니다.
UUID가 해결되지 않습니다. 대신 검색, 찾기, 때로는 장치가 나타날 때까지 기다림 및 파일 시스템 이해 (★)입니다. 또한 장치 수에 따라 시간이 오래 걸릴 수 있습니다. 그리고 일단 발견되면, 정규 주소로 돌아가는 것입니다.
GRUB에서는 이것을 search
(★★) 라고하며 GRUB이 이미 날개를 확장 한 경우에만 사용할 수 있습니다 (검색은 모듈이며, 지원하는 모든 파일 시스템과 마찬가지로 코어를로드 한 후에 만 사용 가능합니다). 리눅스에서, 그것은이라고합니다 (예를 들어)입니다 findfs
, findfs는 파일 시스템 또는 파티션을 찾는 시스템의 블록 장치를 검색합니다 .
모든 블록 장치를 거치고 대기 모드에서 깨어나 데이터를 읽으며 UUID가 고유하지 않은 경우 ( dd
사고 후 등) 결과가 무작위 로 표시되거나 UUID가 변경된 경우 결과가 나타나지 않을 수 있습니다. UUID도 구성 오류가 발생하기 쉽습니다.
일반적으로 UUID는 훌륭합니다. 물론 Linux에서 드라이브 순서가 무작위이기 때문에 기존 주소 지정이 실패 할 경우 특히 사용 가능한 모든 곳에서 UUID를 사용해야합니다. 그러나 주소 지정이 단순한 주소 지정보다 복잡하다는 점을 이해하십시오. 특히 부트 로더의 초기 단계에서는 아직 옵션이 아닐 수도 있습니다. 어드레싱이 먼저, 날개가 커지면 나중에 나옵니다.
부트 로더의 경우, 노력을 기울일 필요는 없습니다 (모든 부트 로더가 GRUB과 같은 광범위한 파일 시스템을 지원하지는 않습니다). 경우 hd0
로 보장됩니다 당신이 임의 드라이브 순서 문제를 배제 할 수있는 경우 상황 때문 "우리의 오프 부팅 디스크가"(BIOS가 제공) 등, 다른 파티션의 잠재적으로 거대한 목록을 통과 할 필요가 없을 수도 있습니다 UUID를 검색하십시오.
당신이 당신의 구성에 대해 hd0,gpt2
당신이 원하는 것, 그것이 되어야한다고 말할만큼 충분히 확신한다면 , 그렇지 않다면 그렇게 사용하는 데 아무런 문제가 없습니다. 때로는 단순하고 간단한 주소 지정이 제대로 작동하는 경우가 있습니다.
(★) 이전 에 LABEL 에 대해 이것을 설명했습니다 ...
레이블에 대한 일반적인 표준은 없으며 모두 손 으로 짜여져 있습니다 (예 : util-linux의 수퍼 블록 형식 구현 참조) . 내일 새 파일 시스템을 만들면 레이블이 있어도 지원이 추가 될 때까지 표시되지 않습니다.
... 그리고 UUID도 마찬가지입니다.
(★★) 실제로 GRUB 's search
에는 --hint
옵션이 있습니다. 이제 소스 코드를 확인하지 않았으며 설명서에 문서화되어 있지 않지만 이러한 옵션은 두 가지 이점을 모두 제공합니다. 힌트는 파티션을 먼저 확인하도록search
지시 하고 UUID가 예상대로 일치하면 최소한의 노력으로 장치를 식별했으며 일치하지 않는 경우 여전히 작동을 유지하기 위해 완전한 검색으로 돌아갑니다. .
또한 이전에 발견 된 UUID는 캐시되는 경향이 있으므로 모든 장치를 반복해서 반복 할 필요가 없으며 찾고있는 UUID가 실제로 어딘가에 존재하는 경우에도 훌륭하게 작동합니다. 우선 캐시에 넣습니다.