/boot/grub/grub.cfg tem duas versões diferentes do Linux e o Windows Loader perdido

0

Estou executando um sistema Alienware dualboot UEFI (Windows 8.1 - Ubuntu 16.04) usando o grub2. Depois de um dist-upgrade normal, encontrei a nova atualização do kernel '4.4.0-57' que deve substituir '4.4.0-53'. No entanto, eu perdi a entrada do windows 8.1 no Grub2 e agora só posso inicializar o Ubuntu, o update-grub não funcionou para mim; Eu verifiquei /boot/grub/grub.cfg e isso me deu isso.

grub.cfg

Alguma idéia?

EDITAR: Boot-repair summery link

    
por AbodyRulez 20.12.2016 / 23:55

1 resposta

1

O script update-grub deve estar pegando o gerenciador de partida do Windows, já que é presente, como mostrado aqui:

sda2:
__________________________________________________________________________
    File system:       vfat
    Boot sector type:  Windows 8/2012: FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /EFI/Boot/bootx64.efi /EFI/ubuntu/MokManager.efi 
                       /EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi 
                       /EFI/ubuntu/shimx64.efi 
                       /EFI/Microsoft/Boot/bootmgfw.efi 
                       /EFI/Microsoft/Boot/bootmgr.efi 
                       /EFI/Microsoft/Boot/memtest.efi

Observe a presença de /EFI/Microsoft/Boot/bootmgfw.efi , que é o carregador de inicialização do Windows. Minha hipótese inicial é que um erro no script update-grub está fazendo com que ele omita o carregador de inicialização do Windows por algum motivo desconhecido. Duas soluções alternativas vêm à mente ...

Opção nº 1

Abra o arquivo /etc/grub.d/40_custom em um editor de texto e adicione as seguintes linhas a ele:

menuentry "Windows 8.1" {
    set root='(hd0,gpt2)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Observe que essas linhas são personalizadas para seu sistema específico e podem precisar ser ajustadas caso alguém precise implementar essa correção. A especificação (hd0,gpt2) , em particular, identifica onde os arquivos do carregador de inicialização do Windows estão ativos. Além disso, existem muitas variantes nesta entrada de inicialização que podem ser tentadas. Fazer uma pesquisa na Web em entradas de inicialização personalizadas no GRUB pode ser informativo.

Com este arquivo editado, digite sudo update-grub e verifique grub.cfg ou reinicialize para ver o efeito. Com alguma sorte, uma entrada do GRUB 2 para o Windows será adicionada e funcionará. Se a entrada não funcionar, qualquer mensagem de erro que o GRUB emita quando você tentar a entrada pode ser informativa.

Opção nº 2

Esta solução alternativa é baseada no pressuposto de que os recursos de inicialização rápida do Windows e / ou de hibernação estão causando danos sutis ao sistema de arquivos que estão causando a falha de update-grub . Assim, o objetivo é desabilitar esses recursos do Windows. Para fazer isso, você deve primeiro inicializar o Windows. No processo de tentativa, você também testará outro gerenciador de inicialização que pode funcionar melhor que o GRUB, mesmo que o dano no sistema de arquivos não seja a causa do problema. Para tentar essa abordagem:

  1. Faça o download da unidade flash USB ou da versão em CD-R do meu gerenciador de inicialização do rEFInd. (Links para download de ambos estão nessa página.)
  2. Prepare uma mídia de inicialização a partir do arquivo que você baixa.
  3. Reinicialize a mídia de inicialização do rEFInd. (Você provavelmente precisará usar o gerenciador de inicialização do seu firmware para fazer com que ele inicialize na mídia removível, como você presumivelmente fez ao instalar o Ubuntu.)
  4. rEFInd deve mostrar as entradas para o Windows e o Ubuntu. Em caso afirmativo, inicialize no Windows.
  5. No Windows, desative a inicialização rápida e o modo de hibernação, conforme descrito aqui e aqui , respectivamente
  6. Reinicie para o Ubuntu.
  7. Experimente novamente sudo update-grub .
  8. Se isso ainda não funcionar, mas se o rEFInd lhe oferecer a opção de inicializar o Windows, instale o rEFInd usando o pacote PPA ou Debian. Isso tornará o rEFInd o carregador de inicialização padrão; desde que funcionou, essa etapa contorna o GRUB ainda problemático (para você) em favor do rEFInd em funcionamento (para você).

Se rEFInd não mostrar uma opção para inicializar o Windows na etapa 4, ou se essa opção não funcionar, o problema será mais profundo do que aparece na saída do Boot Info Script. Meu palpite se esse é o caso é que o arquivo do carregador de inicialização do Windows foi danificado. Se acontecer de você ter um backup, restaurar o arquivo do backup pode corrigir o problema. Se não, você deve perguntar em um fórum do Windows sobre recuperação.

    
por Rod Smith 21.12.2016 / 18:50