Я играю с GRUB2, SecureBoot и Подписанием Ядра, и я думаю, что нашел возможную ошибку в своей Защищенной загрузке, но я хочу проверить свое понимание этих процессов сначала.
Я знаю, что, когда Защищенная загрузка включена, только двоичные файлы, подписанные с Ключом, загруженным во встроенном микропрограммном обеспечении, могут быть запущены, таким образом, все загрузчики должны быть подписаны. В типичном случае контейнер и GRUB.
Контейнер должен накормить MoakManager обедом, если начальная загрузка перестала работать, или у Вас есть некоторые ключи, чтобы импортировать или удалить и если это в порядке, это должно затем запустить GRUB, который является реальным загрузчиком.
Проблема состоит в том, что я только что генерировал пользовательскую версию GRUB с grub-mkstandalone
который я подписал с новым ключом, созданным с OpenSSl; ключ, который я еще не импортировал во встроенном микропрограммном обеспечении и контейнере, смог запустить его без любых отчетов от Защищенной загрузки.
Я проверил ключи с mokutil --list-enrolled
и это сообщило только о Каноническом Сертификате.
Так, для резюме:
В моем разделе EFI я имею:
grubx64.efi
.При начальной загрузке КОНТЕЙНЕР мог накормить GRUB обедом, и GRUB мог загрузить Ubuntu успешно.
Если некоторая проверка Защищенной загрузки только знак первого загрузчика и другие, загрузчики ответственны за проверку theirself и модули, которые они предварительно загружают и пользователи в конечном счете, загружаются, проблема безопасности здесь действительно высока.
Я сделаю еще некоторые тесты, но возможно я должен открыть уведомление об ошибке.
Какие-либо идеи?
Я полагаю, что Ваше понимание корректно, за исключением того, что shimx64.efi
поставляется в двоичной форме через пакет, не сгенерированный локально через grub-install
. (grub-install
вероятно, установит shimx64.efi
к ESP, все же.), О, и это - MokManager, не MoakManager.
Перед регистрацией отчета об ошибках необходимо вернуться той же дорогой и быть на 100% уверены, что Вы загружаетесь через свой локально скомпилированный GRUB. Легко случайно поместить двоичный файл в неправильное местоположение или пренебрежение для выполнения efibootmgr
скорректировать порядок загрузки, например. (Вы не описали, как Вы устанавливаете свое пользовательское grubx64.efi
- Вы перезаписываете стандартный двоичный файл Ubuntu или помещаете Ваш новый в другом месте и регистрируете его [и копия Контейнера] через efibootmgr
?) Вы могли бы хотеть работать sudo efibootmgr -v
видеть Ваши детали начальной загрузки. Обратите внимание на BootOrder
и BootCurrent
строки - первый говорит Вам порядок, в котором параметры загрузки попробуют и последние шоу опция, которая использовалась для начальной загрузки компьютера. Необходимо будет перекрестно сослаться на числа с различным Boot####
строки, которые описывают каждый параметр загрузки. При установке собственного GRUB, отдельного от GRUB Ubuntu возможно, что встроенное микропрограммное обеспечение тихо обошло его из-за ошибки Защищенной загрузки и затем возвратилось к запасу Контейнер/GRUB Ubuntu, который объяснит, что Вы видите.
Другая возможность состоит в том, что Защищенная загрузка на самом деле не включена на Вашем компьютере. Можно проверить эту возможность следующим образом:
$ hexdump /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
0000000 0016 0000 0001
0000005
В этом примере, первой строке вывода (0000000 0016 0000 0001
) концы в a 1
. Это указывает, что Защищенная загрузка активна. Если это заканчивается в a 0
, затем Защищенная загрузка отключена на Вашем компьютере.
Еще одна возможность состоит в том, что Вы, возможно, так или иначе установили свой локальный ключ в собственном списке дб встроенного микропрограммного обеспечения. Это - трудная задача, тем не менее, таким образом, маловероятно, что Вы сделали это случайно и не понимая это. (См. мою страницу на предмете для получения дополнительной информации о том, как настроить это.) Я упоминаю эту возможность главным образом ради полноты; это не кажется мне, вероятно, вообще, если Вы не опускаете упоминание о предыдущей попытке освоения Защищенной загрузки таким образом.
Если Вы видите ошибку, это могло бы быть или в Контейнере или в Вашем встроенном микропрограммном обеспечении.
Еще один протест состоит в том, что я только мимоходом знаком с определенными для GRUB инструментами такой как grub-mkstandalone
. Поскольку я поддерживаю, повторно находят, я предпочитаю использовать его, таким образом, мое знание инструментов GRUB не является столь всесторонним, как это могло бы быть. Таким образом я мог бы пропускать некоторую критическую деталь, потому что это является определенным для GRUB.