udev para corresponder a um sinalizador de partição

3

Estou tentando executar uma partição do Windows no VirtualBox e gostaria de criar uma regra do udev que identifique as partições do Windows e altere o grupo para vboxusers . Atualmente, tenho o udev configurado para corresponder às partições pelo UUID, mas gostaria de torná-las mais genéricas.

Aqui estão minhas regras atuais:

# 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"

Em vez de usar ID_PART_ENTRY_UUID , gostaria que essas regras correspondessem aos sinalizadores de partição msftres e msftdata . Isso é possível?

Eu tentei listar atributos e variáveis usando udevadm info -n /dev/??? , mas não vi nada relacionado a sinalizadores de partição.

    
por Caleb Reister 21.08.2017 / 21:53

1 resposta

1

Para discos GPT, os UUIDs foram atribuídos a várias partições tipos . Este é um parâmetro diferente para os discos conectados ao sistema, use lsblk -o +PARTTYPE .

A regra do udev agora é assim:

# 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"

Observe que isso funcionará somente em um disco particionado usando o GPT. Para detectar partições do Windows em discos MBR, será necessária uma técnica diferente.

Variáveis de ambiente UUID

Como o udev pode acessar uma variedade de variáveis de ambiente UUID, eu as listei aqui.

  • ID_PART_TABLE_UUID : exclusivo para uma tabela de partições específica, pode ser usado para identificar um disco na maioria dos casos
  • ID_PART_ENTRY_TYPE : exclusivo para um tipo específico de partição. Uma lista de tipos de partição GPT está disponível em Wikipédia .
  • ID_PART_ENTRY_UUID : identifica exclusivamente uma partição da GPT
  • ID_FS_UUID : identifica exclusivamente um sistema de arquivos
    • Altera se a partição for reformatada
    • Se um determinado sistema de arquivos não suportar UUIDs, será usado um identificador mais curto.
por 30.08.2017 / 22:36