Inicialização dupla UEFI Windows 7 e Ubuntu 12.04 (ambos de 64 bits). A entrada do W7 não aparece no GRUB

8

Depois de tentar instalar ambos os sistemas operacionais durante dois dias, estou confuso e ficando louco ... Eu tenho SSD 128 GB e HDD 500 GB ambos vazios. Meu laptop é o Asus K55VM. Suporte para BIOS UEFI.

O que eu fiz:

  1. Instale o novo SSD (Samsung 830 128 GB)

  2. Use o GParted no LiveCD para criar uma nova tabela de partições (GPT) e criar 3 partições (no SSD) para diferentes propósitos:

    • Partição 1: 80 GB (w7);
    • Partição 2: 30 GB (Ubuntu 12.04 -Just / -);
    • Partição 3: 10 GB não utilizados (para futura expressão das outras partições)
  3. Instale o Windows 7 (com UEFI) na Partição 1. Isso cria:

    • / dev / sda1 - > 100 MB para o sistema (inicialização UEFI eu acho) - FAT32
    • / dev / sda2 - > 100 MB aprox. para MSR
    • / dev / sda3 - > 79.800 MB aprox. para dados do Windows7

Neste ponto, tudo funciona bem. Eu tenho o W7. Agora eu instalei o Ubuntu 12.04 amd64 (com UEFI) da seguinte forma:

  1. Instalar / na Partição 2 - > / dev / sda4 30 GB ext4, e no hdd eu instalo / home e swap.

  2. Eu seleciono o gerenciador de inicialização em / dev / sda1 (onde deveria ser o boot UEFI).

  3. Eu instalo atualizações e reinicializo.

Problema: Agora só aparece o menu grub com entradas do Ubuntu e não com o Windows 7.

Solução alternativa encontrada : Quando ligo o laptop, antes de carregar o GRUB, pressiono a tecla ESC e aparece a inicialização do BIOS, para que eu possa selecionar a inicialização da partição do Windows, partição do Ubuntu, DVD, USB etc. ... mas acho que não é a melhor maneira de inicializar o SO diferente.

Eu tentei: sudo update-grub2 sem sucesso.

O que posso fazer ??

    
por Joe 26.09.2012 / 13:10

3 respostas

6

Descubra onde o bootloader do Windows reside, montando a partição efi:

sudo mount -t vfat /dev/sdx1 /mnt/efi/

E pesquise por bootmgfw.efi . Em seguida, encontre o UUID da unidade:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

Adicione este UUID a /etc/grub.d/40_custom :

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Finalmente, execute update-grub .

    
por jarondl 26.09.2012 / 14:44
3

A solução do jarondl é perfeitamente boa, mas outra é usar um programa gerenciador de inicialização separado para selecionar entre o GRUB e o carregador de inicialização do Windows. Eu sei de três gerenciadores de inicialização EFI que você pode instalar:

  • rEFIt , que está disponível nos repositórios do Ubuntu. Observe que a versão do site do rEFIt não funcionará em PCs baseados em UEFI, pois usa um formato de arquivo específico do Mac. Até mesmo a versão do Ubuntu tem vários problemas menores em PCs baseados em UEFI. Idealmente, o rEFIt apresenta um bonito menu de inicialização GUI (embora também tenha um modo de texto).
  • rEFInd , que é uma versão atualizada do rEFIt com correções para os vários glitches e extensões do UEFI para trabalhar com o kernel construído em 3.3.0 no carregador de inicialização EFI. Note que eu bifurfei / mantive o rEFInd.
  • gummiboot, que é um gerenciador de inicialização somente de texto. (Esse site fica esquecendo quem eu sou e se recusa a me deixar postar mais de dois hyperlinks como resultado, ou eu teria fornecido um.)

Tanto o rEFIt quanto o rEFInd detectam automaticamente outros carregadores de inicialização, portanto, depois de configurá-los, eles devem detectar o carregador de inicialização de qualquer sistema operacional e fornecer um menu. Eu ainda não experimentei o gummiboot, então não sei como é simples de configurar, mas é similar conceitualmente ao rEFIt / rEFInd. Usar qualquer um desses programas adiciona complexidade ao processo de inicialização, portanto, se o GRUB funcionar e você estiver feliz com isso, não há sentido em usar nenhum desses programas. Eles são mais úteis se o GRUB é temperamental ou simplesmente não funciona, como é frequentemente o caso do GRUB 2 em sistemas UEFI, na minha experiência. Em tal situação, você pode abandonar o GRUB 2 em favor do ELILO ou do carregador de stubs EFI do kernel 3.3.0 ou posterior. Esses gerenciadores de inicialização não podem redirecionar o processo de inicialização para o Windows, tornando um gerenciador de inicialização separado muito útil. Com uma distribuição que usa um kernel 3.3.0 ou posterior, o rEFInd pode ser muito fácil de manter, dependendo dos detalhes da configuração.

    
por Rod Smith 02.10.2012 / 05:42
0

PRESTE ATENÇÃO: somente para x64

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

Adicione isso a /etc/grub.d/40_custom :

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

O outro código não funciona.

Testado na ASUS N56V

    
por Cristiano Zanca 11.02.2013 / 17:19