udev ルールはパーティションフラグと一致します。

udev ルールはパーティションフラグと一致します。

VirtualBoxでWindowsパーティションを実行しようとしていますが、Windowsパーティションを識別してグループを次に変更するudevルールを作成したいと思います。vboxユーザー。私は現在UUIDごとにパーティションを一致させるようにudevを設定しましたが、もっと一般的にしたいと思います。

現在のルールは次のとおりです。

# Rules to give VirtualBox raw access to Windows partitions

# Microsoft Reserved partition
SUBSYSTEM=="block", ATTRS{transport}=="pcie", ENV{ID_PART_ENTRY_UUID}=="df9bb75d-81b8-41cc-9faa-067f21b7089c", RUN+="/bin/chgrp vboxusers /dev/$name"

# Windows partition
SUBSYSTEM=="block", ATTRS{transport}=="pcie", ENV{ID_PART_ENTRY_UUID}=="8bad4d16-593c-4d50-a315-c8b33555888f", RUN+="/bin/chgrp vboxusers /dev/$name"

使用する代わりにID_PART_ENTRY_UUIDmsftres、これらのルールを一致させ、フラグを分割したいと思いますmsftdata。可能ですか?

リストのプロパティと変数を試しましたが、udevadm info -n /dev/???パーティションフラグに関する内容は表示されませんでした。

答え1

GPTディスクの場合、UUIDは個々のパーティションに割り当てられます。タイプ。システムに接続されているディスクの場合、これは他のパラメータであり、を使用しますlsblk -o +PARTTYPE

udevルールは次のようになります。

# Rules to give VirtualBox users raw access to Windows partitions

# Microsoft Reserved partitions (msftres)
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_TYPE}=="e3c9e316-0b5c-4db8-817d-f92df00215ae", GROUP="vboxusers"

# Windows basic data partitions (msftdata)
SUBSYSTEM=="block", ENV{ID_PART_ENTRY_TYPE}=="ebd0a0a2-b9e5-4433-87c0-68b6b72699c7", GROUP="vboxusers"

これはGPTを使用してパーティション化されたディスクにのみ適用されます。 MBRディスクからWindowsパーティションを検出するには、さまざまな技術が必要です。


UUID環境変数

udevはさまざまなUUID環境変数にアクセスできるため、ここにリストしました。

  • ID_PART_TABLE_UUID: 特定のパーティション表に固有で、ほとんどの場合、ディスクを一意に識別するために使用できます。
  • ID_PART_ENTRY_TYPE: 特定のタイプのパーティションに固有です。 GPT パーティションタイプのリストは次のとおりです。ウィキペディア
  • ID_PART_ENTRY_UUID:GPTパーティションを一意に識別します。
  • ID_FS_UUID:ファイルシステムを一意に識別します。
    • パーティションを再フォーマットすると、変更が発生します。
    • 特定のファイルシステムがUUIDをサポートしていない場合、より短い識別子が使用されます。

関連情報