Estes são arquivos no sistema de arquivos efivars, que dão acesso a 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 nome BootFromUSB
e o VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
. O GUID garante que as 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
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
para que sua variável não seja volátil e possa ser acessada tanto na inicialização quanto no tempo de execução.
Quaisquer bytes restantes são o valor da variável. Nesse caso, há 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 estiver funcionando.
Observe que o sistema de arquivos efivars
permite gravar em variáveis EFI gravando nos arquivos. Tenha cuidado ao fazer isso, pois sobrescrever algumas variáveis pode atrapalhar seu sistema.