Usar o Boot Repair, como o MariusMatutiae sugere, pode funcionar; No entanto, esse programa às vezes faz mais do que é sábio, então eu prefiro evitá-lo. Existem pelo menos três soluções menos radicais:
Solução 1: Use o Firmware
Muitas EFIs fornecem um gerenciador de inicialização integrado que permite ajustar a ordem de inicialização. Sua entrada Ubuntu / GRUB provavelmente ainda existe, então tudo que você precisa fazer é ajustar a ordem de inicialização usando o firmware. O problema com essa abordagem é que os utilitários de configuração EFI variam tanto que é impossível fornecer instruções universalmente aplicáveis sobre como fazer isso. Se o seu firmware suportar esse recurso, é provável que seja a maneira mais simples de fazê-lo - uma vez que você descubra como chegar à opção!
Solução 2: use bcdedit no Windows
A ferramenta bcdedit do Windows pode adicionar um carregador de inicialização não-Windows à lista de inicialização. O truque é descobrir o que é o arquivo. Você pode fazer assim:
- Inicialize no Windows
- Abra uma janela do prompt de comando Administrador . (Não use um shell de terceiros para isso. Eu vi relatórios que
bcdeditnão funcionam corretamente com alguns deles.) - Digite
mountvol S: /Spara montar o ESP comoS:. (Você pode alterarS:para outra coisa, se quiser.) - Usando o Prompt de Comando, verifique
S:para localizar o seu carregador de boot do Ubuntu. É provavelmenteS:\EFI\ubuntu\grubx64.efiouS:\ubuntu\shimx64.efi. Se você vir o último, deve ser seguro usá-lo, e pode ser necessário usá-lo - shim é como o Ubuntu lida com o Secure Boot (SB), mas em um computador que não seja SB, ele terá pouco efeito. Se a Inicialização Segura estiver inativa, os ajustes poderão ou não ser instalados, portanto, talvez você precise consultargrubx64.efidiretamente. - Digite
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi, alterandoshimx64.efiparagrubx64.efiseshimx64.efinão estiver presente. Mude o caminho se for outra coisa, o que é improvável. - Opcionalmente, digite
bcdedit /set {bootmgr} description "Ubuntu"para definir o nome que aparece na própria lista de gerenciadores de inicialização da EFI. AltereUbuntupara o que você quiser.
Se você já conhece o nome do arquivo do seu gerenciador de inicialização, pode pular as etapas 3 e 4. (O ESP não precisa ser montado para usar bcdedit dessa maneira.)
Esse método tem a vantagem de impedir que o Windows mexa na ordem de inicialização - às vezes o Windows tentará ajustar a ordem de inicialização sem ser solicitado. Não sei se isso impediria a repetição desse problema se / quando você atualizar para o que vier depois do Windows 8.1, no entanto.
Solução 3: inicialize no Linux e use efibootmgr
Provavelmente, você pode inicializar no Linux usando o gerenciador de boot do próprio firmware, que pode ser acessado na maioria dos computadores pressionando-se Esc ou uma tecla de função no momento da inicialização, embora a chave varie de um computador para outro. Como alternativa, você pode usar rEFInd em uma unidade flash USB ou CD-R como gerenciador de inicialização se o seu é inadequado. Você também pode inicializar usando um live CD ou disco de emergência do Linux, mas certifique-se de inicializar no modo EFI - uma inicialização no modo BIOS não será adequada. Quando estiver no Linux, você pode usar efibootmgr para ajustar a ordem de inicialização:
- Abra uma janela do Terminal.
- Digite
sudo efibootmgr -vpara obter uma lista de programas de inicialização. Um será para o Linux e iniciará o shim ou o GRUB. Observe a listaBootOrder. As chances são de que a entrada do Windows agora seja a primeira, e a entrada do Ubuntu venha depois na lista. Algumas entradas podem ser confusas. Apenas ignore-os; concentre-se em encontrar a entrada do Ubuntu e identificar seu número (na entradaBoot####no início da linha). - Digite
sudo efibootmgr -o {list}, alterando{list}para uma lista separada por vírgula de números de inicialização, como emsudo efibootmgr -o 5,0ifBoot0005é para o Ubuntu eBoot0000é para o Windows. Você pode adicionar mais entradas se quiser, mas a primeira é a mais importante, pois é isso que será inicializado primeiro.
Se uma entrada do Ubuntu não não existir, você pode criar uma com efibootmgr , como em:
efibootmgr -c -d /dev/sda -p 1 -l '\EFI\ubuntu\shimx64.efi' -L "Ubuntu"
Altere -d /dev/sda para apontar para o seu dispositivo de disco inteiro e -c 1 para especificar o número da partição. (Na verdade, /dev/sda e 1 são os padrões, então você realmente precisa deles apenas se o seu ESP não for /dev/sda1 .)