Estou um pouco confuso em alguns detalhes do que está acontecendo, mas aqui estão alguns dos principais pontos da saída do seu script de informações de inicialização:
sda1: __________________________________________________________________________
File system: vfat
Boot sector type: Windows 7: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /EFI/Boot/bootx64.efi /EFI/Boot/bootx64.efi.bkp
/EFI/ubuntu/grubx64.efi
/EFI/Microsoft/Boot/bootmgfw.efi
/EFI/Microsoft/Boot/bootmgfw.efi.bkp
/EFI/Microsoft/Boot/bootmgr.efi
/EFI/Microsoft/Boot/bootx64.efi
/EFI/Microsoft/Boot/bootx64.efi.grb
/EFI/Microsoft/Boot/memtest.efi
Esta é sua partição de sistema EFI (ESP), que contém os carregadores de inicialização no modo EFI. Normalmente, esses arquivos terminam em .efi
; no entanto, algumas ferramentas do Linux (como o Boot Repair, se eu entendi corretamente) renomeiam os arquivos originais do Windows com .bkp
extensões e as substituem por cópias do GRUB. Esta parece ser uma medida para contornar determinadas EFIs com bugs que ignoram a lista usual de carregador de inicialização NVRAM e apenas inicializam EFI/Microsoft/Boot/bootmgfw.efi
ou EFI/BOOT/bootx64.efi
diretamente.
Aqui está um pouco mais tarde na saída do Boot Info Script, tirada do arquivo de configuração do GRUB:
menuentry "Windows UEFI loader" {
search --fs-uuid --no-floppy --set=root CA62-F337
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi.bkp
}
menuentry "Windows Boot UEFI bootx64.efi.bkp" {
search --fs-uuid --no-floppy --set=root CA62-F337
chainloader (${root})/EFI/Boot/bootx64.efi.bkp
}
Isso mostra que o GRUB está configurado para inicializar seu carregador de inicialização renomeado; mas esta ação não está funcionando. Tanto quanto eu posso dizer, essas entradas estão corretas; mas o GRUB parece ser bastante complexo em sua configuração de carregamento em cadeia EFI, que essas entradas utilizam. Às vezes, o que funciona em um sistema falha em outro. Você pode tentar editar o arquivo para adicionar algo assim:
menuentry "Windows 7" {
insmod part_gpt
insmod chain
set root='(hd0,gpt1)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi.bkp
}
Se isso funcionar, adicione a entrada ao seu arquivo /etc/grub.d/40_custom
para que ele seja incluído sempre que o GRUB recriar seu arquivo de configuração grub.cfg
.
Outra opção é instalar outro gerenciador de inicialização ou gerenciador de inicialização a ser usado em vez de ou além do GRUB. Minha primeira recomendação é rEFInd, mas sou tendenciosa porque eu a mantenho. Tem a vantagem de ser fácil de instalar: faça o download, extraia o arquivo e execute o script install.sh
no Linux. Infelizmente, os arquivos de inicialização renomeados do Windows representam um problema, portanto, você precisará renomeá-los para seus formulários originais ou criar sub-rotinas de inicialização manuais no arquivo refind.conf
do rEFInd para iniciar os carregadores de inicialização reais do Windows. Depois de fazer isso, quando você reiniciar, você verá uma entrada para o Windows, que deve funcionar com alguma sorte. Você também verá uma entrada do Ubuntu, que deve iniciar o GRUB.
Se o rEFInd funcionar, você pode considerar uma nova reconfiguração que fará com que o rEFInd inicialize o Linux diretamente, sem envolver o GRUB. Este tópico é descrito na página de documentação do rEFInd, descrevendo os métodos de inicialização do Linux. Em suma, se você copiar o kernel do Linux e o arquivo de disco RAM inicial para o diretório raiz do ESP ou um subdiretório de EFI
no ESP, e coloque um arquivo refind_linux.conf
com suas opções de kernel no mesmo diretório, o rEFInd poderá iniciar o kernel diretamente. Se você manipular um pouco seus pontos de montagem, o rEFInd poderá detectar quando você instalar os kernels atualizados.