Windows 7 / Ubuntu instalado em unidades separadas, receba mensagem EFI inválida ao selecionar o Windows na inicialização

0

Eu recentemente decidi mergulhar com o Linux, instalando o que eu entendo é o mais amigável das distribuições, o Ubuntu. Eu tinha um disco rígido extra, depois de mudar para um SSD para minha instalação do Win 7. Então, eu senti que seria relativamente seguro experimentar com o Linux na unidade vazia.

Eu instalei o Ubuntu usando as configurações recomendadas (depois de me atrapalhar com partições e swap de espaço e, eu acho , conseguindo instalar o Ubuntu sem um gerenciador de inicialização -_-), e tudo parecia estar bem e fiquei satisfeito ao descobrir um menu que oferecia várias opções de inicialização, incluindo o recém-instalado Ubuntu e o Win 7 no outro disco.

Quando eu seleciono o Ubuntu, ele é carregado e funciona perfeitamente. Quando eu seleciono o Win 7, isso me dá o erro de EFI inválido. Quando altero a ordem de inicialização para usar o SSD primeiro, o Win 7 é carregado como sempre. Não há problema com minhas instalações, acredito que o problema esteja no gerenciador de inicialização.

Depois de examinar questões e tópicos semelhantes sobre o problema de EFI, eu instalo e executo o reparo de inicialização, escolhendo a opção recomendada / padrão. Ele mencionou uma questão relacionada à GPT (que não me lembro bem no momento) e sugeriu ativar a opção de partição de efi separada, o que fiz e a executei sem sucesso. Eu ainda não tentei o outro conselho na mensagem de erro, que foi criar a partição com algo como gParted.

Eu tentei instalar o rEFInd do pacote debian, mas ele errou e não foi concluído.

Qualquer conselho sobre como corrigir meu problema ou instalar corretamente o rEFInd (se isso ajudar) será apreciado.

Eu prefiro não ter que alterar a ordem de inicialização toda vez que eu quiser mudar o sistema operacional, especialmente porque estou usando um teclado sem fio que não é detectado durante a inicialização. :)

É uma máquina de 64 bits.

link - Minha saída de reparo de inicialização.

EDIT: Tentei reinstalar rEFInd, aparentemente funcionou desta vez, embora a opção Win 7 só me enviou para o que eu acho que é o GRUB, onde a opção Win 7 ainda deu o erro de EFI inválido.

Eu li neste tópico, Caminho de arquivo EFI inválido , como o Windows Loader pode ter foi renomeado. Renomear o arquivo de acordo com as instruções só gerou um erro quando iniciado a partir de rEFInd. O arquivo grubx64.efi é relevante?

EDIT 2: Há um bootmgfw.efi na pasta do Windows no SSD, vale a pena tentar apontar o parâmetro grub.cfg chainloader para isso?

    
por Scott Oliver 12.06.2013 / 22:14

3 respostas

0

O seu Windows está instalado no modo Legacy, mas o Ubuntu está instalado no modo UEFI. Isso não funciona.

Você precisa converter o Ubuntu no modo Legado .

Para fazer isso:

  1. via Gparted , exclua sua partição sda1. No espaço liberado, crie uma partição BIOS-Boot (sistema de arquivos não formatado, bios_grub flag).
  2. execute Recommended Repair do Boot-Repair
por LovinBuntu 14.06.2013 / 00:50
1

Sua instalação do Windows parece estar em um disco MBR. Dado que a Microsoft vincula o tipo de tabela de partição (MBR vs. GPT) ao modo de inicialização (BIOS / CSM / herdado vs. EFI / UEFI), isso significa que o Windows quase certamente foi instalado no modo BIOS. O fato de você ter carregadores de inicialização do Windows em /dev/sdb e /dev/sdc oferece suporte adicional a essa análise. Misturar um Windows no modo BIOS com um modo Linux EFI é complicado, e o GRUB não consegue lidar com isso.

A solução mais fácil, mas não garantida, é editar o arquivo /boot/efi/EFI/refind/refind.conf (ou onde quer que você tenha instalado o rEFInd). Descomente a linha scanfor e assegure-se de que hdbios esteja listado entre as opções. Se tiver sorte, criará um novo ícone no rEFInd que permitirá redirecionar o processo de inicialização para um carregador de inicialização no modo BIOS. Isso não funcionará se seu firmware não tiver um CSM; e também não funcionará se o seu CSM estiver configurado para inicializar somente a partir de /dev/sda . Ainda assim, é uma coisa fácil de se tentar, e se funcionar, as coisas ficarão boas. Observe que, se você seguir esse caminho, você provavelmente desejará remover o diretório /boot/efi/EFI/Microsoft (do Linux), pois ele claramente não contém um carregador de inicialização real do Windows, apenas uma cópia do GRUB criada pelo Boot Repair. (É por isso que selecionar o Windows a partir do rEFInd lança o GRUB.)

Outra solução é instalar a versão em modo BIOS do GRUB (do pacote grub-pc ; instalá-lo deve desinstalar automaticamente a versão em modo EFI do GRUB) e reconfigurar o firmware para inicializar apenas no modo BIOS / CSM / legado . A última parte da tarefa é impossível de descrever em detalhes, porque a maneira como você faz isso varia de um computador para outro.

Se tudo isso falhar, talvez seja necessário converter /dev/sda de GPT para MBR. Você pode fazer isso com gdisk : Iniciar gdisk no disco, digite r para inserir a recuperação & amp; menu de transformação, digite g para converter de GPT para MBR, digite p para visualizar a tabela de partição para verificar se todas as suas partições estão incluídas e digite w para salvar as alterações. Você precisará reinstalar uma versão do GRUB no modo BIOS. (Todo esse processo é basicamente um último esforço para fazer o computador inicializar no modo BIOS, e não no modo EFI.)

    
por Rod Smith 13.06.2013 / 21:43
0

Definitivamente, o "chainloader +1" está errado para uma inicialização EFI, mas achei que o reparo de inicialização corrigiu aqueles como "chainloader ($ {root}) / EFI / Microsoft / Boot / bkpbootmgfw.efi" Observe o " bkp "no nome (talvez no final), esse é o bootloader original do Windows. Você deve ter uma partição efi separada no novo disco do ubuntu, mas talvez o instalador tenha montado o do ssd (Se você executou a instalação do desktop "try", você pode ter um shell pronto para desmontar o efi e o mount errados o certo). Se a EFI estiver vazia no novo disco, basta configurá-lo manualmente - copiar o que está no SSD funcionaria. Agora, o arquivo grub.cfg para 12.04.2 eu acho que fica na partição EFI, NÃO em / boot / grub, então talvez seja assim que o reparo de inicialização perdeu a correção. Verifique os dois arquivos, o /boot/grub/grub.cfg e /boot/efi/EFI/ubuntu/grub.cfg, e corrija aquele no caminho EFI (deve ser capaz de copiar o outro se for o caso um reparo de inicialização fixo para você). 13.04 mudou as coisas, então o caminho EFI grub.cfg puxa o outro.

    
por ubfan1 13.06.2013 / 01:16