Недавно я установил Fedora 20 на свой настольный ПК с материнской платой ASUS Z87-K. Учитывая некоторые общеизвестные ошибки, я установил фирменный драйвер NVIDIA для своей GeForce 630 и отключил драйвер nouveau.
После корректной установки драйвера, в ходе которой модуль был подписан вновь сгенерированной парой ключей, был создан сертификат x.509, который был автоматически помещен в
/usr/share/nvidia/certificate.der
.
Однако с этого момента компьютер не может загрузиться с включенной опцией безопасной загрузки UEFI. При переключении в текстовый режим и запуске nvidia-modprobe
я обнаруживаю, что фирменный модуль NVIDIA не был загружен.
Когда я отключаю безопасную загрузку в меню UEFI, компьютер загружается и работает без сбоев с установленным драйвером.
Чтобы избежать недостатков загрузки в небезопасном режиме, я хотел бы знать, где разместить сертификат x.509 модуля NVIDIA, чтобы он был распознан ядром и мне не пришлось отключать безопасную загрузку.
решение1
Вы должны иметь возможность загрузить сертификат, используя MokManager.efi
так, чтобы он был распознан Shim, и, следовательно, принят ядром. Я не знаю, настраивает ли Fedora свой GRUB так, чтобы вы могли запустить MokManager.efi
себя. Если нет, попробуйте загрузиться (с отключенной Secure Boot) с USB-флешки с оболочкой EFI илиПересмотреть.После этого вы сможете запустить MokManager.efi
и загрузить файл сертификата. (Его необходимо будет сохранить на том же диске, что и MokManager.efi
утилита, — вероятно, /boot/efi
из Fedora.)
Я почти уверен, что есть способ добавить сертификат в NVRAM из Linux, чтобы Shim заметил его и спросил, следует ли его использовать при следующей перезагрузке, но я не знаю точно, какой именно. Предположительно, это будет включать запись файла куда-то в дереве /sys/firmware/efi
каталогов.
Тем не менее, мне никогда не приходилось делать это самостоятельно, поскольку я не использую фирменные видеодрайверы ни на одном из своих компьютеров. Вполне возможно, что вам придется предпринять какие-то дополнительные шаги.
решение2
Для регистрации ключа вам понадобится использовать mokutil.
sudo mokutil --import <der file>
Вы можете проверить, зарегистрирован ли ключ с помощью
mokutil --test-key <der file>