Grub não carregando o arquivo de configuração ou inicializando no linux automaticamente

1

Eu estava tentando dual boot elementary com windows no meu laptop (Asus Zenbook UX305). Para fazer isso eu encolhi a partição do windows usando o gerenciador de disco do windows, e então usei a opção "install with windows" do instalador Elementary para configurar as partições do linux automaticamente. Quando reiniciei a instalação, fui colocado no console do grub. Consegui inicializar o linux manualmente com os comandos

grub> set root=(hd0,gpt4)
grub> linux /boot/vmlinuz-3.19.0-26-generic root=/dev/sda4
grub> initrd /boot/initrd.img-3.19.0-26-generic
grub> boot  

e descobri que executar o comando

grub> configfile (hd0,gpt4)/boot/grub/grub.cfg

carregaria o menu normal do grub como deveria acontecer - então parece não haver problemas com o próprio arquivo de configuração. Eu também achei que a raiz e o prefixo estão em (hd0, gpt1), então rodando

grub> set root=(hd0,gpt4)
grub> set prefix=(hd0,gpt4)/boot/grub
grub> insmod normal
grub> normal

também carregou o menu normal do grub. Então possivelmente o problema é que o grub está procurando na partição errada?

Na minha BIOS, eu tenho uma escolha entre usar o grub e o bootloader do windows para inicializar. A seleção do bootloader do Windows inicializa-me diretamente no Windows sem problemas.

No entanto, não consigo encontrar nenhuma maneira de obter qualquer correção após a reinicialização. Eu tentei executar novamente o grub-install /dev/sda , recriar o arquivo de configuração com grub-mkconfig e usar a ferramenta de reparo do boot da Debian - nada disso funcionou. Existe alguma maneira de corrigir este curto de reinstalar um ou ambos os sistemas operacionais? Eu prefiro não ter que reinstalar o Windows, se possível.

    
por user34703 29.09.2015 / 12:52

1 resposta

2

Parece que o menu GRUB está falhando ao carregar porque está lendo um arquivo de efi incorreto em /boot/efi/EFI/grub/ .

Depois de inicializar no elementaryOS, execute os seguintes comandos para substituir o arquivo grubx64.efi nessa pasta.

cd /boot/efi/EFI/grub
sudo cp grubx64.efi grubx64.efi.backup (just in case)
sudo rm grubx64.efi
sudo cp /boot/grub/x86_64-efi/grub.efi /boot/efi/EFI/grub/grubx64.efi

Esta solução vem de usuários discutindo um bug reportado no elementaryOS. Veja detalhes em: link

Eu enfrentei exatamente o mesmo problema que você (eu instalei o elementaryOS Freya 0.3.1 ao lado do Windows 10) e segui as etapas que você descreveu antes de encontrar essa solução.

Vale a pena notar que, antes de aplicar a correção, eu havia desativado a inicialização rápida no Windows 10, o que pode ou não ter um efeito. Consulte o link

Além disso, tive que desativar a inicialização segura para que isso funcionasse. Com a inicialização segura ativada, meu UX305 não conseguiu carregar o grub completamente. Pressione a tecla Esc na primeira tela na inicialização, entre na configuração e desligue a inicialização segura a partir daí. Alternativamente, pode haver uma maneira de obter inicialização segura para funcionar, mas estou feliz com essa solução por enquanto - meu UX305 agora carrega o menu GRUB completo com uma opção do Windows!

    
por 06.12.2015 / 14:17