Мультизагрузка Debian 11 и Ubuntu 22.04, GRUB создает ошибку shim

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

Я пытаюсь запустить Debian 11, Ubuntu 22.04 и Windows 10 pro через мультизагрузку.

Windows загружается нормально.

Однако установленный Linux нормально загружается, в то время как предыдущий выдает следующие ошибки после выбора его в меню GRUB:

error: bad shim signature
error: you need to load the kernel first
press any key to continue ...

Так что, если я установлю Debian первым, я смогу выбрать Ubuntu из меню Grub, но Debian будет выдавать вышеуказанные ошибки. Если я установлю Ubuntu первым, будет наоборот.

Во всех случаях я загружаю все нормально из меню BIOS (UEFI).

Если я отключу безопасную загрузку в BIOS, GRUB работает нормально, но я не думаю, что это хорошее решение.

HP Z2 mini G5

Немного поздно, но мне наконец удалось найти решение для двойной загрузки Ubuntu 24.04 и Debian 13 (тестирования). Вам нужно установить всего 2 пакета: mokutil и pesign:

$ sudo apt install mokutil pesign

Чтобы загрузить Ubuntu из Debian (вам нужно следовать аналогичным шагам, чтобы разрешить загрузку Debian из Ubuntu тоже):

  1. Сначала загрузите Debian как обычно. Смонтируйте раздел Ubuntu (например, sda4), чтобы получить доступ к ядру Ubuntu:

    $ sudo mount /dev/sda4 /mnt
    
  2. Выполните следующую команду от имени root:

    # mokutil --import-hash $(pesign -P -h -i /mnt/boot/vmlinuz | awk '{ print $1 }')
    

    Это импортирует сертификат, использованный для подписи образа ядра Ubuntu, в таблицу MOKvar.

    Затем введите и подтвердите пароль, который будет запрошен при перезагрузке системы.

  3. Перезагрузите систему, чтобы завершить регистрацию сертификата.

  4. Введите пароль из шага 2.

С этого момента вы сможете загружать Ubuntu из grub Debian.

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

Решение проблемы с ошибкой "bad shim signature" при мультибуйте Debian 11 и Ubuntu 22.04

Введение

Мультибутовые настройки на системах с UEFI могут быть сложными, особенно когда в систему установлены разные дистрибутивы Linux, такие как Debian 11 и Ubuntu 22.04. Часто пользователи сталкиваются с ошибкой "bad shim signature", которая возникает при попытке загрузить один из дистрибутивов из меню GRUB. В данном ответе мы рассмотрим, как решить эту проблему, обеспечив корректную загрузку всех установленных операционных систем без отключения Secure Boot.

Описание проблемы

Как упоминается в вашем вопросе, система Windows загружается нормально, в то время как Linux дистрибутивы ведут себя по-разному в зависимости от порядка их установки. При выборе одного из дистрибутивов в меню GRUB появляется следующая ошибка:

error: bad shim signature
error: you need to load the kernel first
press any key to continue ...

Если Secure Boot включён в BIOS, это приводит к подобным проблемам с загрузкой. Отключение Secure Boot позволяет решить проблему, однако это не всегда является безопасным решением, так как может снизить уровень защиты системы.

Решение проблемы

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

  1. Установка необходимых пакетов:
    В первую очередь, вам необходимо установить два пакета: mokutil и pesign. Это можно сделать, выполнив следующую команду в терминале Debian:

    sudo apt install mokutil pesign
  2. Подключение раздела Ubuntu:
    После установки необходимых пакетов вам нужно будет смонтировать раздел, на котором установлена Ubuntu. Предположим, что это /dev/sda4. Выполните следующую команду:

    sudo mount /dev/sda4 /mnt
  3. Импорт сертификата:
    На следующем этапе выполните команду, которая импортирует сертификат, используемый для подписи ядра Ubuntu, в MOK (Machine Owner Key) таблицу:

    sudo mokutil --import-hash $(pesign -P -h -i /mnt/boot/vmlinuz | awk '{ print $1 }')

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

  4. Перезагрузка системы:
    Перезагрузите ваш компьютер, чтобы завершить процесс регистрации сертификата.

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

После выполнения этих шагов вы сможете загружать Ubuntu из GRUB, установленного в Debian.

Общие рекомендации

  1. Регулярные обновления: Убедитесь, что оба дистрибутива всегда обновлены до последних версий, так как обновления могут содержать исправления ошибок, касающиеся Secure Boot и загрузчика GRUB.

  2. Резервные копии: Перед внесением изменений в настройки загрузки или установку пакетов, рекомендуется создать резервные копии важных данных.

  3. Документация: В случае возникновения новых проблем, полезно обратиться к официальной документации Debian и Ubuntu, так как она содержит актуальную информацию и советы.

Заключение

Следуя вышеописанным шагам, вы сможете успешно настроить мультибутовую систему на базе Debian 11 и Ubuntu 22.04 с включённым Secure Boot, избегая проблем с ошибкой "bad shim signature". Это решение обеспечивает большую безопасность системы и позволяет использовать все преимущества как Debian, так и Ubuntu.

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

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