編集する

編集する

UUID私のシステム(Debian)では、すべてのディスクパーティションの識別子を見ることができます(例/dev/sda1dev/sda2..)

ls /dev/disk/by-uuid/

UUIDただし、識別子自体は表示されません/dev/sda。ディスク全体を参照できますかUUID

特定のディスクを参照したいが、呼び出されるものに依存できないため、これが必要です/dev/sda

編集する

@don_crisstiが提案した解決策は素晴らしいです。ただし、シリアル番号が一意ではなく、同じモデル/製造元のすべてのハードドライブに対してUUIDが同じであることを願っています。

使用udevadm: ディスクのプロパティを表示できます。

udevadm info -n /dev/sda -a
ATTRS{model}=="Samsung SSD 840 "
ATTRS{vendor}=="0x8086"
ATTRS{class}=="0x010700"
ATTRS{device}=="0x1d6b"
....

UUID同じモデル/製造元のディスクが同じ属性を持つようにこれらの属性を作成するにはどうすればよいですかUUID

ベストアンサー1

以下のシンボリックリンクは、次の規則に従って生成され/dev/disk/by-uuid/ます。udevファイルシステムUUID。見てみると、次/usr/lib/udev/rules.d/60-persistent-storage.rulesのようなものが見つかります。

...... ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"

ディスクを参照するには、次のものを使用できます。ディスクシリアル番号そしてENV{ID_SERIAL_SHORT}鍵。
次のudev規則は、ドライブをシリアル番号と一致させます。0000000013100925DB96そして、次の場所に同じ名前のシンボリックリンクを作成します/dev/disk/by-uuid/

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL_SHORT}=="0000000013100925DB96", SYMLINK+="disk/by-uuid/$env{ID_SERIAL_SHORT}"

他の質問は...もちろん、シンボリックリンク名にカスタム文字列を使用するENV{ID_MODEL}のではなく、いつでも使用できます。次の規則は、=があるすべてのドライブと一致し、下にシンボリックリンクを作成します。ENV{ID_SERIAL_SHORT}
ID_MODELM4-CT128M4SSD2M4-SSD-1234567890/dev/disk/by-uuid/

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_MODEL}=="M4-CT128M4SSD2", SYMLINK+="disk/by-uuid/M4-SSD-1234567890"

あるドライブが1つしかないID_MODEL限り、同じモデルの複数のドライブがある場合、ルールは各ドライブに再適用され、シンボリックリンクは最後に検出/追加されたドライブを指します。

おすすめ記事