Не удается зарегистрировать ключи из-за Shim UEFI Key Management, которые не отображаются после перезагрузки

Я пытаюсь подписать ядро ​​nVidia и модуль virtualbox с помощью mokutil.

Моя проблема в том, что ядро ​​ nVidia не появляется после перезагрузки, поэтому я могу зарегистрировать ключ.

Используя mokutil --list-new, я вижу, что мой ключ должен быть зарегистрирован. Кроме того, функция Secure Boot - зарегистрировать , наряду с проверкой mokutil. Однако после перезагрузки я ожидаю, что загрузится модуль virtualbox , но я загружусь в Ubuntu, и ключи остаются незарегистрированными (выполнение mokutil --list-enrolled дает: Не удалось прочитать MokListRT: Нет такого файла или каталога)

Моя ОС - Ubuntu 16.04 LTS, драйвер nvidia, который я пытаюсь подписать, - 384,59, а моя версия виртуального бокса - 5.1.26.

Спасибо заранее.

0
задан 23 August 2017 в 16:12

3 ответа

Есть несколько способов, по которым вы можете продолжить, но они могут работать не так хорошо, в зависимости от вашего оборудования и потребностей:

Некоторые EFI предоставляют возможность запуска произвольных программ. Вы можете использовать эту функцию для запуска MokManager (MokManager.efi или mmx64.efi в том же каталоге, который содержит shimx64.efi и grubx64.efi). Скорее всего, это самый прямой подход, но эта функция EFI относительно редка, и даже если она присутствует, стандартизации нет, где она находится в системе меню EFI, поэтому вам придется искать ее. Подготовьте USB-накопитель с файловой системой FAT, создайте каталог EFI/BOOT на этом диске и скопируйте некоторые файлы из каталога /boot/efi/EFI/ubuntu в каталог EFI/BOOT на флэш-накопителе USB: скопируйте shimx64.efi и переименуйте его в bootx64.efi в новом месте и скопировать MokManager.efi или mmx64.efi без его переименования. (У вашего Ubuntu, вероятно, есть mmx64.efi, но я не помню, когда он был переименован.) Затем вы можете загрузиться на USB-накопитель, который должен запустить MokManager. Вы можете использовать программу оболочки EFI для выполнения задания. Некоторые EFI имеют такую ​​встроенную программу, но это так же редко, как и возможность запуска произвольных программ. Если у вас нет такой функции, вы можете загрузить ее из Интернета - см. Эту вики-страницу Arch Linux для некоторых указателей. Поместите программу на флэш-накопитель FAT USB, названный EFI/BOOT/bootx64.efi. Затем вы можете загрузить USB-накопитель в оболочку и использовать его для запуска MokManager. Обратите внимание, однако, что вам нужно временно отключить Secure Boot для запуска оболочки EFI. Вам также нужно будет изучить достаточно оболочки EFI, чтобы перейти к двоичному файлу MokManager и запустить его. (Эта оболочка похожа на командную строку DOS или Windows. В вики Arch содержится несколько советов по ее использованию.) Вы можете загрузиться с помощью моего менеджера загрузки rEFInd на флэш-накопитель USB или CD-R. Это должно дать вам значок для запуска MokManager или, по крайней мере, оболочки EFI. Как и при запуске оболочки EFI напрямую, вам необходимо временно отключить Secure Boot, чтобы этот параметр работал. Вы можете установить rEFInd на свой жесткий диск с помощью пакета PPA или Debian. Когда вы перезагружаетесь, MokManager должен запускаться, позволяя вам регистрировать ключи rEFInd и ваши собственные ключи. Это радикальный метод, так как он оставит rEFInd в управлении процессом загрузки. Таким образом, если вы не уверены, что хотите перейти на rEFInd в качестве основного менеджера загрузки, это не очень хороший вариант. Я упоминаю это только для полноты.

Я бы попробовал варианты в более или менее таком порядке, хотя вы можете использовать свое собственное мнение и пропустить что-то, если вам не нравится, как он звучит или знает, что это не сработает.

1
ответ дан 22 May 2018 в 19:09
  • 1
    Большое спасибо! Я должен был сделать следующее: добавив mmx64.efi и shimx64.efi к набору доверенных EFIs , чтобы они могли быть выполнены через BIOS и давали им самый высокий порядок загрузки. Следовательно, после перезагрузки был запущен SHIM IEFI, и я смог зарегистрировать ключи. Оценил. – Rafi 24 August 2017 в 12:46
  • 2
    Я столкнулся с одной и той же проблемой, но решение для меня было двояким. Во-первых, выполнение grub-install --uefi-secure-boot позволило мне увидеть интерфейс регистрации MOK во время загрузки (не знаю, почему GRUB не имел поддержки EUFI для начала). Несмотря на добавление моего MOK и перезагрузку, процесс загрузки приведет к черному экрану (и я имею в виду черное, даже несмотря на то, что монитор включен). Затем я подумал о некоторых других постов Рода Смита по этому вопросу, и мне пришло в голову, что это может быть проблема с видео, и отключить CSM (модуль поддержки совместимости) в BIOS. BINGO! Спасибо вам обоим!!! – Ben Johnson 2 May 2018 в 19:36

Есть несколько способов, по которым вы можете продолжить, но они могут работать не так хорошо, в зависимости от вашего оборудования и потребностей:

