Dupla inicialização Win 8 / Ubuntu carrega apenas Win


11

Meu computador é um notebook Sony Vaio. Eu usei o Ubuntu e o Win 8 com dualboot, mas o Windows conseguiu remover o menu para escolher o sistema operacional na inicialização. Eu acho que o BIOS é UEFI. A inicialização segura já foi desativada e o Reparo de Inicialização falha de alguma forma.

Como posso consertar isso?


sda está faltando GRUB ... "Place GRUB em sda" usando: help.ubuntu.com/community/Boot-Repair
jmunsch

3
Com o UEFI, você não possui o grub no MBR do sda, apenas na partição efi que é.
oldfred

Respostas:


17

A Sony, a HP e muitos fornecedores de laptops são codificados para inicializar apenas o Windows.

Existem várias soluções alternativas que sugerem que você mova o grub grubx64.efiou shimx64.efiarquivo sobre o Windows /EFI/windows/bootmgfw.efi. No entanto, isso não é recomendado porque o Windows Update será restaurado bootmgfw.efie você voltará apenas às janelas de Inicialização.

Em vez disso, sugiro renomear o fallback /EFI/Boot/bootx64.efi e inicialize a entrada do disco rígido ou use rEFInd.

Certifique-se de fazer backup de toda a partição EFI antes de fazer alterações.

Você tem várias opções disponíveis:

I. Mova e renomeie os arquivos grub grubx64.efiou shim64.efi(para inicialização segura) para esta pasta / arquivo/EFI/BOOT/BOOTX64.EFI

  1. Renomeie /efi/boot/bootx64.efi, copie o shim ou grub para / efi / boot e nomeie-o como bootx64.efi Em seguida, inicialize a entrada do disco rígido. Novas versões do reparo de inicialização fazem isso automaticamente com 'Usar o arquivo EFI padrão' nas opções avançadas. Ele também faz backup do bootx64.efi atual, que provavelmente é apenas uma cópia do arquivo de inicialização .efi do Windows.

    No instalador ativo, monte a partição efi no disco rígido: Monte a partição efi. verifique qual partição é FAT32 com sinalizador de inicialização. Frequentemente sda1 ou sda2, mas varia.

    sudo mount /dev/sda1 /mnt
    

    somente se ainda não existir,

    sudo mkdir /mnt/EFI/Boot
    sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
    

    Se uma nova pasta criada, o bootx64.efi não existir, pule este comando

    sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
    

    Faça do grub a entrada de inicialização do disco rígido no UEFI. Se não existir, talvez seja necessário atualizar o UEFI também com efibootmgr.

    sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi 
    

    Se necessário, adicione uma nova entrada de inicialização do disco rígido UEFI: Consulte também

    man efibootmgr
    

    Se o ESP for sda ou as entradas padrão da unidade e partição:

    sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
    

    Se o ESP não for sda1, o sdX é a unidade, Y é a partição efi, também as unidades NVMe:

    sudo efibootmgr -c -g  -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
    sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 
    
  2. (É igual ao que o Boot-Repair costumava fazer no II. Agora não é recomendado: renomeie /efi/Microsoft/Boot/bootmgfw.efi e copie o grub ou shim em / efi / Microsoft / Boot e nomeie-o bootmgfw.efi inicialize a entrada do Windows para inicializar no menu grub.Você precisa adicionar manualmente uma entrada de menu grub para inicializar o arquivo efi do Windows renomeado.A entrada os-prober do Grub2 inicializa a entrada bootmgfw.efi, que agora é apenas grub, portanto não funcionará.

    Os usuários que moveram os arquivos efi manualmente, consulte a publicação nº 6.

    http://ubuntuforums.org/showthread.php?t=2101840
    http://ubuntuforums.org/showthread.php?t=2219452
    http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109

II Se você executou a correção do Boot-Repair para "UEFI com buggy" com uma cópia mais antiga, é melhor desfazê-la. E, em seguida, faça a alteração acima para usar o bootx64.efi Para desfazer e renomear arquivos com seus nomes originais, basta marcar a opção "Restaurar backups EFI" do Boot-Repair.

Qualquer renomeação manualmente ou com o Boot-Repair precisará ser refeita após uma atualização do Windows, pois restaurará os arquivos do Windows.

III Edite o Windows BCD, uma alternativa à renomeação do Boot-Repair para fazer com que o shim tenha o nome do Windows. Alguns sistemas funcionam melhor para registrar o grub / shim de dentro do Windows - para aqueles que continuam redefinindo o Windows como padrão.

O Grub não aparece na inicialização do Windows 8.1 Ubuntu 13.10 Dual boot

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

https://coderwall.com/p/vfyqkg

IV Se a descrição precisar ser Windows, altere a descrição da UEFI. Isso realmente funciona apenas para aqueles com apenas o Ubuntu e sem a instalação do Windows.

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

Restaurar ou uma nova entrada UEFI do Windows - assume o padrão sda1 add -p 2 se sda2 (consulte as opções man efibootmgr -d drive & -p partition):

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1 

V. Alguns instalam o rEFInd, que parece ser outra solução alternativa e possui bons ícones de inicialização.

http://www.rodsbooks.com/refind/index.html

http://www.rodsbooks.com/refind/secureboot.html

PPA disponível para facilitar a instalação no Ubuntu

http://www.rodsbooks.com/refind/getting.html


Sim! Renomear funcionou para mim! Montei a partição efi e copiei os arquivos ../EFI/ubuntu/grubx64.efi para ../EFI/Boot/ e / / EFI / Microsoft / Boot e alterei o nome do arquivo da seguinte maneira. No diretório ../EFI/Boot, sobrescrevi o bootx64.efi com o arquivo e no ../EFI/Microsoft/Boot, sobrescrevi o bootmgfw.efi com o arquivo. Isso foi tudo que eu acho. Muito obrigado!
user296880

Para aqueles presos no Windows: eu consegui fazer a abordagem de renomeação descrita na opção a1 sem sair do Windows. Abri uma janela de comando como administrador e corri mountvol S: /Spara montar a partição EFI como S :. Eu tive problemas estranhos ao subir e descer pastas, mas mover uma cópia do grubx64.efi uma pasta de cada vez para / EFI / Boot e depois renomeá-la para bootx64.efi funcionou.
Peter Becker

Estou surpreso que o major inglês que renumerou meu post não fez isso. Eu tinha comentários mais antigos referindo-se a A: & B: como seções principais. :)
oldfred

0

Eu tenho um Acer que tem o mesmo problema. Minha solução é "reiniciar" o Windows, em vez de desligar (o que é realmente apenas um hibernado).

Ao reiniciar (o que pode acionar atualizações), o sistema é encerrado e você pode selecionar a inicialização na bios. Você precisa pegá-lo antes de reiniciar.

Eu raramente uso janelas, portanto, a inicialização dessa maneira não me incomoda. A menos, é claro, atualizações do Windows.


0

A resposta acima não funcionou no HP Pavilion do meu amigo, mas achei uma solução decente. Parece que o firmware da HP sempre substitui o sistema BootOrderem cada inicialização e define o Windows primeiro, mas ainda é respeitado BootNext. Então, eu escrevi um script de inicialização para definir BootNextem cada inicialização.

  1. Corre

    efibootmgr
    

    para encontrar o código numérico de BootCurrent. No caso do meu amigo, isso foi 0003.

  2. /etc/systemd/system/boot-linux-next.service:

    [Unit]
    Description=Boot Linux next
    
    [Service]
    Type=oneshot
    # Replace '3' in the next line with the appropriate code.
    ExecStart=efibootmgr --bootnext 3
    
    [Install]
    WantedBy=multi-user.target
    
  3. Corre

    systemctl enable --now boot-linux-next.service
    

Isso significa que, se você alguma vez inicializar outra coisa, precisará selecionar manualmente o Linux na próxima vez.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.