Grub не отображается и не обнаруживает ядра.

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

Я клонировал ядро и переключился на версию v6.11 (у меня 6.11.0-14), которую я собрал и запустил скрипт /sbin/installkernel (предоставленный Ubuntu), и все было нормально, но когда я перезагрузил компьютер, он не вошел в grub и показывает это
enter image description here

как-то я вошел в grub один раз, выбрал нужное ядро и оно выдало мне error:bad shim signature,
/etc/default/grub файл

GRUB_DEFAULT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false

также у меня только один раздел, в котором я храню все (стандартная установка)
вывод update-grub (я добавил еще два ядра)

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/kdump-tools.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linuxFica
Found linux image: /boot/vmlinuz-6.11.0-14-generic
Found initrd image: /boot/initrd.img-6.11.0-14-generic
Found linux image: /boot/vmlinuz-6.11.0-13-generic
Found initrd image: /boot/initrd.img-6.11.0-13-generic
Found linux image: /boot/vmlinuz-6.11.0
Found initrd image: /boot/initrd.img-6.11.0
Found linux image: /boot/vmlinuz-6.11.0.old
Found initrd image: /boot/initrd.img-6.11.0
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
done

вывод sudo make modules_install install

  INSTALL /lib/modules/6.11.0/modules.order
  INSTALL /lib/modules/6.11.0/modules.builtin
  INSTALL /lib/modules/6.11.0/modules.builtin.modinfo
  SYMLINK /lib/modules/6.11.0/build
  INSTALL /lib/modules/6.11.0/kernel/fs/efivarfs/efivarfs.ko
  INSTALL /lib/modules/6.11.0/kernel/drivers/thermal/intel/x86_pkg_temp_thermal.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/nf_log_syslog.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/xt_mark.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/xt_nat.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/xt_LOG.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/xt_MASQUERADE.ko
  INSTALL /lib/modules/6.11.0/kernel/net/netfilter/xt_addrtype.ko
  INSTALL /lib/modules/6.11.0/kernel/net/ipv4/netfilter/iptable_nat.ko
  DEPMOD  /lib/modules/6.11.0
  INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/dkms 6.11.0 /boot/vmlinuz-6.11.0
 * dkms: running auto installation service for kernel 6.11.0
 * dkms: autoinstall for kernel 6.11.0                                   [ OK ] 
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.11.0 /boot/vmlinuz-6.11.0
update-initramfs: Generating /boot/initrd.img-6.11.0
run-parts: executing /etc/kernel/postinst.d/kdump-tools 6.11.0 /boot/vmlinuz-6.11.0
kdump-tools: Generating /var/lib/kdump/initrd.img-6.11.0
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 6.11.0 /boot/vmlinuz-6.11.0
run-parts: executing /etc/kernel/postinst.d/update-notifier 6.11.0 /boot/vmlinuz-6.11.0
run-parts: executing /etc/kernel/postinst.d/xx-update-initrd-links 6.11.0 /boot/vmlinuz-6.11.0
run-parts: executing /etc/kernel/postinst.d/zz-shim 6.11.0 /boot/vmlinuz-6.11.0
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 6.11.0 /boot/vmlinuz-6.11.0
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/kdump-tools.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linuxFica
Found linux image: /boot/vmlinuz-6.11.0-14-generic
Found initrd image: /boot/initrd.img-6.11.0-14-generic
Found linux image: /boot/vmlinuz-6.11.0-13-generic
Found initrd image: /boot/initrd.img-6.11.0-13-generic
Found linux image: /boot/vmlinuz-6.11.0
Found initrd image: /boot/initrd.img-6.11.0
Found linux image: /boot/vmlinuz-6.11.0.old
Found initrd image: /boot/initrd.img-6.11.0
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
done

Я также следовал руководству на https://kernelnewbies.org/KernelBuild

.

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

