Благородный: Как заставить memtest86 работать на машине с Secure Boot?

Вопрос или проблема

У меня есть компьютер с графическими картами NVidia, поэтому у меня установлен ключ подписи в MOK для загрузки проприетарного драйвера NVidia. Пока все хорошо.
Я также установил memtest86+ версии 7.00-1build1 amd64.
Как вы знаете, производитель программного обеспечения не может подписывать свои бинарные файлы у Microsoft.
Но это можно сделать, используя пользовательские ключи.
Вопрос, как я мог бы это сделать и создать /boot/memtest86+… различные бинарные файлы с правильной подписью моего локального ключа MOK?
Заранее благодарю за ваши подсказки, советы или решение.
Желаю вам хорошего и светлого дня, пока они еще есть..

Ответ или решение

Уважаемый пользователь,

Спасибо за ваш вопрос. Я постараюсь помочь вам найти решение для использования memtest86+ на машине с включенной защитой Secure Boot и установленными пользовательскими ключами MOK. Ваша ситуация относится к категории управления безопасностью загрузки, что требует аккуратного подхода и понимания соответствующего программного обеспечения и процедур.

Теория

Secure Boot — это функция, предназначенная для предотвращения загрузки неавторизованного кода при запуске системы. Она проверяет подписи всех загрузочных компонентов и программного обеспечения на компьютере. Все компоненты должны быть подписаны доверенными ключами, такими как ключи Microsoft или пользовательскими ключами, добавленными в систему через Machine Owner Key (MOK).

Memtest86+ — это полезное программное обеспечение для тестирования оперативной памяти на наличие ошибок. Однако его бинари не подписаны Microsoft, что делает его использование на системе с Secure Boot несколько сложным.

Пример

На практике это означает следующее: если вы хотите запускать неподписанные кодовые фрагменты, такие как memtest86+, на машине с Secure Boot, вам придется их подписать самостоятельно, используя пользовательские ключи MOK. Ваш сценарий включает уже подписанную NVidia-драйвер, поэтому у вас уже должен быть опыт с использованием MOK.

Применение

Вам необходимо будет выполнить следующие шаги, чтобы подписать memtest86+ и использовать его на вашем устройстве:

  1. Создание пары ключей для подписи:

    • Если у вас еще нет ключей, вы можете создать их с помощью утилиты openssl. Для этого выполните:
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Your Name/"

      Это создаст закрытый ключ MOK.priv и открытый ключ MOK.der.

  2. Импортирование ключа в MOK:

    • Импортируйте созданный открытый ключ в MOK, используя утилиту mokutil:
      sudo mokutil --import MOK.der

      Вам будет предложено создать пароль, который будет использоваться для подтверждения регистрации ключа при следующей загрузке.

  3. Подтверждение ключа при загрузке:

    • Перезагрузите систему. В процессе загрузки вы войдете в интерфейс MOK Manager. Следуйте инструкциям для завершения регистрации ключа, используя пароль, который вы создали ранее.
  4. Подпись исполняемого файла memtest86+:

    • Убедитесь, что у вас установлен sbsigntool. Установите его, если необходимо:
      sudo apt install sbsigntool
    • Подпишите исполняемый файл memtest86+ вашим ключом:
      sbsign --key MOK.priv --cert MOK.der --output /boot/signed_memtest86+.efi /boot/memtest86+.efi

      Это создаст подписанную версию файла memtest86+.

  5. Обновление загрузчика:

    • Убедитесь, что ваша новая подписанная версия загружается вместо оригинальной. Вы можете отредактировать конфигурацию GRUB, чтобы она указывала на правильно подписанный файл:
      sudo nano /etc/grub.d/40_custom

      Добавьте в конец файла:

      menuentry "Memtest86+ (EFI Signed)" {
       insmod part_msdos
       insmod ext2
       set root='hd0,msdos1'
       chainloader /boot/signed_memtest86+.efi
      }

      Сохраните изменения и выполните:

      sudo update-grub

      чтобы применить изменения в конфигурации GRUB.

После выполнения этих шагов, вы сможете использовать memtest86+ на вашем устройстве, даже если Secure Boot включен. Это решение обеспечивает дополнительную гибкость при использовании систем контроля загрузки и позволяет вам использовать все преимущества диагностики памяти с помощью memtest86+.

С уважением,
Ваш IT-эксперт

Оцените материал
Добавить комментарий

Капча загружается...