ОС — Linux, доступны efivarfs в ядре, доступны все виды инструментов: sbkeysync, efi-updatevar и efivar.
Две тестовые машины были использованы, оба перешли в «Режим настройки UEFI» с помощью настройки UEFI.
Мне удалось записать KEK, две записи базы данных (пустой dbx) и, наконец, PK в переменные EFI. Один компьютер переходит непосредственно в «пользовательский режим UEFI», другой требует перезагрузки. Пока все хорошо.
Ни одна из машин автоматически не активирует режим безопасной загрузки и не имеет возможности переключиться в «режим развертывания UEFI». Я говорю о двух переменных EFI:
- /sys/firmware/efi/efivars/SecureBoot-8be4df61- 93ca-11d2-aa0d-00e098032b8c
- /sys/firmware/efi/efivars/DeployedMode-8be4df61-93ca -11d2-aa0d-00e098032b8c
Содержимое должно представлять собой однобайтовый логический флаг, т. е. 0x00 для FALSE или 0x01 для TRUE. Это не работает. Вопрос в следующем:
Нужна ли мне авторизованная запись в одну из этих переменных EFI и как мне создать полезную нагрузку?
Спецификация UEFI 2.10 не указывает на решение, или я слишком глуп, чтобы найти его на страницах 2.238...
Я пытался написать 0x06,0x00 ,0x00,0x00,0x01 в две переменные EFI. Прежде чем сделать это, я удалил неизменяемый атрибут с помощью «chattr -i».
Подробнее здесь: https://stackoverflow.com/questions/788 ... g-efivarfs