UUIDとPARTUUIDの違いは何ですか?


14

Raspberry piフォーラムの手順に従って、Raspberry Pi 3が電力損失に対してより堅牢になるように、SDカードの代わりにUSBファイルをルートファイルシステムとして使用するようにしました。

プロセスは機能しましたが、パーティションのUUIDとPARTUUIDを混同したため時間を無駄にしました(blkidを使用して、それらがどのように異なるかを確認してください)。両方の目的は何ですか?どこでもPARTUUIDの代わりにUUIDを使用して混乱を解決する方が簡単でしたが、それは失敗しました。

引用されたページは、ドライブのUUIDがパーティションのPARTUUIDであることを示唆していることに注意してください。


1
こんにちはAProgrammer、そしてRaspberry Piスタック交換へようこそ。これはRaspberry Piについての質問ではないことを考慮すべきだと思います!この質問が、おそらくメインのLinuxフォーラムにあれば、より多くの人がこの質問を見るでしょう(それに答えるため、そして提供される答えから利益を得るために)。
タイViinikka

@TaiViinikka、これとunix.seの間でheしたことは認めますが、ラズベリーパイで問題に遭遇し、x86で23年間debianおよびdebian派生ディストリビューションで作業した後、UUIDなしで問題に会ったことがないことを考慮してください私の反射神経は私の問題の原因の一部でしたが、それと出会って、ラズベリーパイと関係があるかもしれないと思いました。
AProgrammer

それは非常に理解しやすいことであり、回答が得られてうれしいです。私の[はるかに簡潔な]経験はあなたのものとは異なります。UUIDとPARTUUIDが一致しないすべてのパーティション:root @ herald:〜#cat / proc / cpuinfo vendor_id:GenuineIntelモデル名:Intel(R)Atom(TM)CPU D2550 @ 1.86GHz root @ herald:〜#blkid / dev / sda1:LABEL = "Boot" UUID = "e92827af-6c5d-4438-b22a-8f9b3b4dc4f0" TYPE = "ext4" PARTUUID = "44e5688f-01"そして、私は反対の結論に達しました。
タイViinikka

回答:


13

UUIDとPARTUUIDの違いについて

オプションを指定することでUUIDとの違いについていくつかのヒントを得ることができます。PARTUUID-p

blkid -p /dev/sda1

またはあなたが見ているどんなデバイス/パーティション。同じUUIDデバイスに複数のパーティションがある場合PARTUUID、パーティション番号が追加されたものとほぼ同じであることに気づいたかもしれません。

A UUIDは一意であることが保証されています。私の知る限り、宇宙の寿命内では衝突は起こりません。ただし、PARTUUIDははるかに短いことに注意してください。これらは「ローカルに」一意であることが意図されており、既知のすべての間で衝突が発生する可能性が最も高くなりますPARTUUIDs

UUIDについて

UUIDは単に一意の識別子です。それらは多くの異なる目的に使用されます。uuidgen関数を使用して生成できます。

UUIDについてさらに読むには:

$man uuidgen 

またはインターネット:

uuidgenのマンページ

UUIDの使用例

$cat /etc/fstab

新しいGNU / Linuxシステムの場合、すべてのパーティションとそのUUIDのリストがあります。新しいパーティションごとに新しいUUIDが生成されます。そのため、特定のドライブのパーティションを再分割すると、そのドライブのすべてのblkid UUIDが変更されます。

UUIDがパーティションとドライブの識別子として使用される理由の一部は、ドライブが異なる順序で追加またはマウントされた場合でも識別子を維持するためです。以前は、... fstabなどの識別子があります/dev/sda1。これには、sda1何らかの方法でマウント順序が変更された場合に、物理的に異なるドライブまたはパーティションになる可能性があるという欠点がありました。

PARTUUIDについて

PARTUUIDs マスターブートレコード(MBR)関連のディスクパーティション分割に代わるGUIDパーティションテーブル(GPT)のコンポーネントです。

詳細については、Linux.com-Linuxでの新しいGUIDパーティションテーブルの使用を参照してください。

Linux.comのコメント:

