Вопрос или проблема
Я пытаюсь запустить 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 тоже):
-
Сначала загрузите Debian как обычно. Смонтируйте раздел Ubuntu (например, sda4), чтобы получить доступ к ядру Ubuntu:
$ sudo mount /dev/sda4 /mnt
-
Выполните следующую команду от имени root:
# mokutil --import-hash $(pesign -P -h -i /mnt/boot/vmlinuz | awk '{ print $1 }')
Это импортирует сертификат, использованный для подписи образа ядра Ubuntu, в таблицу MOKvar.
Затем введите и подтвердите пароль, который будет запрошен при перезагрузке системы.
-
Перезагрузите систему, чтобы завершить регистрацию сертификата.
-
Введите пароль из шага 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 позволяет решить проблему, однако это не всегда является безопасным решением, так как может снизить уровень защиты системы.
Решение проблемы
Для корректной настройки загрузки дистрибутивов, придерживайтесь следующих шагов:
-
Установка необходимых пакетов:
В первую очередь, вам необходимо установить два пакета:mokutil
иpesign
. Это можно сделать, выполнив следующую команду в терминале Debian:sudo apt install mokutil pesign
-
Подключение раздела Ubuntu:
После установки необходимых пакетов вам нужно будет смонтировать раздел, на котором установлена Ubuntu. Предположим, что это/dev/sda4
. Выполните следующую команду:sudo mount /dev/sda4 /mnt
-
Импорт сертификата:
На следующем этапе выполните команду, которая импортирует сертификат, используемый для подписи ядра Ubuntu, в MOK (Machine Owner Key) таблицу:sudo mokutil --import-hash $(pesign -P -h -i /mnt/boot/vmlinuz | awk '{ print $1 }')
В процессе выполнения вам будет предложено задать и подтвердить пароль, который потребуется при перезагрузке системы.
-
Перезагрузка системы:
Перезагрузите ваш компьютер, чтобы завершить процесс регистрации сертификата. -
Аутентификация при загрузке:
После перезагрузки вам будет предложено ввести пароль, заданный на предыдущем шаге. Введите его, чтобы завершить процесс аутентификации.
После выполнения этих шагов вы сможете загружать Ubuntu из GRUB, установленного в Debian.
Общие рекомендации
-
Регулярные обновления: Убедитесь, что оба дистрибутива всегда обновлены до последних версий, так как обновления могут содержать исправления ошибок, касающиеся Secure Boot и загрузчика GRUB.
-
Резервные копии: Перед внесением изменений в настройки загрузки или установку пакетов, рекомендуется создать резервные копии важных данных.
-
Документация: В случае возникновения новых проблем, полезно обратиться к официальной документации Debian и Ubuntu, так как она содержит актуальную информацию и советы.
Заключение
Следуя вышеописанным шагам, вы сможете успешно настроить мультибутовую систему на базе Debian 11 и Ubuntu 22.04 с включённым Secure Boot, избегая проблем с ошибкой "bad shim signature". Это решение обеспечивает большую безопасность системы и позволяет использовать все преимущества как Debian, так и Ubuntu.