厳密に言えば、UUIDはまったく対応していません。
アドレス指定は非常に簡単です:ドライブXセクターYを読み取る-またはそれ以外。メモリアドレスZを読み取る-または アドレス指定は簡単で高速であり、解釈の余地があまりなく、どこにでもあります。
UUIDはアドレス指定していません。代わりに、検索、検出、デバイスの表示を待機し、ファイルシステムを理解しています(★)。また、デバイスの数によっては、非常に長い時間がかかる場合があります。見つかったら、通常のアドレス指定に戻ります。
GRUBでは、これはsearch
(★★)と呼ばれ、GRUBが既に翼を成長させている場合にのみ使用可能です(検索は、サポートするすべてのファイルシステムと同様にモジュールであるため、コアのロード後にのみ使用可能です)。Linuxでは(たとえば)findfs
、findfsはシステム内のブロックデバイスを検索して、ファイルシステムまたはパーティションを探します。
すべてのブロックデバイスを通過し、スタンバイからウェイクアップし、データを読み取ります.UUIDが本来のように一意でない場合(dd
事故などの後)、またはUUIDが変更された場合は結果が得られません- UUIDも構成エラーになりやすいです。
一般に、UUIDは優れています。もちろん、特にLinuxでドライブの順序がランダムであるために従来のアドレス指定が失敗する場合は、UUIDを使用可能な場合はどこでも使用する必要があります。しかし、複雑さは単純なアドレス指定の意図を超えていることを理解してください。そして、特にブートローダーの非常に初期の段階では、それはまだオプションではないかもしれません。対処が最初になり、成長する翼が後になります。
ブートローダーの場合、単に努力する必要はないかもしれません(すべてのブートローダーがGRUBなどの幅広いファイルシステムをサポートしているわけではありません)。場合hd0
であることが保証されますが、ランダムなドライブの順序の問題を排除することができるかどうかの状況に起因する「我々がオフのブートディスクは」(BIOSが提供する)、およびので、他のパーティションの潜在的に巨大なリストの中を通過する必要がないかもしれませんUUIDを検索します。
それがあなたがhd0,gpt2
望むものであると言う設定に十分自信があり、そうでなければならない場合、そうでなければありえない場合、そのように使用しても何も悪いことはありません。場合によっては、単純で単純なアドレス指定がうまく機能することもあります。
(★)以前にここでLABELについて説明しました ...
ラベルには一般的な標準はありません。すべて手作業で作成されています。たとえば、util-linuxのスーパーブロック形式のこの実装を参照してください。明日、新しいファイルシステムを考案した場合、たとえラベルが付いていても、サポートが追加されるまで表示されません。
...それはUUIDでもほぼ同じです。
(★★)実際には、GRUB search
には--hint
オプションがあり、...ソースコードを確認していないため、マニュアルにも記載されていませんが、このようなオプションは両方の長所を提供する意味があります。ヒントは最初にそのパーティションsearch
をチェックするように指示する必要があり、UUIDが期待どおりに一致する場合、最小限の労力でデバイスを識別し、一致しない場合は、何とか動作を続けるために完全な検索にフォールバックします。
それに加えて、以前に見つかったUUIDはキャッシュされる傾向があるため、すべてのデバイスを何度も何度も通過する必要はありません-あなたが探しているUUIDが実際にどこかに存在していれば、これもうまく機能しますそもそもキャッシュに入れてください。