Quais são as entradas em /sys/firmware/efi/efivars/?
Vejo que são pequenos arquivos binários. São esses endereços e o conteúdo do endereço? Por exemplo, /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 em shows hexadecimais
000000000: 0700 0000 00 ....
O que isto significa?
Esses são arquivos no sistema de arquivos efivars, que fornecem acesso às variáveis UEFI. Para cada variável UEFI existe um arquivo em
/sys/firmware/efi/efivars/
.Seu exemplo
BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
tem o NameBootFromUSB
e o VendorGuidec87d643-eba4-4bb5-a1e5-3f3e36b20da9
. O GUID garante que variáveis com o mesmo nome, mas de fornecedores diferentes, não interfiram. Algumas variáveis são definidas na especificação UEFI, mas não esta.Os primeiros quatro bytes do conteúdo são atributos, que também são definidos na especificação UEFI. Os mais importantes são
portanto, sua variável não é volátil e pode ser acessada tanto na inicialização quanto no tempo de execução.
Quaisquer bytes restantes são o valor da variável. Neste caso existe um único byte com o valor 0.
Você pode usar variáveis UEFI para influenciar o processo de inicialização. Por exemplo, usamos essa variável para alternar a próxima inicialização para um firmware de recuperação alternativo, quando o firmware padrão não está funcionando.
Observe que o
efivars
sistema de arquivos permite gravar em variáveis EFI gravando nos arquivos. Tenha cuidado ao fazer isso, pois sobrescrever algumas variáveis pode bloquear seu sistema.EFIvars fazem parte da especificação UEFI, onde alguns nomes de variáveis têm um significado especial, mas a maioria deles pode ser qualquer coisa que seu desenvolvedor de firmware UEFI tenha decidido.