в PreLoader есть интересная "недоработка"..весь пакет (в скомпилированном виде) состоит из трёх [неотъемлемых] частей:
"PreLoader.efi" -- главный исполняемый файл, который осущесвтляет дальнейшую загрузку (предватительно загрузив в память свой код для проверки образов загрузчиков).
"HashTool.efi" -- этот исполняемый файл запускается от инициативы "PreLoader.efi", если необходимо добавть hash-нового-образа как доверенный.
"HashTool.efi" может только ДОБАВЛЯТЬ хэши и больше ни чего (удалять или редактировать -- не может).
"KeyTool.efi" -- этот исполняемый файл запускается от "PreLoader.efi", если пользователь хочет например посмотреть и поудалять лишние (старые) hash-значения некоторых образов.
----------
но Майкрософт-сертификацию прошли только "PreLoader.efi" и "HashTool.efi" ("KeyTool.efi" -- не прошёл) ..
..при этом "KeyTool.efi" тоже работает, условно говоря, так как после "PreLoader.efi" работают уже все образы (с учётом процедуры добавления хэша как доверенный).
но судя по исходному коду -- ситуация с переполнением EFI-базы хэшей -- ни как не обрабатывается специальным образом. (такая ситуация лишь распознаётся и функция завершает свою работу с кодом ошибки).
в нормальном случае человек может добавлять новые доверенные хэши и удалять старые хэши из базы EFI. в нормальном случае -- это работает нормально.
однако если человек ВСЕГДА будет только добавлять новые хэши, и ни когда не будет удалять.. то в момент переполнения возможно может произойти следущая интересная штука:
1. очередной хэш не сможет добавиться. (EFI-база переполнилась).
2. нужно будет удалить какой-нибудь старый хэш.
3. для этого придётся выбрать опцию "редактировать EFI-базу хэшей".
4. "PreLoader.efi" попытается запустить утилиту "KeyTool.efi".
5. так как до этого хэши ни разу не удалялись -- то "KeyTool.efi" будет запускаться впервые, и тоже затребует добавить свой хэш в EFI-базу.
6. а база-то уже переполнена, так что пункт 5 уже не сможет выполниться :-)
ситуация конечно чисто теоретическая. так как EFI-база очень большая и на практике я этого не пробовал переполнять. только лишь исходники от PreLoader читал.
# P.S.: если бы Майкрософт серцифицировал бы "KeyTool.efi" -- то этого бы не случилось бы..