linux - como listar partições de tipo específico?

1

Eu estou procurando uma maneira de listar todas as partições de um tipo específico no linux. (Especificamente: todas as partições do sistema EFI).

Eu sei que blkid pode filtrar no tipo de sistema de arquivos: o comando blkid -t TYPE=vfat retorna os resultados corretos, mas não é muito robusto: pode haver outros sistemas de arquivos vfat que não sejam ESPs, ou pode haver ESPs formatados com um sistema de arquivos diferente.

Então, existe um comando equivalente que pode listar dispositivos, mas filtrar no tipo de partição?

EDITAR

Eu preciso de uma lista de todas as partições do sistema EFI (ou ESPs). Essas partições possuem o tipo de partição EF00 no gdisk ou o tipo de partição ef no fdisk. Eles são mais comumente formatados como vfat. Agora, posso usar blkid para listar todas as partições formatadas com vfat, mas isso deixa dois problemas:
a) Pode haver partições EFI não formatadas com vfat (ou não estarem formatadas) que não constam na lista, e
b) pode haver sistemas de arquivos regulares formatados como vfat, que seriam incluídos na lista incorretamente. Então combinar com tipo de sistema de arquivos não é o caminho a seguir. É por isso que estou procurando algo que possa corresponder ao tipo de partição , portanto, EF00 ou ef .

Se esse comando não existir, provavelmente precisarei fazer o seguinte para obter as informações desejadas:
- listar todos os discos
- para cada disco, descubra se há uma tabela de partições MBR ou GPT nele | listar a tabela de partições | - filtre os resultados para imprimir apenas as partições ESP

Isso é trabalhoso e propenso a erros, portanto, se houver um equivalente de blkid capaz de corresponder aos tipos de partição, eu gostaria de usá-lo.

    
por roelvanmeer 23.11.2016 / 08:24

2 respostas

2

lsblk -o +PARTTYPE inclui o tipo de partição UUID na listagem. O UUID do Tipo de Partição do Sistema EFI é C12A7328-F81F-11D2-BA4B-00A0C93EC93B , portanto, grepping para isso (em minúsculas, ou use o -i flag com grep) lista seus ESPs.

    
por 23.11.2016 / 15:08
0

1) Para partições de lista de tipos específicos:

:~# lsblk -ln -o NAME,TYPE
...
sda          disk
sda1         part
sda1_crypt   crypt
vg0xa-system lvm
vg0xa-swap   lvm
vg0xa-tmp    lvm
vg0xa-var    lvm
vg0xa-usr    lvm
...

Veja também: lsblk -ln -o NAME,PARTTYPE

2) ou mais especificamente:

:~# lsblk -ln -o NAME,TYPE | grep sda1_crypt
sda1_crypt   crypt
    
por 23.11.2016 / 13:05