Reconstruindo arquivos EFI do Windows na partição / boot (Linux + Windows dual boot)

17

Estou inicializando duas vezes o Windows 10 (Atualização pré-aniversário) e o Fedora 24 em um Lenovo IdeaPad N580 (Intel Pentium B960 de 2,2 GHz, 4 GB de RAM, UEFI com o Secure Boot desativado). Originalmente, eu tinha apenas o Windows 10 e, em seguida, instalei o Fedora 23 ao lado dele e tudo funcionou bem - funcionou bem quando atualizei para o Fedora 24. Há algum tempo, decidi que queria experimentar o Ubuntu e o instalei apenas substituindo a raiz, partições / boot e SWAP e mantendo minha partição inicial. O Windows 10 ainda pode inicializar aqui. Então eu decidi que não gostava do Ubuntu e reinstalei o Fedora, com o 24 instalador, tentando fazer exatamente o que fiz com o Ubuntu. A interface era um pouco diferente, mas tenho certeza de que fiz corretamente: depois de fazer toda a configuração da partição, surgiu um pop-up dizendo "Vamos tocar apenas nessas partições" e as partições listadas foram raiz, / boot e SWAP. Nada mais.

Então, quando terminou de instalar, reiniciei. As únicas opções no menu GRUB eram o Fedora e o Fedora Recovery - nada mais. No Windows.

Tentei instalar o rEFInd, que funcionou para mim no passado. Mas não ajudou, me deu as mesmas duas opções.

A partição do Windows ainda existe e eu posso acessá-la no Fedora - arquivos importantes como / bootmgr e / Boot / BCD parecem intactos. A partição do Windows está em / dev / sda5.

Além disso, nas configurações do BIOS em que o Windows Boot Manager costumava aparecer, isso não acontece. Ele só tem refEnd e uma entrada com o número do modelo do meu disco rígido - o que eu suponho que apenas me leve ao menu GRUB. (Na verdade, eu ainda não tentei colocá-lo no topo da lista e reinicializá-lo - sou um pouco preguiçoso: P)

Alguém pode ajudar?

ATUALIZAÇÃO: Manoj identificou o problema: formatando a partição / boot, eu estava me livrando dos arquivos EFI do Windows. Então, eu preciso reconstruir os arquivos em /boot/efi/EFI/Microsoft. Acho que reconstruí o diretório /boot/efi/EFI/Microsoft/Boot, mas preciso dos outros arquivos Microsoft. Alguém poderia me dizer quais arquivos eu preciso lá?

TheInitializer
fonte
oh, o bootmgfw.efi, bootmgr.efie memtest.efinão estão lá ...
TheInitializer
AQUELES ARQUIVOS ESTÃO EM windows partition/Windows/Boot/EFI!!!
TheInitializer
Como você não fez um backup (por quê?), Você deve modificar sua pergunta. "Como recriar arquivos de inicialização UEFI do Windows?"
Xalorous
Criei uma pasta EFI a partir dos arquivos que encontrei na minha partição do Windows, acha que vai funcionar? storage2.static.itmages.com/i/16/0809/…
TheInitializer

Respostas:

19

Desde que você copiou todos os arquivos necessários boot/efi/EFI/Microsoft/Boot, é necessário reconstruir a configuração do Windows Loader. Você precisará de um usb ou dvd inicializável no Windows (será preferível 64 bits).

1: Inicialize a partir do seu meio inicializável. Certifique-se de estar inicializando no modo UEFI.

2: Na primeira tela (onde pede para você escolher o idioma e o teclado), pressione Shift + F10. Isso fornecerá um prompt de comando.

3: Digite diskparte depois list disk(para listar todos os discos disponíveis). Selecione o disco rígido apropriado digitando select disk #.

4: Agora digite list partitione verifique se há uma partição do tipo system(a partição efi). Selecione essa partição digitando select partition #e atribua uma letra de unidade temporária, Gdigitando assign letter=G.

5: Apenas para garantir que a letra da unidade esteja atribuída corretamente, digite list vol. Você deve ver um volume com drive letter (Ltr) as G&file system (Fs) as FAT32

6: Feche diskpartdigitando exit. Certifique-se de que você está em X:\Sources.

7: Digite cd /d G:\EFI\Microsoft\Boot\. Agora execute esses comandos um por um.

bootrec /scanos     
bootrec /fixmbr    
bootrec /fixboot
bootrec /rebuildbcd    
bcdboot C:\Windows /l en-us /s G: /f ALL

8: Feche o prompt de comando e reinicie o sistema. Agora você deve estar inicializando no Windows.

9: Claro que você pode ou não ter o menu grub agora. Mas instalar o grub é muito mais fácil. Siga qualquer um desses links para obter mais informações.

link1 , link2 , link3

Fontes: 1 , 2 , 3 , 4 .

EDITAR - Certifique-se de remover a letra da unidade G atribuída à partição efi o mais rápido possível para impedir que ela apareça em Meu computador.

Manoj
fonte
Obrigado, mas não tenho um USB de recuperação (meio idiota da minha parte) e não consigo criar um sem acesso ao Windows. Vou tentar encontrar uma maneira de fazer um
TheInitializer
1
Muito obrigado, isso funcionou !! Publicando a partir do Windows: D
TheInitializer
1
bootrec /rebuildbcdfalhou para mim, mas funcionou assim mesmo depois que eu pulei.
en4bz 5/11/16
1
Obrigado pelos links de origem , ajudou a entender e aplicar apenas o necessário. Depois de obter Refind bootloader carregamento de novo eu costumava bcdedit como descrito aqui : bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Pau Coma Ramirez
O que você pode fazer se sua partição não estiver listada list disk?
Harsha Goli
0

Antes de iniciar o backup da sua partição de inicialização usando mkdir $HOME/backup && sudo cp -R /boot $HOME/backup. A partição de inicialização geralmente é limitada a 100 MB, portanto deve ser muito pequena.

Se você ainda tiver uma mídia inicializável do Windows 10 (como um pendrive ou um DVD), poderá encontrar os arquivos EFI por lá.

Se você não tem um meio de arranque do Windows você pode montar o ISO ( download se necessário ) usando o comando sudo mkdir /tmp/win10iso && sudo mount -o loop /location/of/win10.iso /tmp/win10iso.

Quando você copiou com êxito esses arquivos EFI para a partição do Windows, adicione uma entrada ao arquivo /etc/grub.d/40_custom.

A entrada ficaria assim:

menuentry 'Windows 10' {
set root='(hd0,msdos5)'
chainloader +1
}

Na configuração do GRUB, os hdXsignificados /dev/sdXe msdosYsignificados /dev/sdXY. Observe que o hdX inicia em 0 e / dev / sdX inicia em A.

Depois disso, atualize seu GRUB com sudo update-grub2. A entrada de inicialização do Windows agora deve estar lá.

Condor
fonte
Obrigado, eu estou baixando o ISO agora (é um arquivo grande!)
TheInitializer
Montei a ISO e tenho uma pergunta - quais arquivos devo copiar e para qual pasta? Meu palpite é de Windows ISO/bootpara /boot/efi/EFI/Microsoft, mas eu realmente não tenho certeza.
TheInitializer