fstabでHDDを自動マウントするには、UUIDまたはPARTUUIDを使用する方がよいですか?
Akshitのターミナルガイドに従って、起動時に自動的にマウントするように外付けハードドライブをセットアップしようとしています。
私は最初、UUIDの代わりに `/ etc / fastab 'のPARTUUIDを使用しました。
UUID=191486e0-6049-46aa-973c-425d317b629a /mnt/nas exfat uid=1000,gid=1000,umask=0022,auto,rw 0 0
これにより、実行時にエラーが発生しfindmnt --verify --verbose
ました。その時点で再blkid
確認し、パーティションIDを使用していたことに気付きました。
/dev/sdb1: LABEL="My Book" UUID="20C9-C659" TYPE="exfat" PTTYPE="atari" PARTLABEL="My Book" PARTUUID="191486e0-6049-46aa-973c-425d317b629a"
そのため、実際のUUIDをfstabに追加しましたが、それを使用する必要があるのか、PARTUUIDを使用する必要があるのか、また、UUIDが他の例よりもはるかに短い理由がわかりません(特に「UUIDが一意であることが保証されている場合。私が知る限り、衝突は宇宙の存続期間内に発生しません」)。
回答
findmnt --verify --verboseを実行すると、エラーが発生しました
それは他の答えですでに言及されています。を使用する必要がありますPARTUUID=
。
詳細:fstabでPARTUUIDを使用するにはどうすればよいですか?
これを使用する必要があるのか、それともPARTUUIDを使用する必要があるのかわかりません。
あなたの場合、それは本当に重要ではありません。ただし、MBRを使用している場合は、GPTパーティションの通常のPARTUUIDとは異なり、パーティション番号が変更されるとMBRの疑似PARTUUIDが変更される可能性があることに注意してください。[1]
なぜ私のUUIDは私が見た他の例よりもはるかに短いのですか?
実際のUUIDは128ビット長であると想定されており、一意であることが意図されています。これ以前は、さまざまなシステムが、区別できるようにさまざまなサイズのさまざまなシリアル番号を提供していました。したがって、Linuxは、見つけたシリアルをすべて取得し、UUID定義と一致していなくても、/ dev / by-uuid /ディレクトリに貼り付けます。[2]
個人的な好みとして、私はむしろUUIDを使用することを好みます。暗号化されたスワップパーティションを作成しているときでも。また、lvmのようなもののためのPARTUUIDはありません。ご存知かもしれませんが、fstabはファイルシステムテーブルの略です。したがって、ファイルシステムに関連しているため、UUIDを使用する方が良いと思います。特定の理由で他の方法を使用する必要がない限り、UUIDを使用してください。
また、ArchLinuxのフォーラムで、読む価値のある良い答えを見つけました。fstabのUUIDではなくPARTUUID、長所/短所?。答えからの引用は次のとおりです。
PARTUUIDはパーティションを識別します。パーティションを他の目的で使用する(フォーマットする)ことにした場合、コンテンツが存在しなくなっても識別され、間違った場所にマウントされる可能性があります。
パーティションテーブルに問題があり、同じパーティションを(異なるpartuuidで)再作成することになった場合、コンテンツがまだ存在していても、そのパーティションは識別されなくなります。
パーティションのみにPARTUUIDがあり、他のブロックデバイス用にはありません。
PARTUUIDによるマウントは、initramfsなしで機能するため、initrdフリーのシステムを作成したい場合に有利です。
UUIDは、コンテンツによってファイルシステムを識別します。UUIDが見つかった場合、ファイルシステムはそこにあります。そして、それがブロックデバイス全体、パーティション、レイド、ラック、またはlvmであるかどうかは関係ありません。UUIDはすべてのレイヤーで機能し、PARTUUIDはパーティションに対してのみ機能します。
一般に、fstabエントリは特定のコンテンツを特定の場所にマウントすることを目的としているため、パーティションではなくコンテンツで識別する方が自然です。UUIDを使用する方がはるかに一般的です。
UUIDの欠点は、すべてのデバイスをスキャンしてコンテンツを探し、それらを見つける必要があることです。結局のところ、UUIDはどこにでもある可能性があります。PARTUUIDを使用すると、パーティションテーブルのみをチェックするため、より簡単でパフォーマンスが向上します。しかし、違いを生むには、大量のブロックデバイスが必要になります。
PARTUIDを使用する場合はfstab
、で行を開始するのでPARTUUID=
はなく、でそれを示す必要がありますUUID
。あなたが与える例では、システムはPARTUIDではなくUUIDを探しますが、実際にマシニングするものは見つかりませんでした。
置き換えUUID=
によってPARTUUID=
、あなたが行くように良いことがあります。
UUID
とPARTUUID
は両方とも一意の識別子であることが意図されており、一方はファイルシステムに関連しているため、パーティションを再フォーマットすると変更され、もう一方はパーティションに関連付けられ、パーティション自体に関連付けられます(再フォーマットしても変更されません)。どちらか一方を使用する方が良いですか?それはあまり重要ではありません。ドライブを自分でマウントするときはfstab
、何をマウントするかを十分に理解する必要があります。そのレベルでは、1つまたは別の一意の識別子を使用するかどうかはそれほど重要ではありません。