A ferramenta Reparo de inicialização está criando cada vez mais coisas complicadas, criando muitas cópias de backup de muitos arquivos do carregador de inicialização. Existem várias maneiras de resolver esse problema. Aqui está uma delas:
- Faça backup de sua partição de sistema EFI (ESP), que é
/dev/sda1
no seu caso e está montada em/boot/efi
. Um backup baseado em arquivo (usandotar
oucp
, por exemplo) deve fazer bem. Isso permitirá que você recupere se as coisas correrem mal. - Instale meu gerenciador de inicialização do rEFInd . Isto é mais facilmente feito instalando o pacote Debian.
- Reinicie. rEFInd deve aparecer e mostrar as opções de inicialização para o Ubuntu e o Windows.
- Teste cada uma das opções de rEFInd, anotando o nome do arquivo especificado em cada e o que ele faz. (Alguns podem não ter esses nomes de arquivos. Um deles com um ícone do Windows provavelmente será um deles, mas ele provavelmente lançará o GRUB.) Certifique-se de poder inicializar o Linux e o Windows a partir de rEFInd.
- No Linux, abra um shell e mude para o diretório
/boot/efi
, que é o EFI System Partition (ESP), no qual os carregadores de inicialização são armazenados. - Exclua os carregadores de boot que não funcionaram quando você os testou ou copie-os em um local de backup (digamos,
/boot/efi/backups
). Faça o mesmo com os duplicados - se dois carregadores de inicialização lançaram o GRUB, por exemplo, você pode excluir ou mover um deles. - Mova o gerenciador de inicialização que realmente ativou o Windows (se ele foi identificado por nome de arquivo no menu principal do rEFInd) para
/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
. É aqui que deveria pertencer. O Boot Repair copiou para outro nome de arquivo, então você está apenas copiando-o de volta. - Se você puder inicializar o Linux diretamente por meio de uma entrada
vmlinuz-3.5.0-23-generic
, provavelmente poderá excluir o GRUB ou descomentar a linhadont_scan_files
em/boot/efi/EFI/refind/refind.conf
e adicionargrubx64.efi
à sua lista.
Se tudo correr bem, você deve estar inicializando via rEFInd, que deve apresentar uma lista bem menor de opções de inicialização. Se ainda houver muitos, tente localizar os arquivos errados e excluí-los, se achar apropriado, ou use as opções dont_scan_files
, dont_scan_dirs
ou dont_scan_volumes
em /boot/efi/EFI/refind/refind.conf
para manter o restante itens fora da lista de inicialização. Essa "lista negra" pode ser útil para manter os links de /vmlinuz
a /boot/vmlinuz-3.5.0-23-generic
fora da lista de inicialização, se o sistema tiver um link simbólico.
Observe que o rEFInd verifica os carregadores de inicialização em cada inicialização, para que ele capture automaticamente novos kernels ao instalá-los.
Se preferir continuar usando o GRUB, você pode fazer algo conceitualmente semelhante ao meu procedimento, mas precisará examinar o arquivo /boot/grub/grub.cfg
e fazer referência cruzada às suas anotações sobre quais entradas do carregador de inicialização funcionam e quais não trabalhe para descobrir quais arquivos deletar. Você precisará usar update-grub
para reescrever seu arquivo grub.cfg
. Seu arquivo grub.cfg
atual também tem entradas no modo BIOS para iniciar o Windows, que são inúteis, e não sei como evitar que update-grub
as capte, se é que foi assim que elas chegaram lá.
Boa sorte!