Eu instalei recentemente o Fedora 18 usando a inicialização EFI. Como as outras distribuições linux atuais, ele configura o GRUB2 para mim.
Tenho experiência em reinstalar a versão do BIOS do GRUB quando as coisas dão errado. Eu sei, por exemplo, como inicializar um disco de recuperação, executar o chroot no sistema instalado, executar grub-install
e possivelmente update-grub
/ grubby
/ grub-mkconfig
.
Como eu reinstalaria a versão EFI do GRUB quando algo desse errado? (Eu sei que as coisas vão dar errado: eu as quebro).
fedora
grub
uefi
secure-boot
sourcejedi
fonte
fonte
efibootmgr
é suficiente para atualizar a entrada no menu UEFI. Eu não sei sobre reEndnd ou SHIM. Pessoalmente, não encadeio vários carregadores de inicialização. Todos os sistemas operacionais são adicionados ao menu de inicialização UEFI e estão funcionando perfeitamente.Respostas:
Primeiramente, você precisará de um sistema Linux inicializado por EFI . Se você ainda possui sua mídia de instalação original (CD / DVD / USB stick), isso geralmente deve incluir um sistema de resgate adequado. Pode até ter uma opção de reparo com um clique :).
Como alternativa, a comunidade Ubuntu fornece uma imagem automática de reparo de inicialização . Alega apoiar o Fedora. Se você quiser saber o que realmente faz, sugiro que você leia esta explicação de terceiros com antecedência.
No entanto, usei um sistema de resgate de uso geral com ferramentas de console. Além de dar suporte à inicialização EFI, verifiquei se
efibootmgr
está na lista de pacotes . Por acaso se chamava GRML e era baseado no Debian. Aqui estão as informações sobre as ferramentas do console e o grub-efi que descobri ao resgatar meu sistema Fedora:Ao executar um sistema Fedora 18 inicializado pelo EFI, não execute
grub2-install
. Ele reivindicará sucesso, mas interrompe o sistema de inicialização grub-efi do Fedora.O arquivo
/boot/EFI/fedora/grub.efi
é instalado pelo pacote grub-efi. Se você não desejar reinstalá-lo, useyum reinstall grub-efi
. (Para fazer isso a partir de um sistema de resgate genérico, você pode fazer isso depoismount
ing echroot
ing em seu sistema Fedora instalado). O Fedora grub-efi usa o arquivo de configuração/boot/EFI/fedora/grub.cfg
(provavelmente gerado pelo grubby). O Fedora no EFI não gerará um arquivo em/boot/grub2/grub.cfg
. A execuçãogrub2-install
substituirá o grub.efi por uma imagem que tente ler/boot/grub2/grub.cfg
e, portanto, falhará.grub2-install
instala uma entrada de inicialização EFI paragrub.efi
. No entanto, se você não desabilitou a Inicialização Segura no firmware certificado pelo Windows 8, esta entrada falhará na inicialização. Você precisa inicializarshim.efi
(ignoreshim-fedora.efi
, não sei exatamente o que é isso). Ver abaixo.Você pode perder sua entrada de inicialização EFI para o Fedora se as configurações de firmware forem redefinidas. (Manualmente, ou por atualização de firmware, ou porque o firmware está com erros - o último foi relatado na natureza). Veja como criar manualmente uma entrada de inicialização EFI para o Fedora com inicialização segura:
Este exemplo usa a partição número 100 no primeiro disco padrão reconhecido pelo linux. Você deve ajustar as opções
-d /dev/sda
e-p 100
identificar o sistema de arquivos no qual o Fedora monta/boot/efi
. Esta é uma partição do sistema EFI. O instalador do Fedora criou um ESP dedicado para sua instalação do Fedora, separado dos ESPs usados por qualquer outro sistema operacional. ( Isso é diferente do Ubuntu e do OpenSUSE ).Observe que o
efibootmgr
comando requer que você o execute a partir de um sistema inicializado por EFI.fonte
/EFI/boot/bootx64.efi
(assumindo UEFI de 64 bits). É exatamente assim que a mídia de instalação USB funciona (nada além de CDs / DVDs). Pode ser suficiente copiar o shim.efi para lá, mas não tenho certeza se isso está configurado para funcionar ou não.Se você estiver inicializando com o UEFI Windows, há outra possibilidade. que não requer um disco de recuperação.
Você pode inicializar no Windows, abrir uma linha de comando com privilégios de administrador e executar o seguinte comando:
Isso substituirá a entrada de inicialização do Windows no UEFI por uma que inicialize no GRUB. Supondo que o menu do GRUB inclua uma entrada funcional para Windows, agora você tem a inicialização dupla :-). Espero que tudo isso funcione sem desativar a Inicialização Segura.
Eu só tive que fazer isso depois de uma atualização do Windows e parece ter feito o truque.
Fonte e mais informações: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/ .
fonte
bcdedit.exe
vez da entrada do Windows, como o seu comando).https://fedoraproject.org/wiki/GRUB_2?rd=Grub2#Updating_GRUB_2_configuration_on_UEFI_systems :
dnf reinstall grub2-efi grub2-efi-modules shim
(supondo que você já tenha esses pacotes instalados e que exista uma configuração anterior)
fonte
grub2-mkconfig -o /boot/grub2/grub.cfg
(ou em um (U) EFI sistema seria algo comogrub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
não funcionou.?dnf reinstall
e, se for verdade, parece ótimo.Apenas para simplificar, aqui é tudo o que você faz:
NÃO execute o grub2-install, pois ele interromperá o sistema apresentando um menu de inicialização em branco do grub (isso ocorre porque o grub2-install fornecerá um arquivo .efi ruim / genérico que tenta carregar o grub.cfg a partir do local errado.
Além disso, convém atualizar o grub-config se você migrou para novos discos ou se sua partição / layout foi alterada com:
fonte
-o
. Não sei ao certo quão útil é a resposta simples - não que a minha seja estritamente mais útil, mas isso pressupõe que você ainda é capaz de inicializar o sistema Fedora de alguma forma, ou você percebeu que cometeu um erro antes de desligar. (Minha resposta é sobre os discos de resgate genéricos, mas o AFAIK é necessário executar o chroot na instalação, certificando-se de montar os sistemas de arquivos necessários ... essa é a coisa boa de um sistema de resgate especializado como o instalador do Debian, ele executa o mount + chroot para voce).