Inicialização dupla do Ubuntu 12.10 no UEFI no Windows 8 (GRUB - erro: não é possível encontrar o comando drivemap)

8

Olá, após uma instalação bem-sucedida do Ubuntu 12.10 amd64, agora não consigo inicializar o Windows 8.

Aqui estão minhas ações:

  1. Espaço criado (15 GB) para Ubuntu a partir do Windows 8 Computer Managment
  2. Inicialize o Ubuntu 12.10 amd64 LiveUSB com EFI e com a Inicialização segura ativada
  3. Criou 2 novas partições no final (13 GB Ext4 Root e 2 GB Swap)
  4. Partição de sistema EFI do Windows 8 selecionada para instalar o gerenciador de inicialização

O Grub me dá na inicialização:

  1. Ubuntu (funciona sem problemas)
  2. Ambiente de recuperação do Windows (muitos erros)
  3. Windows 8 (2 mensagens de erro descrevem logo abaixo)

As 2 mensagens de erro são:

  • error: can't find command drivemap.
  • error: invalid EFI file path
Kouros
fonte
Rectificação Selecionei "o recém-criado partição de sistema EFI" para instalar o bootloader, mas em reallity que instalou o bootloader sobre o Windows 8 EFS ...
Kouros
Você fez um backup com antecedência? ou seja, o Windows 8 iniciar / partição do sistema é algo pequeno como 150-350 MB então talvez você fez dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? Se esse backup existir, eu restauraria o sistema Windows / iniciaria partições que poderiam ter sido "danificadas".
Humanandpeace
Desculpe nenhum backup, mas eu consegui obter o Windows 8 para trás usando Recovery Environment (premindo o botão auxiliar em vez do botão de ligar)
Kouros
você fez seriamente uma duplicata de sua própria pergunta? Instalar Ubuntu 12.10 em UEFI juntamente Windows 8
duxk.gh
NOTA: a atualização para 13.04 removeu essa alteração na minha instalação.
gcb

Respostas:

6

Encontrei uma solução temporária.

Adicionar uma entrada personalizada ao menu de inicialização do GRUB

Anexe o código abaixo a /etc/grub.d/40_custom.

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Você pode usar Ctrl+ Alt+ Tpara abrir um terminal e executar sudo nano /etc/grub.d/40_custom, depois copie e cole o código. Finalmente, pressione Ctrl+ Opara salvar e Ctrl+ Xpara sair.

Atenção: hd0,gpt1 aqui está o ID da minha partição do sistema EFI (ESP). Se o seu ESP não é a primeira partição do seu primeiro disco rígido durante a inicialização , a sua é diferente! Por exemplo, hd1,gpt2para a segunda partição na segunda unidade.

Substitua part_gptpor part_msdosse a unidade usa particionamento MBR e herdado e também mude hd0,gpt1para hd0,msdos1respectivamente.

Aplicar alterações ao GRUB

Basta executar o seguinte comando, que deve gerar uma nova configuração do GRUB, incluindo a nova entrada personalizada:

sudo update-grub

Agora reinicie, você poderá inicializar o Windows 8 agora. Caso contrário, e o Windows reclamar da configuração corrompida do BCD, continue no superusuário: Como posso reparar o Windows 8 EFI Bootloader?


Aviso: Em algumas ocasiões, se você inicializar o Windows 8, o GRUB será substituído pelo Windows Boot Manager como gerenciador de inicialização padrão.

Kouros
fonte
o que devo 'mirar'? Eu pensei que era a partição de dados do Windows (gpt4 aqui), mas funcionou com gpt1, que é a única partição EFI que tenho. i embora a instalação do Ubuntu teria substituído o conteúdo janelas da partição EFI, como grub faz ao MBR ...
gcb
1
Esta solução não está funcionando para mim. O personagem está `aparecendo no set root='(hd0,gpt1)'pretendido. Dá erro para mim (eu tento com gpt3) mesmo sem esse personagem também. O erro é como (hd0,gpt1)não foi encontrado.
Iammilind
3

As entradas incorretas do Windows no GRUB são devido a este erro: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Solução: execute o Boot-Repair 's a Recommended Repairpartir de um liveCD (ou liveUSB).

LovinBuntu
fonte
1
Eu tive que desativar a "inicialização segura" na BIOS antes que isso funcionasse.
Robin Winslow
@RobinWinslow Sim, o Boot-Repair também funcionou para mim (Lenovo Thinkpad S540), mas apenas se eu desativasse SecureBooto BIOS, caso contrário, o Windows 8 ainda reclama ... Seria bom se isso pudesse funcionar enquanto mantivesse o SecureBoot
fpghost
0

Eu encontrei uma maneira de desligar o Windows 8. Consulte /superuser/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

No W8, em uma janela de comando com privilégios elevados, execute powercfg / h off. Quando você faz isso, o W8 já pode ter substituído a partição EFI. Foram necessárias algumas iterações para alterar o bootmgfw.efi e redefini-lo até travar, mas agora estou feliz.

Não sei dizer se apenas inicializar o W8 é suficiente ou se você precisa fazer login e reiniciar. Talvez alguém com mais paciência (trabalhei nisso por mais de meio dia) possa perceber.

Lupe
fonte
0

Eu tenho o mesmo problema no meu laptop Asus-x202 (executando W8 e Ubuntu 13.04).

Uma solução um pouco irritante é boa o suficiente para mim no momento: no menu de inicialização, vá para o sistema (ou inicie o BIOS desde o início usando provavelmente f2). Se você usar a substituição para inicializar, o Windows iniciará normalmente.

user184354
fonte
1
O que exatamente você está se referindo com "a substituição para inicializar"? Não entendo essa parte da sua resposta.
precisa saber é o seguinte
0

O "substituir para inicializar" é um menu na guia "inicializar" do menu de configuração das placas-mãe. Ele permite que você selecione e inicie instantaneamente qualquer carregador de inicialização instalado no seu equipamento.

vic
fonte
1
@edwin Esta resposta pode ser expandida, mas parece ser uma tentativa de responder à pergunta que foi feita. vic : Bem-vindo ao Ask Ubuntu! Eu recomendo editá-lo para adicionar mais informações sobre como usar esse recurso, bem como uma explicação mais completa do porquê de resolver esse problema. Obrigado.
Elias Kagan
0

Estou com um problema semelhante no meu novo HP Pavillion Sleekbook, modelo 15-b142dx. Ele veio com o W8 pré-carregado. Consegui redimensionar a partição do Windows a partir do Windows e instalei o Ubuntu 13.04 de 64 bits a partir de um pen drive. No entanto, na reinicialização, o W8 iniciou normalmente, sem menu de inicialização. Então, usei o "boot-repair", que tornou o sistema não inicializável. Na inicialização, ele imprimiria:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

Seria então desligado.

Após algumas tentativas e erros, descobri que pressionar F10 durante a inicialização me levaria ao BIOS, onde eu poderia desativar a Inicialização Segura. Na próxima inicialização, recebi um menu LONG do grub, com muitas entradas como:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

Todos estavam contidos em um arquivo "/etc/grub.d/25_custom". Fiz uma cópia de backup desse arquivo e eliminei todas as entradas, exceto o carregador UEFI do Windows Boot. (Essa é uma das entradas que permite a inicialização do W8). Em seguida, executei o "update-grub" e terminei com um menu de inicialização muito melhor, e posso inicializar qualquer um dos sistemas operacionais.

user200241
fonte