Inicialização dupla Ubuntu e Windows 8. w8 inicializa através do shell grub, mas não do menu

3

Eu tenho um laptop, com instalações do Ubuntu 12.10 e do Windows 8. O Windows 8 foi instalado pela primeira vez no sistema e o Ubuntu foi instalado posteriormente.

Durante a instalação do Ubuntu, o instalador reconheceu que existem partições existentes, mas não conseguiu ver nenhum sistema operacional nelas. Eu criei outra partição ext4 no espaço livre e instalei o Ubuntu. Inicialmente o grub apenas adicionou a entrada para o Ubuntu, e o Ubuntu funciona ok.

Agora eu queria inserir as configurações do w8 no Grub manualmente e modifiquei /etc/grub.d/40_custom:

#!/bin/bash
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 8" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    #set root='(hd0,gpt1)'
    search --fs_uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
    chainloader /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
}

A string de pesquisa (do penúltimo ao último) que encontrei com este comando: sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

Agora, depois de atualizar o grub config, reinicializando e selecionando a entrada do windows 8, ele reclama:

error: unspecified search type
error: file '/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi' not found

Press any key to continue

No Ubuntu, no entanto, se eu fizer ls /boot/efi/EFI/Microsoft/Boot/b*

/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
/boot/efi/EFI/Microsoft/Boot/bootmgr.efi
/boot/efi/EFI/Microsoft/Boot/boot.stl

/boot/efi/EFI/Microsoft/Boot/bg-BG:
bootmgfw.efi.mui
bootmgr.efi.mui

Agora, se eu pressionar e para editar a entrada do Windows 8, e então selecionar F2 para entrar no shell do grub, se eu tentar executar ls /boot/efi , não os arquivos são exibidos.

Curiosamente, se neste momento eu digitar apenas exit , o windows 8 inicializará.

fdisk -l me dá que reconhece /dev/sda1 as GPT partition

Alguma idéia do que devo fazer para que o grub funcione "diretamente do menu"?

    
por julumme 20.01.2013 / 06:48

4 respostas

0

Dê uma olhada em refind , é bastante útil e inteligente (e faz boot win8 em meus testes foram executados durante a adição do suporte ao UEFI ao ALT Linux).

Não é um gerenciador de partida, mas sim um gerenciador de boot, então ele permitirá que você escolha entre o WBM e o GRUB, com ambos podendo realmente carregar o kernel (in) apropriado.

    
por 21.01.2013 / 12:30
0

Eu atualmente estava enfrentando o mesmo problema, mas descobri que a causa era o resultado errado do comando hint grub. Na verdade, estava passando o caminho errado para o arquivo .efi.

Eu tenho dois discos aqui e o grub estava listando-os como hd1 e hd2. Eu poderia descobrir apenas usando o comando grub com a opção pressionando 'c' na tela do grub e executando um ls depois.

Ele lista todas as partições gpt e os discos correspondentes, desde que eu tenha partições diferentes em ambos os discos eu poderia identificar facilmente onde estava o meu arquivo efi e então era apenas uma questão de mudar a localização das entradas do grub para a partição correta onde meu arquivo efi residia.

Observe que o caminho do carregador em cadeia deve corresponder ao caminho sem o ponto de montagem. Você pode verificar isso usando o utilitário de discos no Ubuntu!

Agora estou tendo apenas um erro dizendo que o tipo de pesquisa não é especificado, mas a inicialização me traz o carregador do Windows sem problemas.

Em relação à sua pergunta por que você acertou o carregador do Windows ao sair do grub, suponho que seja simples, as opções de inicialização da sua placa-mãe têm o Windows uefi loader como a próxima opção quando o grub é ignorado.

Espero que ajude!

    
por 09.02.2013 / 16:37
0

Você precisa fornecer o UUID do dispositivo SYSTEM na sua linha de pesquisa (no final). E remova a tag --bios, já que você está usando o EFI para inicializar.

Para encontrar o UUID, execute o seguinte:

sudo grub-probe  --target=fs_UUID /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    
por 19.02.2013 / 18:18
0

O problema é que você já está configurando sua raiz para '(hd0, gpt1)', o que eu presumo que seja (seu diretório /boot/efi ) onde está seu grub.

Portanto, escrever /boot/efi/... é equivalente a escrever /boot/efi/boot/efi... , o que provavelmente não existe.

Você deve alterar /boot/efi/EFI/... para apenas /EFI/...

    
por 15.06.2017 / 22:06