Я недавно установил Fedora 18 с помощью загрузки EFI. Как и другие текущие дистрибутивы Linux, он настраивает GRUB2 для меня.
У меня есть опыт переустановки BIOS версии GRUB, когда что-то идет не так. Я знаю, например, как загрузить аварийный диск, выполнить загрузку в установленную систему, запустить grub-install
и, возможно, update-grub
/ grubby
/ grub-mkconfig
.
Как мне переустановить EFI версию GRUB, если что-то пойдет не так? (Я знаю, что что-то пойдет не так: я их сломаю).
fedora
grub
uefi
secure-boot
sourcejedi
источник
источник
efibootmgr
для обновления записи в меню UEFI. Я не знаю о REFInd или SHIM. Я лично не объединяю несколько загрузчиков. Все операционные системы добавлены в загрузочное меню UEFI, и оно работает отлично.Ответы:
Во-первых, вам понадобится EFI-загруженная система Linux. Если у вас все еще есть исходный установочный носитель (CD / DVD / USB-флешка), на нем обычно должна быть соответствующая спасательная система Это может даже иметь возможность ремонта одним щелчком :).
В качестве альтернативы, сообщество Ubuntu предоставляет образ для автоматического восстановления загрузки . Он утверждает, что поддерживает Fedora. Если вы хотите узнать, что на самом деле делает, я предлагаю вам прочитать это стороннее объяснение заранее.
Однако я использовал спасательную систему общего назначения с консольными инструментами. Помимо поддержки загрузки EFI, я убедился, что
efibootmgr
находится в списке пакетов . Он называется GRML и основан на Debian. Вот информация об инструментах консоли и grub-efi, которые я обнаружил, когда спасал свою систему Fedora:При запуске системы Fedora 18, загруженной EFI, не запускайте
grub2-install
. Он будет претендовать на успех, но сломает загрузочную систему Fedora grub-efi.Файл
/boot/EFI/fedora/grub.efi
устанавливается пакетом grub-efi. Если вы действительно хотите переустановить его, использоватьyum reinstall grub-efi
. (Чтобы сделать это из общей системы аварийного восстановления, вы можете сделать это послеmount
загрузки и установкиchroot
в установленную вами систему Fedora). Fedora grub-efi использует файл конфигурации/boot/EFI/fedora/grub.cfg
(предположительно, сгенерированный grubby). Fedora на EFI не будет создавать файл в/boot/grub2/grub.cfg
. Выполнениеgrub2-install
заменит grub.efi изображением, которое пытается прочитать/boot/grub2/grub.cfg
, и поэтому потерпит неудачу.grub2-install
устанавливает загрузочную запись EFI дляgrub.efi
. Однако, если вы не отключили Secure Boot в вашей прошивке, сертифицированной для Windows 8, эта запись не сможет загрузиться. Вам нужно загрузитьshim.efi
вместо этого (игнорироватьshim-fedora.efi
, я не уверен, что именно это). См. ниже.Вы можете потерять загрузочную запись EFI для Fedora, если ваши настройки прошивки сброшены. (Вручную, либо путем обновления прошивки, либо из-за того, что прошивка глючит - последнее было сообщено в дикой природе). Вот как вручную создать загрузочную запись EFI для Fedora с безопасной загрузкой:
В этом примере используется номер раздела 100 на первом стандартном диске, распознаваемом Linux. Вы должны настроить параметры
-d /dev/sda
и-p 100
определить файловую систему, в которой монтируется Fedora/boot/efi
. Это системный раздел EFI. Установщик Fedora создаст специальный ESP для вашей установки Fedora отдельно от ESP, используемых любой другой операционной системой. ( Это отличается от Ubuntu и OpenSUSE ).Обратите внимание, что
efibootmgr
команда требует, чтобы вы запускали ее из системы с EFI-загрузкой.источник
/EFI/boot/bootx64.efi
(при условии 64-битного UEFI). Именно так работают установочные носители USB (все, кроме CD / DVD). Этого может быть достаточно, чтобы скопировать shim.efi, но я не уверен, настроен ли он на работу или нет.Если у вас двойная загрузка с UEFI Windows, есть еще одна возможность. который не требует восстановления диска.
Вы можете загрузиться в Windows, открыть командную строку с правами администратора и выполнить следующую команду:
Это заменит загрузочную запись Windows в UEFI на загрузочную в GRUB. Предполагая, что ваше меню GRUB включает в себя рабочую запись для Windows, у вас теперь работает двойная загрузка :-). Надеюсь, все это будет работать без отключения Secure Boot.
Я только что должен был сделать это сам после обновления Windows, и, похоже, все получилось.
Источник и дополнительная информация: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/ .
источник
bcdedit.exe
вместо записи Windows, как это делает ваша команда).https://fedoraproject.org/wiki/GRUB_2?rd=Grub2#Updating_GRUB_2_configuration_on_UEFI_systems :
dnf reinstall grub2-efi grub2-efi-modules shim
(при условии, что эти пакеты уже установлены и предыдущая конфигурация существует)
источник
grub2-mkconfig -o /boot/grub2/grub.cfg
(или в системе (U) EFI это было бы что-то вродеgrub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
. Не сработало?dnf reinstall
, и если это правда, это звучит довольно здорово.Просто для простоты вот все, что вы делаете:
НЕ запускайте grub2-install, это сломает вашу систему, предоставив вам пустое меню загрузки grub (это потому, что grub2-install выдаст вам плохой / общий файл .efi, который пытается загрузить grub.cfg из неправильного места.
Кроме того, вы можете обновить ваш grub-config, если вы перешли на новые диски или ваш раздел / макет изменился с помощью:
источник
-o
. Мне непонятно, насколько полезен простой ответ - не то, что мой строго более полезен, но это предполагает, что вы все еще можете каким-то образом загрузить систему Fedora, или вы заметили, что допустили ошибку, прежде чем завершить работу. (Мой ответ волнует насчет универсальных аварийных дисков, но, AFAIK, вам нужно выполнить chroot в установке, убедившись, что вы смонтировали все необходимые файловые системы ... это хорошо в специализированной спасательной системе, такой как установщик Debian, она выполняет mount + chroot для вас).