Caminho do arquivo EFI inválido

9

Acabei de instalar o Ubuntu 12 no meu novo laptop (com o Win7 de 64 bits pré instalado) no modo EFI e agora não consigo mais carregar o Win7 (o Ubuntu apenas carrega bem no grub). Quando eu seleciono a entrada do Windows 7 no menu grub, eu recebo este erro:

Invalid EFI file path

A entrada grub.cfg (gerada pelo reparo de inicialização) é:

menuentry "Windows 7 (loader) (on /dev/sda3)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt3)'
    search --no-floppy --fs-uuid --set=root B8449665449625E2
    chainloader +1
}

Esta é a saída do parted:

GNU Parted 2.3
Viene usato /dev/sda
Benvenuti in GNU Parted. Digitare "help" per l'elenco dei comandi.
(parted) print list
Modello: ATA ST9500325AS (scsi)
Disco /dev/sda: 500GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: gpt

Numero  Inizio  Fine   Dimensione  File system  Nome                  Flag
 5      1049kB  106MB  105MB       fat32                              avvio
 3      345MB   200GB  200GB       ntfs         Basic data partition
 1      200GB   200GB  1049kB                                         bios_grub
 2      200GB   496GB  296GB       ext4
 4      496GB   500GB  4172MB

A partição EFI de inicialização, montada como

/dev/sda5 on /boot/efi type vfat (rw) ) 

possui os seguintes arquivos (excluindo a pasta grub e outros arquivos na raiz de inicialização):

./efi
./efi/efi
./efi/efi/boot
./efi/efi/boot/bootx64.efi
./efi/efi/ubuntu
./efi/efi/ubuntu/grubx64.efi
./efi/efi/Microsoft
./efi/efi/Microsoft/Boot
./efi/efi/Microsoft/Boot/bootmgfw.efi.grb
./efi/efi/Microsoft/Boot/bootmgfw.efi
./efi/efi/Microsoft/Boot/bootx64.efi.grb
./efi/efi/Microsoft/Boot/bootx64.efi

Como posso consertar isso?

Obrigado

    
por Simone Margaritelli 12.11.2012 / 15:08

2 respostas

5

Sua entrada do GRUB para Windows é apropriada para uma inicialização no modo BIOS, mas não para uma inicialização no modo EFI. Este é um bug do GRUB. Você pode tentar substituir a entrada por algo como o seguinte:

menuentry "Windows 7" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt5)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Eu não garanto que isso funcionará, mas pode. Em caso afirmativo, inclua essa entrada em /etc/grub.d/40_custom para que ela seja criada novamente sempre que o Ubuntu atualizar sua configuração do GRUB.

Outra opção é usar um gerenciador de inicialização diferente ou em substituição ao GRUB. rEFInd, por exemplo, detectará automaticamente o Windows e o GRUB; e se você estiver usando kernels 3.3.0 ou posteriores (como é fornecido com o Ubuntu 12.10, mas não com o Ubuntu 12.04), você pode inicializar o Linux diretamente com rEFInd, ignorando completamente o GRUB. O gummiboot é outra opção com capacidades de inicialização similares, mas requer mais manutenção manual se você quiser inicializar o Linux diretamente com o gummiboot. / p>     

por Rod Smith 12.11.2012 / 16:33
2

Finalmente eu resolvi formatar e reinstalar tudo do zero ... basicamente (não sei por que) o grub havia sobrescrito o carregador do windows 7, esse era o problema.

    
por Simone Margaritelli 13.11.2012 / 10:31