Fedora не загружается после установки на EFI-систему.

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

Я только что установил Fedora 30 на свой ноутбук, который поддерживает EFI. До этого была установлена Windows, и после установки Fedora загрузка просто исчезла. Я уверен, что Fedora установлена правильно, так как я вижу её загрузчик (в разделе разделов) при попытке переустановить её. Теперь на черном экране просто одно сообщение:

Перезагрузите и выберите правильное устройство загрузки
Или вставьте загрузочный носитель в выбранное устройство и нажмите клавишу

Я пытался изменить настройки BIOS. Но в списке загрузки нет опции для Fedora. Как мне это исправить?

Обновление: Я переустановил Fedora, и проблема была решена. Тем не менее, вопрос все еще остается. Можно ли было исправить это без переустановки?

Я не могу оставить комментарий, поэтому позвольте мне опубликовать это как ответ, который вскоре будет удален: на прошлой неделе у меня была та же проблема. Могло ли быть так, что вы установили Windows в режиме UEFI, а Fedora в режиме Legacy, или наоборот?

Похоже, что переменные загрузки UEFI NVRAM каким-то образом были стерты. Есть несколько способов восстановиться от этого без переустановки.

Самый простой способ, вероятно, — загрузиться (в режиме UEFI) с установочного носителя Fedora в режиме восстановления, перейти в существующую установку с помощью chroot и выполнить grub2-install. Это перепишет загрузчик GRUB (+ Secure Boot shim, если установлен) в разделе EFI System Partition (что в данном случае не обязательно, но не повредит) и восстановит переменную загрузки NVRAM, указывающую на неё (что и является настоящим решением).

Если вы хотите упростить будущее восстановление из аналогичной ситуации и не используете двойную загрузку, вы можете добавить опцию --force-extra-removable. Это добавит вторую копию загрузчика GRUB/Secure Boot shim как /boot/efi/EFI/BOOT/BOOTx64.efi, что является UEFI путем загрузки с переносного носителя/резервным путем для оборудования x86 64 бит: если нет действительных переменных загрузки NVRAM или вы используете меню BIOS, чтобы указать системе загружаться с определенного диска в режиме UEFI, эта путь будет тем, что прошивка системы будет искать.

Другой способ заключается в том, чтобы загрузиться с любого Linux-носителя, который позволяет использовать команду efibootmgr. С её помощью вы можете восстановить переменную загрузки с помощью команды:

efibootmgr -c -d /dev/sdX -p Y -l \\EFI\\fedora\\shimx64.efi -L Fedora

где:

  • /dev/sdX — это диск, содержащий ваш EFI System Partition (ESP)
  • Y — это номер раздела вашего ESP
  • \\EFI\\fedora\\shimx64.efi — это путь к файлу загрузчика .efi, который должна загружать прошивка, представленный в формате Windows, начиная с корневого каталога раздела ESP. Обратные слеши удваиваются, так как одинокий обратный слеш является специальным символом экранирования для оболочек в стиле Unix.
  • и Fedora — это просто человекочитаемая метка, которая будет видна в меню BIOS.

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

Если вы столкнулись с проблемой запуска Fedora после установки на систему с UEFI, важно придерживаться систематического подхода для её решения. В вашем случае, система отображает сообщение: "Reboot and Select proper Boot device Or Insert Boot Media in selected Boot device and press a key". Это указывает на то, что BIOS не может найти загрузочный диск. Давайте рассмотрим несколько шагов, которые помогут вам исправить эту проблему.

1. Проверка режима установки системы

Одной из частых причин проблем с загрузкой может быть несовпадение режимов установки Windows и Fedora. Убедитесь, что обе операционные системы установлены в одном режиме: либо в режиме UEFI, либо в режиме Legacy (BIOS). Чтобы проверить это:

  • Перейдите в настройки BIOS/UEFI и посмотрите, какой режим активен.
  • Если Windows была установлена в UEFI, убедитесь, что Fedora также установлена в том же режиме.

2. Восстановление загрузчика GRUB

Если у вас есть доступ к установочному носителю Fedora, вы можете использовать его для восстановления загрузчика GRUB:

  1. Загрузитесь с установочного носителя Fedora и выберите режим восстановления (rescue mode).

  2. Откройте терминал и выполните следующие команды:

    mount /dev/sdXY /mnt  # Замена sdXY на ваше корневое устройство Fedora
    mount --bind /dev /mnt/dev
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys
    chroot /mnt
  3. Установите GRUB и обновите конфигурацию:

    grub2-install --boot-directory=/boot /dev/sdX  # Укажите диск, где установлен Fedora
    grub2-mkconfig -o /boot/grub2/grub.cfg
  4. Выход из chroot и перезагрузка:

    exit
    umount /mnt/dev
    umount /mnt/proc
    umount /mnt/sys
    umount /mnt
    reboot

3. Восстановление переменных загрузки NVRAM

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

  1. Загрузитесь с любого Linux-носителя, который позволяет использовать efibootmgr.

  2. Выполните команду для создания новой загрузочной записи:

    efibootmgr -c -d /dev/sdX -p Y -l \\EFI\\fedora\\shimx64.efi -L Fedora

    Здесь:

    • /dev/sdX — диск, содержащий ваш EFI System Partition (ESP)
    • Y — номер раздела ESP
    • \\EFI\\fedora\\shimx64.efi — путь к загрузчику Fedora (обратите внимание на двойные обратные слэши)
    • Fedora — имя, которое будет отображаться в меню BIOS.

4. Дополнительные меры предосторожности

Для предотвращения подобных ситуаций в будущем вы можете добавить параметр --force-extra-removable при установке GRUB. Это создаст резервную копию загрузчика по пути /boot/efi/EFI/BOOT/BOOTx64.efi, что обеспечит возможность загрузки даже в случае отсутствия переменных NVRAM.

Заключение

Если у вас остались вопросы о восстановлении загрузки Fedora или UEFI, не стесняйтесь обращаться за помощью на форумы сообщества или к профессиональным техникам. Помните, что правильная конфигурация и режимы установки играют ключевую роль в стабильной работе вашей системы.

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

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