Eu instalei o Fedora na minha máquina com /
partição, swap
partição e ESP
partição para inicialização EFI.
Agora, eu estava instalando o Elementary OS em vez do Fedora.
/
Formatei a partição (/ dev / sda3)- Formatou a partição swap (/ dev / sda4)
- Mas não formatou a partição de inicialização EFI (/ dev / sda1)
Agora, quando eu inicializo, recebo meu menu grub antigo que foi instalado pelo Fedora. Só consigo inicializar no sistema operacional elementar por:
- Entrando no menu de inicialização.
- Selecionando a inicialização do arquivo EFI
- Navegue até
/dev/sda1/
oelementary
diretório que contém ogrubx64.efi
arquivo. Qual é/boot/efi/EFI/elementary/grubx64.efi
.
Como posso corrigir isso? Pensei em formatar a partição de boot /dev/sda1/
com fat16
ou alguma coisa, então re-instalar o grub nele.
Meu /dev/sda1
agora contém isso:
root@rafael:/home/rafael# ls /boot/efi/
EFI mach_kernel System
root@rafael:/home/rafael# ls /boot/efi/EFI/
BOOT/ elementary/ fedora/
root@rafael:/home/rafael# ls /boot/efi/EFI/fedora/
BOOT.CSV fonts gcdx64.efi grub.cfg grubx64.efi MokManager.efi shim.efi shim-fedora.efi
root@rafael:/home/rafael# ls /boot/efi/EFI/elementary/
grubx64.efi
Aqui está a minha efibootmgr
saída:
BootCurrent: 003D
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* Notebook Hard Drive
Boot0010* Internal CD/DVD ROM Drive
Boot0011* Internal CD/DVD ROM Drive (UEFI)
Boot0012* Fedora
Boot0013* Fedora
Boot0014* Fedora
Boot0015* Fedora
Boot0016* Fedora
Boot0017* Fedora
Boot0018* Fedora
Boot0019* Fedora
Boot001A* Fedora
Boot001B* Fedora
Boot001C* Fedora
Boot001D* Fedora
Boot001E* Fedora
Boot001F* elementary
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Qualquer ajuda seria apreciada.
efibootmgr
saída para que seja possível ver se a entrada do elementary está lá (parece que não é, mas é claro). Você também pode gostar de refind como seu gerenciador de inicialização. Caso você queira dar uma olhada rápida no E17 nesse sistema, há uma imagem que funciona (link ISO 490M), bem como instantâneos semanais . Provavelmente é inferior em relação à E polis #efibootmgr
saída.Respostas:
Não sei por que você está usando o grub em primeiro lugar. O UEFI atua como um carregador de inicialização e permite selecionar diferentes sistemas operacionais ou kernels individuais em um menu de inicialização. Embora existam algumas exceções, geralmente não é necessário encadear um segundo carregador de inicialização, grub neste caso.
Você mencionou que instalou o sistema operacional elementar em vez do Fedora, o que significa que você só precisa carregar um sistema operacional. Aqui apresento uma maneira de fazer isso sem usar o grub. O kernel precisa ser compilado com EFI_STUB, se for esse o caso, você pode verificar com
Copie o kernel e o initramfs para o ESP (partição do sistema EFI)
Registrar o kernel como opção de inicialização no UEFI
O
--disk
argumento usa o nome do dispositivo do disco, por exemplo--disk /dev/sda
, o--part
argumento usa o número da partição do ESP, por exemplo 4. Você pode encontrar o número da partição do ESP com o seguinte comando:Certifique-se de repetir as etapas após cada atualização do kernel
Você faz isso manualmente (basta repetir as etapas acima) ou escreve um pequeno script que faz o trabalho. Para automatizá-lo completamente, o script pode ser conectado ao procedimento de pós-instalação do kernel, ao procedimento de pós-atualização do initramfs e ao procedimento postrm do kernel (para remover a entrada de inicialização UEFI). Na verdade, não sei por que isso não é feito por padrão nas distribuições, são apenas algumas linhas de código.
fonte
grep EFI_STUB /boot/config-3.2.0-49-generic
mas não consegui nada.Eu fiz isso !
Primeiro, removi todas as entradas de inicialização desnecessárias:
Em seguida, reformatando a partição ESP com
FAT32
sistema de arquivos.Em seguida, instale o grub para
/dev/sda
NÃO/dev/sda1
fonte