O shell GRUB aparece após a reinicialização do Ubuntu, sem problemas após a reinicialização do Windows

0

Eu tenho um Asus E402SA com o seguinte layout de disco:

  • MMC interno de 30 GB
  • SSD de 250 GB

Instalei o Windows 10 no MMC e no Ubuntu 16.04 no SSD (ambos particionados com o esquema GPT). A partição EFI com arquivos de inicialização do Windows e do GRUB está localizada no MMC.

Quando inicializo o Windows, desligo, ligo novamente, tudo está bem: o menu GRUB aparece e eu posso escolher o Ubuntu ou o Windows.

Quando inicializo o Ubuntu, encerro e ligo, o shell do GRUB aparece sem nenhuma mensagem de erro. Isso continua acontecendo toda vez que eu desligo e volto a ligar o PC, até que eu inicialize o Windows novamente.

O comando exit traz o menu de volta, então isso não é um problema com o GRUB não encontrando arquivos de configuração. Além disso, se eu selecionar a entrada do GRUB no gerenciador de inicialização da BIOS, o shell não aparecerá e irá diretamente para o menu.

Eu procurei na internet, não encontrei nada similar. O quê poderia estar causando o problema? Isso poderia ser algum serviço do sistema (ou o próprio systemd) mexendo com o EFI vars?

Informações de depuração

saída bootinfoscript: link

    
por fbbdev 21.11.2016 / 11:27

1 resposta

0

Sua configuração coloca o binário do GRUB ( /boot/efi/EFI/ubuntu/grubx64.efi ) no MMC ( /dev/mmcblk0 ) e o arquivo de configuração do GRUB ( /boot/grub/grub.cfg ) no SSD ( /dev/sda ). Meu GUESS (deixe-me enfatizar novamente: GUESS ) é que o Ubuntu está de alguma forma fazendo algo para tornar o SSD invisível para o firmware quando o sistema for reinicializado, mas o Windows não está fazendo isso.

Você pode testar essa hipótese instalando um binário da shell EFI (consulte aqui para obter os ponteiros para alguns binários ), configurando o GRUB para fornecer uma opção para iniciá-lo (consulte aqui para obter informações sobre como iniciar binários EFI genéricos do GRUB) e iniciar o shell EFI nas condições em que o problema ocorre e quando não ocorre. Se minha hipótese está correta, o SSD deve aparecer na lista de dispositivos quando você faz uma inicialização a frio, mas não quando você reinicia a partir do Ubuntu. Infelizmente, a lista de dispositivos rola com frequência na parte superior da tela antes que você possa lê-la. Colocar um pequeno sistema de arquivos FAT no SSD irá ajudá-lo, já que você pode verificar se está presente ou não. (Ele será exibido como fs0: , fs1: ou algum outro dispositivo do sistema de arquivos se for visível.)

SE Estou certo, várias soluções ou soluções alternativas me ocorrem:

  • Ao usar o Ubuntu, desligue e reinicie em vez de reinicializar. Presumivelmente, isso é o que você está fazendo agora.
  • Reparticione seus dispositivos para que você tenha uma partição pequena (~ 500-1000 MiB) /boot no MMC. Você precisará reinstalar o GRUB assim que isso for feito. O resultado é que seu arquivo grub.cfg estará no MMC e tudo deve funcionar corretamente. Isso exigirá alguns malabarismos de partição, o que pode ser assustador se você não estiver familiarizado com essas coisas. (Como alternativa, você pode reinstalar o Ubuntu para que ele seja configurado dessa forma desde o início).
  • Atualize para o Ubuntu 16.10. Como o 16.10 usa um kernel diferente do 16.04, isso pode alterar o comportamento da reinicialização para funcionar melhor com o seu firmware. Isso não é garantido para funcionar, no entanto; é tanto um tiro no escuro quanto um longo tiro. (Uma vez lançado o Ubuntu 16.04.2, você poderá testá-lo, já que ele usará o mesmo kernel que o 16.10.)
  • Pesquise mais sobre o manuseio de discos no desligamento (ou talvez na inicialização), na esperança de encontrar uma opção de kernel que modifique quaisquer chamadas de sistema que estejam causando problemas. Por exemplo, há a opção reboot= do kernel (veja aqui para documentação) . Essa abordagem irá investigar os arquivos de documentação e experimentar sua configuração do carregador de boot, e NÃO garante resultados.

Boa sorte!

    
por Rod Smith 22.11.2016 / 19:59