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를 지원하지 않는 경우 더 짧은 식별자가 사용됩니다.

관련 정보