/dev/disk/by-uuidにリストされていない場合にシステムがディスクのuuidを確認する方法

/dev/disk/by-uuidにリストされていない場合にシステムがディスクのuuidを確認する方法

私のシステムに理解できない問題があります。ディスクUUIDはなく、パーティションUUIDのみがあります。:

ls -al /dev/disk/by-uuid/
total 0
drwxrwxrwx 2 root root 140 Nov 21 20:36 ./
drwxrwxrwx 5 root root 100 Nov 21 20:36 ../
lrwxrwxrwx 1 root root  10 Nov 21 18:36 20AC094AAC091C42 -> ../../sda3
lrwxrwxrwx 1 root root  10 Nov 21 18:36 A004AFE104AFB8A4 -> ../../sda2
lrwxrwxrwx 1 root root  10 Nov 21 18:36 E83A6F543A6F1EB6 -> ../../sdb1
lrwxrwxrwx 1 root root  10 Nov 21 18:36 FE6CD3A96CD35ACB -> ../../sda1
lrwxrwxrwx 1 root root  10 Nov 21 18:36 e6c45231-5e3d-4874-8294-df43b55e8fea -> ../../sdb2

何をすべきか知っていますか?ディスクuuidを見ましたか?

後で編集:(コメントに応じて)

ディスクにはUUIDSがあります。最初は私のシステムでも直接見た後、何らかの理由で消えました。私の言葉を受け入れないでください。 (はい、私の言葉はあいまいなようです。 "私は"ミラージュ"を見ました" " ) ...パーティションの代わりにディスクuuidを使用するpplリンクは次のとおりです。

linux:システムで利用可能なすべてのディスクのすべてのUUIDを表示するには?

下の2番目の答え

lrwxrwxrwx 1 root root  9 Sep  1 18:51 b4b729f7-5699-411c-8f5a-424bbc7c89fc -> ../../sdb

そして

https://askubuntu.com/questions/39760/how-can-i-control-hdd-spin-down-time

上記の2番目の答えは次のとおりです。

hdparm -S 25 /dev/disk/by-uuid/f6c52265-d89f-43a4-b03b-302c3dadb215

それには2つの答えがあります

hdparm -S244 /dev/disk/by-uuid/71492809-e463-41fa-99e2-c09e9ca90c8e  > /dev/null 2> /dev/null

誰も来て、hdparmがパーティションに使用されていると言う人がいなかったらと思います...

関心をお寄せいただきありがとうございます。そして、明らかに間違った答えを評価するのに十分にあなたを信じていた人々に個人的に「おめでとう」を伝えます!

答え1

sgdiskは次のことを行います。

# sgdisk -p /dev/xvda
Disk /dev/xvda: 16777216 sectors, 8.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B9181609-5D44-49F4-9CD6-DEDBA25FC478

答え2

というフォルダもあります。/dev/ディスク/by-ID/

だからあなたは走ることができます

ls -l /dev/disk/by-id

パーティションだけでなくドライブも含めて、ID別にデバイスのリストを取得します。

デバイスが別のコントローラに接続されている場合、またはコントローラが別のサブシステムの一部になると、これらのIDの一部が変更される可能性があります。

デバイスがそれをサポートしている場合は、IDという特別な種類のIDがあります。WWN(ワールドワイド名)またはワールドワイド識別子(WWID)タイプ。これらのIDは実際には一意で不変なので、これを使用してドライブを確実に識別できます。彼らは最初から始まりますwwn-

したがって、Debian または派生製品を使用していると仮定すると、次のブロックを使用できます。

/dev/disk/by-id/wwn-0x5...1 {
    spindown_time = 24
    apm = 254
    apm_battery = 254
    acoustic_management = 128
}

ユーザーを一意に識別するディスクのhdparmパラメーターを設定します。

さまざまな種類の永続ブロックデバイス名の詳細については、次を参照してください。ここ

答え3

シンボリック/dev/disk/by-uuid/*リンクはudevルールによって生成される可能性が高く、異なるディストリビューション(または同じディストリビューションの異なるメジャーバージョン)には若干異なるルールがあります。

私のDebian 10システムでは、これらのシンボリックリンクはによって生成されます/lib/udev/rules.d/60-persistent-storage.rules。ファイルの先頭は次のとおりです。

# do not edit this file, it will be overwritten on update

# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <[email protected]>

したがって、この規則はもともとSuSE Linuxで設計されているようです。

by-uuidこのファイルにはシンボリックリンクを作成するためのルールが1つだけです。

ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"

これは環境変数を使用して参照されます。ファイルシステムUUIDただ。

パーティションUUID(GPTパーティションテーブルの実際のUUID、またはオプションでWindowsディスク署名とMBRパーティションテーブルのパーティション番号を組み合わせて生成された文字列)は、異なるパスを使用する異なる規則によって生成されます。

ENV{ID_PART_ENTRY_UUID}=="?*", SYMLINK+="disk/by-partuuid/$env{ID_PART_ENTRY_UUID}"

共通の起源のため、UbuntuとMintはほぼ同じ規則を持つと予想されます。

私は危険を冒すでしょう推測するこれらのudevルールの以前のバージョンでは、単一の/dev/disk/by-uuidディレクトリに任意の種類のUUIDへのシンボリックリンクを作成できます。ただし、さまざまな種類のUUIDシンボリックリンク(ファイルシステムUUID、パーティションUUID、およびディスクUUID)を含むディレクトリを検索すると、操作が難しくなります。 UUIDで見つかった各デバイスにパーティションテーブルが必要か、パーティションテーブルが必要かを確認する必要があります。このデバイスにはありません。これはカーネルによってすでに行われているので、これは役に立たない努力の重複になります。したがって、この計画はある時点で以下を含むように改善されました。ファイルシステムUUID到着する/dev/disk/by-uuid/パーティションUUID到着する/dev/disk/by-partuuid/

GPTおよびMBRパーティションテーブルのディスクUUIDは、パーティションテーブルが作成されたときに作成される「ソフトウェア」識別子であり、変更することができます。したがって、ディスクUUIDに依存するすべては、ディスクイメージ全体によってなりすまします。たとえば、これを行うと両方dd if=/dev/sdx of=/dev/sdyとも、ディスクのUUIDを含む同じUUIDを持つことになります。ディスクUUIDはパーティションテーブルの機能であり、パーティションの指定方法が含まれていないため、マウントには使用できません。ゼロまたは任意のバイトで満たされて消去されたディスクには有効なパーティションテーブルがないため、パーティションまたはディスクUUIDはありません。sdxsdy

MBRパーティションテーブルには実際のUUIDがないため、MBRディスクとパーティションの「UUIDオーバーライド」文字列は、MBRの「ディスクUUIDオーバーライド」にマイナス記号と2桁のパーティション番号を追加することによって得られる方法で生成されます。 MBR「パーティションUUIDのオーバーライド」。これは他のパーティションスキームでは適用されないため、この機能に依存してはいけません。

物理ディスクを特定する場合は、見つけることができるハードウェア/ファームウェアベースのディスクシリアル番号を使用することは、同じ/dev/disk/by-id(複製)コンテンツを持つ2つのディスクを区別するより信頼性の高い方法です。これらのシリアル番号は、通常のディスク複製および削除プロセスでも維持されます。ディスクファームウェアを実際に変更しないと、シリアル番号が変更されることがあります。

関連情報