Доброго времени суток.
Возникла необходимость упаковать в GRUB2 его модули(а конкретно - модуль для работы с шифрованными разделами) и grub.cfg для защиты от подмены(с помощью Secure boot).
Идея такая: раздел boot с kernel и initramfs держим на зашифрованном разделе, модуль для работы с ним пихаем в GRUB2 вместе с конфигом, подписываем GRUB2 ключом из прошивки и пихаем его в ESP раздел. Таким образом защищаем initramfs(и весь раздел boot) от модификации, а GRUB2 и его конфиг - от подмены.
Также планируется дуалбут с Windows 10.
Вопроса два:
1) Как собрать GRUB2 так, чтобы он во время запуска искал загрузчик Windows 10 и добавлял его в меню загрузки, а также открывал криптоконтейнер и искал на нем ядро Ubuntu в разделе /boot;
2) Возможно, вопрос не по теме, но как правильно подписать своими ключами загрузчик Windows(bootmgfw.efi). При подписи его через sbsign он грузится(в Secure boot режиме), но выдает ошибку о неверной подписи. Т.е. что-то из других efi приложений Windows проверяет его подпись уже после загрузки. Подпись остальных efi и dll файлов не меняет ситуацию(помимо dll, в папке Microsoft/Boot на efi разделе есть еще bootmgr.efi, memtest.efi и файлы интерфейса; все они имеют открытый ключ Microsoft, проверялось через HEX редактор. Их подпись также не меняет ситуацию).
P.S. Не знал, в каком разделе создать тему, если не угадал - пожалуйста, перенесите/скажите.