GPT GUID(グローバルに一意の識別子)と使い慣れたLinux UUID(ユニバーサルに一意の識別子)は同じものではありませんが、ブロックデバイスに一意の名前を付けるという同じ便利な目的を果たします。Linux UUIDはファイルシステムの機能であり、ファイルシステムの作成時に作成されます。Linux UUIDを表示するには、blkidコマンドを実行するだけです。パーティションGUIDコードと、「Microsoft基本データ」の表示に注意してください。ええ、マイクロソフトは常にパーティクラッシュします。これはEXT4パーティションなので、Windowsがそれを読み取る方法はありませんが、フォーマットされていないパーティションと見なされます。gdiskの現在のリリースでは、2011年までLinuxファイルシステムGUIDがなかったため、これは表示されません。今あるので、私のような古いLinux(Mint 13)を使用していないなら、

パーティション固有のGUIDは、次のようにfstabで使用するものです。

PARTUUID = 8C208C30-4E8F-4096-ACF9-858959BABBAA / data ext4 user、defaults 0 0


謎が深まります。いくつかのブロックデバイスを見ると、デバイスPTUUIDがあり、パーティションごとにUUIDとPARTUUIDがあります。ディスクと、おそらくそれをフォーマットおよびパーティション化したツールに応じて、PARTUUIDはディスクのPTUUIDから派生するかどうかに関係ありません。私の質問は、PARTUUIDと一緒に取得できるパーティションUUIDに関するものでしたblkid
AProgrammer

@AProgrammer:答えに情報を追加しました。
ラバースタンプ

1
OK、要約blkid -pすると、PTUUIDを呼び出すディスクUUID があり、blkidPARTUUID を呼び出すパーティションUUIDがあり、一部のファイルシステムにはblkidがUUIDを呼び出すUUIDがあります。私のLinuxシステムがUUIDのみを参照している場合、ルートファイルシステムをラズベリーのUSBキーに移動するときに、少なくとも一部の場所で、UUIDの代わりにPARTUUIDを使用しなければならなかった理由はまだわかりませんが、ボランティアではありませんさらにいくつかのテストを行い、PARTUUIDが本当に必要な場所と、必要に応じてUUIDを使用できる場所を確認しますが、必要なのはそれだけだと思いcmdline.txtます。
AProgrammer

同じUUIDを持つ2つの異なるディスクに2つのパーティションがあります。そんなに「のための宇宙の生涯」...
étale-コホモロジー

3

私が理解したように。

一般的に、UUIDという用語は、GUIDとしてWindowsの世界で知られている「普遍的に一意の識別子」を指します。いくつかの異なるスキームがありますが、ほとんどの場合、最新のUUID / GUIDは本質的に大きな乱数またはハッシュといくつかのフラグビットです。

Linuxでファイルシステムをマウントする特定のケースでは、「UUID」はファイルシステム内に格納されているメタデータの一部である一意の識別子を参照します。「PARTUUID」は、パーティションテーブルに格納されている、またはパーティションテーブルから派生したパーティションの一意の識別子を指します。

これらの一意の識別子は、実際のUUIDである場合とそうでない場合があります。私の知る限り。

  • GPTパーティションテーブルの場合、「PARTUUID」はGPTパーティションテーブルのGUIDです。
  • MBRパーティションテーブルの場合、「PARTUUID」は、ディスク識別子とパーティション番号を連結することにより形成されます
  • EXT4、Linuxスワップ、BTRFS、およびその他のLinuxネイティブファイルシステムタイプの場合、「UUID」はファイルシステムメタデータに格納されているUUIDです。
  • FATおよびNTFSの場合、「UUID」はボリュームシリアル番号、FATの場合は32ビット、NTFSの場合は64ビットのように見えます。

「UUID」と「PARTUUID」によるルートファイルシステムのマウントのサポートは異なることに注意してください。initrdなしで実行されているカーネルのIIRCは、「UUID」ではなく「PARTUUID」でマウントできます。initramfs-toolsの古いバージョンは「UUID」でマウントできますが、「PARTUUID」ではマウントできません。最近のinitramfs-toolsは両方をサポートしています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.