Некоторые EFI предоставляют возможность запуска произвольных программ. Вы можете использовать эту функцию для запуска MokManager (MokManager.efi или mmx64.efi в том же каталоге, который содержит shimx64.efi и grubx64.efi). Скорее всего, это самый прямой подход, но эта функция EFI относительно редка, и даже если она присутствует, стандартизации нет, где она находится в системе меню EFI, поэтому вам придется искать ее. Подготовьте USB-накопитель с файловой системой FAT, создайте каталог EFI/BOOT на этом диске и скопируйте некоторые файлы из каталога /boot/efi/EFI/ubuntu в каталог EFI/BOOT на флэш-накопителе USB: скопируйте shimx64.efi и переименуйте его в bootx64.efi в новом месте и скопировать MokManager.efi или mmx64.efi без его переименования. (У вашего Ubuntu, вероятно, есть mmx64.efi, но я не помню, когда он был переименован.) Затем вы можете загрузиться на USB-накопитель, который должен запустить MokManager. Вы можете использовать программу оболочки EFI для выполнения задания. Некоторые EFI имеют такую ​​встроенную программу, но это так же редко, как и возможность запуска произвольных программ. Если у вас нет такой функции, вы можете загрузить ее из Интернета - см. Эту вики-страницу Arch Linux для некоторых указателей. Поместите программу на флэш-накопитель FAT USB, названный EFI/BOOT/bootx64.efi. Затем вы можете загрузить USB-накопитель в оболочку и использовать его для запуска MokManager. Обратите внимание, однако, что вам нужно временно отключить Secure Boot для запуска оболочки EFI. Вам также нужно будет изучить достаточно оболочки EFI, чтобы перейти к двоичному файлу MokManager и запустить его. (Эта оболочка похожа на командную строку DOS или Windows. В вики Arch содержится несколько советов по ее использованию.) Вы можете загрузиться с помощью моего менеджера загрузки rEFInd на флэш-накопитель USB или CD-R. Это должно дать вам значок для запуска MokManager или, по крайней мере, оболочки EFI. Как и при запуске оболочки EFI напрямую, вам необходимо временно отключить Secure Boot, чтобы этот параметр работал. Вы можете установить rEFInd на свой жесткий диск с помощью пакета PPA или Debian. Когда вы перезагружаетесь, MokManager должен запускаться, позволяя вам регистрировать ключи rEFInd и ваши собственные ключи. Это радикальный метод, так как он оставит rEFInd в управлении процессом загрузки. Таким образом, если вы не уверены, что хотите перейти на rEFInd в качестве основного менеджера загрузки, это не очень хороший вариант. Я упоминаю это только для полноты.

Я бы попробовал варианты в более или менее таком порядке, хотя вы можете использовать свое собственное мнение и пропустить что-то, если вам не нравится, как он звучит или знает, что это не сработает.

1
ответ дан 18 July 2018 в 08:03

Есть несколько способов, по которым вы можете продолжить, но они могут работать не так хорошо, в зависимости от вашего оборудования и потребностей:

Некоторые EFI предоставляют возможность запуска произвольных программ. Вы можете использовать эту функцию для запуска MokManager (MokManager.efi или mmx64.efi в том же каталоге, который содержит shimx64.efi и grubx64.efi). Скорее всего, это самый прямой подход, но эта функция EFI относительно редка, и даже если она присутствует, стандартизации нет, где она находится в системе меню EFI, поэтому вам придется искать ее. Подготовьте USB-накопитель с файловой системой FAT, создайте каталог EFI/BOOT на этом диске и скопируйте некоторые файлы из каталога /boot/efi/EFI/ubuntu в каталог EFI/BOOT на флэш-накопителе USB: скопируйте shimx64.efi и переименуйте его в bootx64.efi в новом месте и скопировать MokManager.efi или mmx64.efi без его переименования. (У вашего Ubuntu, вероятно, есть mmx64.efi, но я не помню, когда он был переименован.) Затем вы можете загрузиться на USB-накопитель, который должен запустить MokManager. Вы можете использовать программу оболочки EFI для выполнения задания. Некоторые EFI имеют такую ​​встроенную программу, но это так же редко, как и возможность запуска произвольных программ. Если у вас нет такой функции, вы можете загрузить ее из Интернета - см. Эту вики-страницу Arch Linux для некоторых указателей. Поместите программу на флэш-накопитель FAT USB, названный EFI/BOOT/bootx64.efi. Затем вы можете загрузить USB-накопитель в оболочку и использовать его для запуска MokManager. Обратите внимание, однако, что вам нужно временно отключить Secure Boot для запуска оболочки EFI. Вам также нужно будет изучить достаточно оболочки EFI, чтобы перейти к двоичному файлу MokManager и запустить его. (Эта оболочка похожа на командную строку DOS или Windows. В вики Arch содержится несколько советов по ее использованию.) Вы можете загрузиться с помощью моего менеджера загрузки rEFInd на флэш-накопитель USB или CD-R. Это должно дать вам значок для запуска MokManager или, по крайней мере, оболочки EFI. Как и при запуске оболочки EFI напрямую, вам необходимо временно отключить Secure Boot, чтобы этот параметр работал. Вы можете установить rEFInd на свой жесткий диск с помощью пакета PPA или Debian. Когда вы перезагружаетесь, MokManager должен запускаться, позволяя вам регистрировать ключи rEFInd и ваши собственные ключи. Это радикальный метод, так как он оставит rEFInd в управлении процессом загрузки. Таким образом, если вы не уверены, что хотите перейти на rEFInd в качестве основного менеджера загрузки, это не очень хороший вариант. Я упоминаю это только для полноты.

Я бы попробовал варианты в более или менее таком порядке, хотя вы можете использовать свое собственное мнение и пропустить что-то, если вам не нравится, как он звучит или знает, что это не сработает.

1
ответ дан 24 July 2018 в 18:58

Другие вопросы по тегам:

Похожие вопросы: