Como faço para o meu laptop HP inicializar no grub a partir do meu novo arquivo efi?

28

Eu tenho um laptop HP Pavilion Sleekbook 14 em que instalei o Ubuntu 12.10 de inicialização dupla com o Windows 8. Usei o reparo de inicialização para configurar o boot do grub.

Meu problema é que não consegui inicializá-lo diretamente do novo arquivo efi que foi criado. Eu olhei as opções de inicialização na tela do BIOS, mas isso não me dá uma opção para o Ubuntu. A única maneira de inicializar no Ubuntu é pressionar F9 quando ligo o sistema e depois navegar manualmente para o arquivo efi do ubuntu. Isso funciona, mas se eu não estiver prestando muita atenção, ele será inicializado no Windows.

Depois que terminei de executar o reparo de inicialização, ele me disse para inicializar a partir do sda2 / EFI / ubuntu / shimx64.efi. Recebi algumas sugestões de que eu deveria mover esse arquivo no lugar do windows bootmgfw.efi, mas estou preocupado que quebrar coisas e não conseguir inicializar a instalação do Windows 8. Embora eu já não goste do win8 ainda mais do que do win7, preciso de vez em quando para algumas tarefas ...

Os detalhes do meu reparo de inicialização estão aqui: http://paste.ubuntu.com/1418009/

maddentim
fonte
O shimx64.efi funcionou para mim, embora, no meu caso, o Ubuntu Gnome não inicialize após a instalação, e tenha que selecionar o arquivo criando uma nova opção de inicialização no BIOS.
precisa saber é o seguinte
Há várias respostas sobre o Windows aqui, você está tentando inicializar no Linux ou Windows?
Evan Carroll
um monte de maus respostas desnecessariamente complexos por causa de preocupações janelas apenas fazer a renomeação de efi do grub sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efide resposta de @Vitor Abella
Evan Carroll

Respostas:

29

Eu tive esse mesmo problema com o HP Pavilion g6 ao tentar inicializar o Ubuntu 12.04.3 LTS e o Windows 8. com o Windows 8. Ou seja, mesmo depois de executar com êxito o Reparo de inicialização, eu ainda tinha o notebook inicializando diretamente no Windows 8. Se eu pressione F9 antes que o símbolo HP apareça, eu pude entrar no menu de inicialização (menu da HP? Não sei ...) e, a partir daí, selecionar a entrada "Ubuntu", que por sua vez me levou ao GRUB 2 e, finalmente, a minha instalação do Ubuntu.

Ainda assim, eu queria poder inicializar o computador diretamente no Linux, sem a necessidade de qualquer intervenção do usuário.

No final, a resposta de Rod Smith acima , combinada com as informações que encontrei em outro fórum, fez o truque para mim. Eu tenho o Secure Boot desativado e o Legacy Boot também desativado.

Isto é o que eu fiz:

  • Inicializei na minha instalação do Ubuntu usando o truque da tecla F9 na inicialização para poder escolher o carregador de inicialização.
  • Uma vez no Ubuntu, eu abri um terminal.
  • Usando o comando abaixo, verifiquei onde o carregador de inicialização do Windows estava localizado:

    $ sudo efibootmgr -v
    
  • No meu caso, o carregador de inicialização original aqui: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Observe que no seu computador ele pode estar em um local diferente. Nesse caso, você precisará ajustar os comandos abaixo.

  • De acordo com a recomendação de Rod em sua resposta (sobre como reparar o carregador de inicialização manualmente), fiz um backup desse arquivo movendo-o um nível acima:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • Por fim, copiei o carregador de inicialização do GRUB2 naquele local, "enganando" o sistema para carregar o carregador de inicialização que eu queria, em vez do carregador de inicialização original do Windows.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

Então, finalmente, tive minha inicialização dupla trabalhando com o GRUB2. Caso o Windows substitua o carregador de inicialização novamente após uma atualização (como aconteceu comigo), eu já conheço as etapas para recuperar o grub.

Espero que isso ajude alguém. Informe-me se houver algum problema com a minha solução.

mairabc
fonte
9
Obrigado, ajudou, porém não consegui inicializar no Windows. Na inicialização, ele inicia o GRUB e, no GRUB, a opção 'Windows Boot Manager' entra no menu do GRUB novamente (é esperado que isso vincule ao mesmo arquivo .efi). Parecia esse problema, embora eu não tenha tido sorte com o reparo de inicialização. Eu o resolvi indo para o Ubuntu, no /etc/grub.d/, preenchendo o arquivo 40_custom, copiando a entrada de inicialização do Windows que eu tinha na pasta ubuntu e editando o URL do arquivo .efi para apontar para o backup do bootmgfw.efi. Portanto, o menuentry contémchainloader /EFI/Microsoft/bootmgfw.efi
Vince
1
que menuentry não funciona para mim
Pierre
@Pierre May: Talvez o uso da seguinte entrada de menu funcione para você: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (isso pressupõe que sua partição efi esteja na primeira . disco rígido, em sda2 para ter certeza, você pode digitar "c" quando você está no grub e digite "ls" para ver as partições disponíveis.
tobiasBora
12

Eu enfrentei o mesmo problema no HP ProBook 4340s com o Windows 8 original já substituído pelo novo Kubuntu 15.04 (eu prefiro nenhuma inicialização dupla). Entre outras tentativas, também tentei o Boot-Repair (tanto do HD após a instalação quanto via boot-repair-disk ), mas esse exercício provavelmente foi desnecessário.

O que fez o truque foram as seguintes alterações na configuração do BIOS (depois que o computador iniciar, pressione F10 - vá para Configuração do sistema - abra Opções de inicialização ):

  1. Verificar inicialização personalizada

  2. Marque o SecureBoot

  3. Modo de inicialização : escolha UEFI Hybrid ou UEFI Native (eu escolhi UEFI Native)

  4. Ordem de inicialização UEFI : coloque a inicialização personalizada no topo

  5. Defina a opção de inicialização personalizada : escolha Adicionar + coloque a configuração:\EFI\ubuntu\grubx64.efi

Encontramos a cadeia de caminho correta ao abrir o GRUB por meio da opção Boot from EFI File nas Opções de inicialização rápida (F9). No começo, a lista de opções continha:

  • Gerenciador de inicialização do SO
  • Inicializar a partir do arquivo EFI

Depois de adicionar a opção de inicialização personalizada, ela foi adicionada à lista:

  • Inicialização personalizada
  • Gerenciador de inicialização do SO
  • Inicializar a partir do arquivo EFI
michal_za
fonte
Fiz exatamente isso aqui em um hp zbook 15, no luck
cmbarbu
Se você usar um sistema UEFI e instalar o Ubuntu 16.10 Após o Windows 10 do que esta resposta é a correta
leoredi
obrigado, eu tive que fazer issoDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi 27/11
6

A UEFI da Hewlett-Packard está me incomodando há um tempo. Sua correção me ajudou a reiniciar meu laptop HP no GRUB novamente - sem pressionar F9 primeiro.

Eu tive um problema: após a correção, eu poderia selecionar o Windows 8 no GRUB, mas o Windows 8 se recusou a iniciar e me foi mostrado o menu do GRUB novamente.

Minha correção:

  1. Copiando o arquivo efi original da Microsoft para /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Edição /boot/grub/grub.cfgpara reconhecer o arquivo efi renomeado da Microsoft

Agora, o laptop é inicializado no GRUB, Ubuntu e Windows 8 agora é iniciado a partir do GRUB.

Arjen de Bruine
fonte
5

Normalmente, a execução do Boot Repair faz backup do arquivo original do carregador de inicialização da Microsoft ( bootmgfw.efi) bootmgfw.efi.bkpe substitui o bootmgfw.efiarquivo original por uma cópia do GRUB (ou shim), e a saída do Boot Repair que você publicou mostraria isso; no entanto, não vejo esse arquivo de backup. Portanto, recomendo que você faça uma de três coisas:

  • Execute o Reparo de inicialização novamente, mas procure opções relacionadas ao backup e substituição do carregador de inicialização da Microsoft. Ative essas opções para continuar o processo. O GRUB pode ou não conseguir iniciar o Windows; isso parece um sucesso ou um erro - e mais "erro" se você deixar o Secure Boot ativo.
  • Faça o trabalho manualmente: No Linux, faça backup /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(eu recomendo movê-lo para um nível abaixo, para /boot/efi/EFI/Microsoft/bootmgfw.efi, em vez de renomeá-lo bootmgfw.efi.bkp, pois o último não é padrão e torna outras ferramentas além do Reparo de Inicialização e do GRUB do Ubuntu incapazes de localizá-lo). Copie /boot/efi/EFI/ubuntu/grubx64.efiem seu lugar; ou se você planeja manter o Secure Boot funcionando, copie /boot/efi/EFI/ubuntu/shimx64.efiem seu lugar e copie grubx64.efipara/boot/efi/EFI/Microsoft/Bootusando seu nome original. Você precisará modificar sua configuração do GRUB para ativar o carregador de inicialização do Windows em seu novo local ou com seu novo nome. (Ouvi dizer que o GRUB ainda não pode iniciar o carregador de inicialização do Windows no modo de Inicialização Segura; portanto, se você deseja iniciar o Windows a partir do GRUB, pode ser necessário desativar a Inicialização Segura. OTOH, nunca tentei isso sozinho , para que eu possa estar enganado sobre os recursos do GRUB a esse respeito.)
  • Desabilite a Inicialização Segura, depois inicialize no Linux e instale meu gerenciador de inicialização rEFInd usando o pacote Debian. Feito isso, digite sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. O último comando move e renomeia os arquivos de maneira análoga ao procedimento manual que acabei de descrever ou ao que o Boot Repair faz, mas configura o rEFInd como o carregador de inicialização padrão em vez do GRUB. Se você quiser usar o Secure Boot, poderá fazê-lo manipulando arquivos e instalando uma nova versão do shim (o shim do Ubuntu é cedo o suficiente para não funcionar corretamente com o rEFInd). Instalar o rEFInd dessa maneira permite inicializar sem usar o GRUB, e a combinação do script de instalação (executado pelo sistema de pacotes ao instalar o pacote Debian) e o mvrefind.shscript soluciona os problemas que você está tendo.

Para constar, os problemas que você está tendo estão relacionados a erros conhecidos na implementação EFI da HP. Basicamente, o firmware é codificado para inicializar a partir do gerenciador de inicialização da Microsoft e tornar difícil ou impossível inicializar a partir de qualquer outra coisa. Eu recomendo fortemente que você reclame com a HP sobre isso; eles não resolverão esses problemas, a menos que as pessoas se queixem.

Das três soluções, é provável que o uso do Reparo de inicialização seja o mais fácil para começar a trabalhar; mas, como observei, a nomeação não padrão usada pelo Boot Repair pode acabar causando problemas para outros utilitários no futuro. Os ajustes manuais exigirão mais esforço para começar a trabalhar, mas serão mais limpos a longo prazo. Algumas pessoas relataram problemas ao fazer com que o GRUB carregasse em cadeia o carregador de inicialização do Windows, portanto, qualquer uma dessas opções pode causar dores de cabeça nessa pontuação. É muito mais provável que o rEFInd inicialize o Linux ou o Windows sem problemas, mas como você pode perceber pelo procedimento, é provável que fazê-lo funcionar exija um pouco mais de esforço do que executar o Reparo de inicialização novamente, embora provavelmente seja menos do que manipular arquivos manualmente. O uso do rEFInd em conjunto com o Secure Boot exige mais discussões no momento. (Consulte a documentação do rEFInd para obter detalhes.

Há riscos envolvidos nas três soluções; As implementações de EFI variam muito entre si, o que significa que um procedimento automatizado ou manual que funciona bem em um computador pode falhar miseravelmente em outro. Para se proteger, recomendo fazer backup do seu ESP (normalmente /boot/efino Linux); apenas empacote os arquivos em um tarball ou copie-os para um diretório de backup. Se algo der errado, você pode inicializar com um disco de emergência e restaurar os arquivos. Isso provavelmente fará com que o computador inicialize novamente.

Rod Smith
fonte
Muito obrigado! Ainda não tentei nenhuma de suas opções, mas vou fazer esse final de semana.
precisa saber é
Seu gerenciador de inicialização refE parece interessante. Então, você está dizendo que posso desativar o Secure Boot e ainda usar o Win8? Uma pergunta que tenho é que, quando tentei tar / boot / efi, o tar me deu erros em alguns dos arquivos da pasta ubuntu. Eles têm nomes estranhos como 'ame = "App.lic'. Veja as linhas 809 a 817 em paste.ubuntu.com/1418009 Esta última instalação foi na verdade minha terceira tentativa. Estou pensando que são lixo e podem ser removidos. acho que vai enviar de volta depois de eu ter uma completa de seus passos?.
maddentim
Vi vários relatos de pessoas desabilitando a Inicialização Segura e sem problemas para inicializar o Windows, então isso não é um problema. Se você deseja mantê-lo ativado para obter benefícios de segurança, é compreensível, mas não se preocupe com o Windows se tornar não inicializável. Quanto ao seu tarerro, parece que um script teve um bug e criou arquivos com nomes estranhos. Eu não tinha notado esses arquivos na sua saída antes, mas é concebível que qualquer bug que os tenha criado também seja responsável pelos seus problemas de inicialização. Nesse caso, é provável que o uso de rEFInd contorne o problema, mas as outras soluções podem falhar.
Rod Smith
O reFInd não foi instalado com sucesso. Acho que o LovinBuntu identificou o problema. / boot / EFI é somente leitura. Aqui está parte da saída: mkdir: não é possível criar o diretório /boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': Esse arquivo ou diretório não existe. Instalando o driver para ext4 (ext4_x64.efi) mkdir: não é possível criar o diretório `/ boot / efi // EFI / refind ': sistema de arquivos somente leitura Arquivos binários de rEFInd copiados
maddentim
3

Passei um dia para o mesmo problema e finalmente o resolvi. A seguir está a solução exata. O artigo completo para resolver o problema está aqui, escrito por Rod Smith .

Informação útil

Para inicializar na tabela de partição GPT com os efi boot loaders. efios arquivos são criados pelos sistemas operacionais no momento da instalação, que devem ser fornecidos à BIOS UEFI do computador para permitir a inicialização nos sistemas operacionais correspondentes.

Para manter os arquivos efi, precisamos ter uma partição EFI. Geralmente, é uma partição com menos de 200 MB com fat32formato com o rótulo de EFI system. Inclui .efiarquivos e suas dependências (na forma de .dllou .efi) necessários para inicializar em qualquer uma das partições inicializáveis ​​(geralmente sistemas operacionais). No meu computador, esta partição possui estrutura mostrada pelo seguinte esquema:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

Normalmente, os .efiarquivos podem ter qualquer nome, mas parece que alguns computadores estão procurando nomes específicos. Então, eu também menciono os nomes padrão.

  1. BootPasta: Is é reconhecida como a opção de inicialização padrão e se a NVRAM for apagada por um motivo. Isso será usado por padrão. O nome do carregador de inicialização efi é "bootx64.efi". Quando você quiser escolher um carregador de inicialização efi padrão, copie o arquivo efi e todos os arquivos ao seu redor para a pasta de inicialização e renomeie o arquivo efi da sua fonte para "bootx64.efi".

  2. MicrosoftPasta: Ele contém os arquivos de inicialização efi do Windows. Existem vários arquivos efi, mas o principal é "efibootmgfw.efi". Estou certo de que isso é usado pelo Windows para inicializar.

  3. UbuntuPasta: Ele contém o arquivo efi do Ubuntu ou do Mint. Existem vários .efiarquivos, mas o principal égrubx64.efi

o que fazer?

Já existem algumas opções de inicialização instaladas no momento da instalação do sistema operacional. No entanto, eles podem sair das opções de inicialização da bios por diferentes razões, como remover e reinstalar um disco rígido ou instalar um novo sistema operacional ou até uma nova bateria da placa-mãe. Existem duas soluções para recuperar as opções de inicialização.

  1. (Não recomendado) Como descrito em algumas respostas, podemos substituir uma opção de inicialização por uma que não está funcionando. Mas o problema continua sendo o contrário.

  2. Registre o arquivo efi boot loader ausente manualmente.

Como fazer?

  1. Inicialize a partir do flash inicializável do Linux (eu uso o flash inicializável do Linux Mint). Este deve ser um usb EFI. (GPT usb que pode ser criado por programas como o rufus)

  2. Monte a partição EFI, sua distribuição pode fazer isso automaticamente. Pule esta etapa se /bootestiver disponível e mostre uma estrutura semelhante à acima. O Ubuntu moderno deve fazer isso por você.

    1. Encontre o endereço da sua partição EFI. Isso pode ser feito usando o partedcomando ou Disksprograma. Geralmente, é a primeira ou a segunda partição no disco inicializável. ( /dev/sda1Ou /dev/sda2) Essa partição geralmente está entre 100 MB-200 MB com FAT32 e o tipo de partição do Sistema EFI.

    2. Monte a partição EFI. Você pode usar o dfcomando para verificar se a partição está montada antes.

      df  /boot/efi
      

      Se a partição não estiver montada antes (Não é mostrado no comando anterior) Monte a partição usando o mountcomando:

      mount  /dev/sda1  /boot/efi
      
  3. Agora, se você navegar /boot/efi, verá a estrutura do arquivo semelhante à minha explicada acima. Controle se você pode encontrar a pasta do seu sistema operacional perdido. No meu caso, a bios do computador só conseguia ver a opção de inicialização do Windows, no entanto, eu também tinha a opção de inicialização Grub do linux Mint.

    • (Não recomendado) A opção de inicialização do Windows estava funcionando. Primeiro, para fins de teste, fiz um backup da pasta Microsoft, que contém vários arquivos, juntamente com o arquivo efi de inicialização do Windows. ( bootmgfw.efi) Em seguida, renomei a pasta ubuntu para Microsoft, depois renomeei o grubx64.efipara bootmgfw.efi. Após a reinicialização, em vez de inicializar no Windows, o menu grub é carregado, no entanto, desta vez, a inicialização no Windows só era possível com o grub. E a inicialização direta para o Windows não era possível.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Maneira recomendada ) Basta escrever o endereço do arquivo efi que você deseja que seu sistema operacional relacionado seja visto nas opções de inicialização do BIOS. No meu caso, o Linux Mint estava ausente na lista de inicialização do BIOS do computador. O endereço do arquivo efi era /efi/ubuntu/grubx64.efirelativo à raiz da partição EFI. Depois, registrei-o na NVRAM usando o comando efibootmgr .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      em p 1parte do comando, o 1 define o número da partição efi no disco fornecido. nameForBootOptioné um nome personalizado dado à opção de inicialização

* Tome cuidado para escrever o endereço correto. Quando você monta a partição no linux. Ele monta a partição em alguma pasta sob a raiz, que estende o endereço real para algo como, /media/mint/CC1F-9708/EFI/ubuntuno entanto, precisamos apenas dar /EFI/ubuntuparte.

* O Disksprograma é uma ferramenta gráfica maravilhosa que está no flash inicializável do linux Mint por padrão. Ele pode ser usado para verificar e localizar a partição EFI e também pode ser usado para montar a partição EFI sem usar nenhum comando mount ou parted. Você só precisa procurá-lo no menu Preferências, Discos.

Tekin
fonte
Fui da maneira não recomendada. Funcionou perfeitamente.
Evan Carroll
1

Você é afetado por este bug: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

Solução:

  1. via Gparted, crie outra partição EFI (FAT32, 200 MB, localizada dentro dos primeiros 100 GB do disco)
  2. mova a bandeira 'boot'
  3. faça o Ubuntu usar este novo ESP (por exemplo, através de Boot-Repair -> Recommended Repair).
LovinBuntu
fonte
Bem, criar outro ESP dentro dos primeiros 100 GB significa mover a partição win8 para mais de 200 MB ... Acho que preciso ter cuidado. Pode interromper a inicialização do Windows. Talvez eu devesse simplesmente estragar tudo. Eu nem gosto de qualquer maneira. Eu realmente preciso dele para assistir netflix!
precisa saber é
Atualize o Boot-Repair (pacotes 'boot-sav' e 'boot-repair'), execute o reparo recomendado e indique o novo URL que aparecerá.
LovinBuntu
feito. paste.ubuntu.com/1562554
maddentim
1

Eu enfrentei o problema semelhante depois de instalar o Cent-OS 7 no Windows 10. Aqui está o processo abaixo que eu segui.

  • sistema operacional inicial era o Windows 10
  • instalado o cent-os 7 usando uefi usb criado por rufus

problema: o Windows 10 estava carregando e o menu de inicialização do SO Cent não estava sendo exibido.

  1. Como eu resolvi:
  2. foi ao Bios
  3. inicialização herdada ativada (apenas uma etapa extra para precauções futuras)
  4. vá para Opções de inicialização
  5. clique em gerenciador de inicialização do SO
  6. Mova o CentOS UEFI acima das janelas: pressione f10 para salvar
  7. clique em OD bootmanager novamente e verifique-o.
  8. pressione f10 para salvar e sair

Agora seu sistema irá inicializar no centos UEFI

desde que ativamos a inicialização herdada, podemos escolher a tecla esc para acessar a BIOS ou outras opções de inicialização

abhirathore2006
fonte
1

Encontrei uma maneira de obter meu HP Pavilion g7-2269wm (UEFI) para inicializar o rEFInd (o GRUB também pode ser possível) sem substituí-lo bootmgfw.efipelo rEFInd ou GRUB

Instalei o rEFInd e adicionei o rEFInd à lista de gerenciadores de inicialização usando sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Reinicie usando F9 para selecionar rEFInd e, em seguida, selecione Ubuntu.

Em seguida, renomeado bootmgfw.efipara bootmgfwms.efiusando

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

Em seguida, reiniciei e ele foi reiniciado no rEFInd sem ter que usar o F9.

Então, para voltar à entrada do Windows 10, corri

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

Então eu reiniciei e o rEFInd vem sem pressionar F9 e o Windows 10 aparece como uma entrada.

Suici Doga
fonte
1

É mais uma resposta da mairabc para aqueles que, como Vince ou eu, não conseguem inicializar no Windows. Você precisará do fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

e o hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

Então você tem que editar o arquivo /etc/grub.d/40_custom assim:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Salve e faça uma

# update-grub

reinicie no windows ...

Pierre
fonte
1

No meu laptop HP, fiz o seguinte, passo a passo:

1 - Inicialize no ubuntu com F9

2 - Verifique onde o carregador de inicialização do Windows está localizado

sudo efibootmgr -v

No meu caso /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Arquivo .efi de backup:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - Substitua o arquivo .efi original pelo ubuntu ( o truque ):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - Adicione o menu 10 do windows 10 no grub. Abra /etc/grub.d/40_custome adicione esta entrada de menu no final do arquivo:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - Salvar 40_custome:

sudo update-grub

7 - Na BIOS Desabilite a Inicialização Segura (não tenho certeza se é necessário)

8 - Se tudo deu certo, ele será inicializado no ubuntu por padrão e o Windows 10 será outra opção no grub.

Foi mais fácil do que eu pensava.

Vitor Abella
fonte
sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efifuncionou perfeitamente.
Evan Carroll
@EvanCarroll, você acha que devo melhorar minha resposta? São realmente os passos que eu faço.
Vitor Abella
Bem, não tenho certeza de que essa resposta seja necessária para ser sincero. São muitas palavras, mas o seu método é o mesmo que Tekin tem na seção não recomendada. Mas, para aqueles que usam apenas Linux, esse método é ótimo por sua simplicidade.
Evan Carroll
1

Eu tenho um laptop HP 2018, 14 polegadas com Windows 10 e Ubuntu dual boot. Eu costumava pressionar F9 para escolher qual sistema operacional eu queria e já fazia algumas semanas.

Solução:

  • Desligue e pressione F10 para entrar no BIOS

  • Navegue até a parte do BIOS que lista a ordem de inicialização

  • Pressione Enter no gerenciador de inicialização do SO.

  • use F5 ou F6 para alternar o Ubuntu com o Windows.

  • Salvar e sair.

Elliot Rushton
fonte
0

Este não é um problema do Windows! O firmware da HP é totalmente defeituoso, pois não usa (nem suporta adequadamente) a variável de firmware UEFI "BootOrder". Eu acho que a única correção para isso é substituir o arquivo do carregador de inicialização do Windows (como alguns já mencionados) pelo seu grub.efi.

Jörg
fonte
0

Meu cenário é semelhante ao de Michal Žarnay, no dia 19 de agosto de 15 às 15:20: eu obtive algumas mini torres HP Pavillion Slimline 400-314, não precisava do Windows 8 pré-instalado, então reparticionei imediatamente o HDD e instalei o Ubuntu 14.04 e Grub2.

Infelizmente, o menu BIOS do Pavillion é extremamente limitado na configuração de inicialização. Ele não tem a maioria das opções sofisticadas que a maioria dos outros está descrevendo aqui. Mesmo a tentativa de alterar a ordem de inicialização falha.

A única solução que comecei a trabalhar é usar a solução alternativa "nomeação alternativa", conforme descrito na seção "Soluções de nomeação alternativas" deste blog .

syzygy
fonte
1
Bem-vindo ao Ask Ubuntu! Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Mark Kirby
0

Confirmo que as etapas de @Vitor Abella resolveram o problema de inicialização dupla para meu notebook HP 2000, exceto que precisarei fazer um dos seguintes procedimentos (conforme mencionado por @mairabc):

  • ativar a inicialização herdada (por padrão, a inicialização de segurança está desativada)

ou

  • desative a inicialização herdada e ative a inicialização de segurança.
VictorL
fonte
0

Se você não deseja mover os arquivos de inicialização , tente alterar a sequência de inicialização manualmente:

Entre no ubuntu manualmente e verifique a sequência de inicialização atual e seus IDs usando:

sudo efibootmgr -v

altere as seqüências de inicialização usando -o e os IDs (na ordem de inicialização da esquerda para a direita):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



Exemplo :
1. Mostrar as configurações atuais de inicialização

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2.Altere a ordem de inicialização (queremos iniciar o ubuntu primeiro, que mostrará o menu de inicialização na inicialização):
Observe que a primeira tentativa deu um erro porque não foi possível encontrar o Boot2003 (unidade de disquete?), Como você pode ver. recriado após a reinicialização.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3.Reboot. O menu de inicialização agora deve aparecer. (2003 é adicionado novamente automaticamente):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC
Deruijter
fonte
0

Minha solução foi realizada depois que eu sabia que o grub4dos estava carregando

faça esta entrada em men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi
rustyg8z
fonte
0

Após a instalação do Ubuntu 14.04 64 bit em um notebook HP-15-r248nf com o Windows 8 atualizado para 10 instalado, o que ocorreu sem problemas, além de um problema com a queda da conexão Wifi com um driver Realtek Wifi (resolvido usando echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf), o PC ainda inicializou no Windows.

Na verdade, era simplesmente necessário alterar a ordem de inicialização do padrão.

  • Na etapa de inicialização, após ligar o PC, digite Esc e F10 para entrar na configuração do BIOS.
  • Vá para a guia "Configuração do sistema", até "Opções de inicialização". Pressione Enter. Desativar "Inicialização segura"
  • Vá para a ordem de inicialização UEFI. Coloquei usando F5 / F6 o gerenciador de inicialização do SO em cima (provavelmente não é necessário).
  • Selecione “Gerenciador de inicialização do SO” com Enter. Usando o F5 / F6, mova o ubuntu para o topo acima do Windows Boot Manager.

Agora você será direcionado ao grub, onde escolheu a opção Ubuntu marcada com uma estrela no topo, que será inicializada automaticamente após um pequeno atraso.

wpb
fonte
2
Por favor, formate isso um pouco. Nem sei dizer se é uma resposta.
TheWanderer
0

Resolvi meu problema de inicialização do EFI assim:

o efibootmgr -o opção é substituída após a reinicialização, para que não funcione.

No entanto, descobri que o -n opção existe. Então, no live usb-ubuntu, execute efibootmgre descubra o número de quatro dígitos do ubuntu e carregue esse número com a -nopção Para poder reiniciar a partir do seu sistema, crie um script como este:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

Substituindo 0000 pela entrada do ubuntu. A execução crontab -epermitirá que você edite seu cron. Adicione uma linha assim:

@reboot /home/"user"/"path"/efibootsj

isso executará o script efibootsj(ou qualquer que seja o nome) assim que o computador inicializar.

Sven
fonte