Что я почерпнул из документации и ссылок:
Наименование переменной должно быть
LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
- именно этот GUID ожидает загрузчик
С содержимым переменной сложнее - это бинарный файл.
Необходимо смонтировать файловую систему efivars
mount -t efivarfs none /sys/firmware/efi/efivars
Бинарная структура файла следующая:
struct new_efi_variable {
u32 attributes;
u8 data[0];
};
Отсюда, первые 4 байта задают аттрибуты. Самые важные:
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
Далее, должно идти значение вашей переменной
auto-windows.
В итоге, полагаю, переменная создается так:
printf "\x07\x00\x00\x00\x61\x75\x74\x6f\x2d\x77\x69\x6e\x64\x6f\x77\x73" > LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Попробуйте и поправьте, если я не угадал с решением.