Чтобы разобраться с проблемой, когда GRUB не отображается или не распознает ядра, необходимо учитывать несколько моментов, связанных с загрузкой системы и безопасной загрузкой. Давайте рассмотрим возможные причины и решения такой ситуации, исходя из вашего описания проблемы и предоставленной информации.

Теория

GRUB (GRand Unified Bootloader) — загрузчик, который управляет выбором операционной системы при включении компьютера. У него есть конфигурационный файл, который можно редактировать, и, кроме того, он может быть настроен на использование безопасной загрузки (Secure Boot), если системы запущены на современных компьютерах с UEFI. Когда вы обновляете или устанавливаете новое ядро, GRUB должен его обнаружить и предложить его как один из вариантов для загрузки.

Однако в вашем случае наблюдаются две основные проблемы:

  1. GRUB не запускается должным образом или не отображает меню загрузки.
  2. Появляется ошибка "bad shim signature", что связано с безопасной загрузкой.

Детальная Анализ: Практический Пример

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

  1. Безопасная загрузка (Secure Boot): Ошибка "bad shim signature" указывает на проблемы с безопасной загрузкой. Если вы используете безопасную загрузку, все ядра и модули должны быть подписаны доверенными сертификатами. Возможно, ваше новое ядро не подписано соответствующими ключами, и система не допускает его загрузку.

  2. Конфигурация GRUB: Ваш файл /etc/default/grub показывает, что у вас значение GRUB_TIMEOUT=0, что означает, что меню GRUB может вообще не отображаться. Для отображения меню загрузки временно измените GRUB_TIMEOUT на другое значение, например 5, и обновите конфигурацию GRUB с помощью sudo update-grub.

  3. Обновление GRUB: Из того, что вы представили вывод команды update-grub, видно, что ваши новые ядра были обнаружены. Однако из-за ошибки сигнатуры могут возникнуть проблемы с загрузкой именно этого ядра. Убедитесь, что после установки нового ядра вы корректно обновили настройки GRUB.

  4. Шифрование диска и изменение раздела: Если ваша система использует UEFI, убедитесь, что загрузочный раздел правильно настроен. Аналогично, если использован один раздел для всей системы (что затрудняет управление), убедитесь, что он верно распознается при запуске системы.

  5. Установочные скрипты и конфликты версий: Ошибка может возникать из-за неправильно выполненных действий при компиляции и установке нового ядра. Убедитесь, что процесс сборки прошел без ошибок, и зависимости загружены корректно.

Применение Решений

  1. Отключите Secure Boot временно: Чтобы подтвердить, действительно ли Secure Boot вызывает проблему с загрузкой, попробуйте отключить его в настройках UEFI вашего BIOS. Это позволит загрузить неподписанное ядро и проверить, действительно ли проблема в сигнатурах.

  2. Измените настройки GRUB: Измените значение GRUB_TIMEOUT в файле /etc/default/grub на 5 или другое положительное число, сохраните изменения и выполните:

    sudo update-grub

    Это позволит вам увидеть меню GRUB во время загрузки и выбрать необходимое ядро.

  3. Подпишите ядро: Если вы хотите использовать Secure Boot, вам нужно подписать новое ядро с помощью соответствующих ключей. Это можно сделать с использованием утилит, таких как sbsign.

  4. Проверьте разметку диска и конфигурацию EFI: Убедитесь, что структура разделов и конфигурация EFI соответствуют требованиям UEFI. В частности, убедитесь, что ESP (EFI System Partition) доступен и содержит необходимые файлы загрузки.

  5. Логирование и подробная диагностика: Используйте журнал ошибок для выявления других потенциальных проблем, связанных с загрузкой ядра и модулями системы. Команды dmesg и просмотр файлов в /var/log/ могут предоставить ценную информацию о происходящем.

Эти действия должны помочь вам определить и устранить проблемы с загрузкой GRUB и ядра. Если ситуация не улучшится, возможно, имеет смысл обратиться к более подробной технической поддержке или провести дополнительные проверки оборудования и конфигурации.

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

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