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

9

Tenho dupla inicialização do Windows 10 (Atualização pré-aniversário) e do Fedora 24 em um Lenovo IdeaPad N580 (Intel Pentium B960 2.2 GHz, 4 GB de RAM, UEFI com inicialização segura desativada). Eu originalmente tinha apenas o Windows 10 e depois instalei o Fedora 23 junto com ele e tudo funcionou bem - ele funcionou bem quando eu atualizei para o Fedora 24. Um tempo atrás, eu decidi que queria testar o Ubuntu, e instalei apenas sobrescrevendo a raiz, / boot e SWAP e manter 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 que fiz isso corretamente: depois que eu fiz toda a configuração da partição, ela me deu um popup dizendo "Vamos tocar apenas nessas partições", e as partições listadas eram root, / boot e SWAP. Nada mais.

Então, quando terminou a instalação, eu reiniciei. As únicas opções no menu do GRUB eram o Fedora e o Fedora Recovery - nada mais. Não há janelas.

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

A partição do Windows ainda existe e eu posso acessá-la a partir do 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 da BIOS em que o Gerenciador de inicialização do Windows costumava aparecer, isso não acontece. Ele só tem rEFInd e uma entrada com o número do modelo do meu disco rígido - o que estou assumindo apenas me leva ao menu GRUB. (Eu não tentei trazê-lo para o topo da lista e reiniciar - eu sou um pouco preguiçoso: P)

Alguém pode ajudar?

ATUALIZAÇÃO: Manoj Sawai identificou o problema: ao formatar 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 em Microsoft . Alguém poderia me dizer quais arquivos eu preciso lá?

    
por TheInitializer 06.08.2016 / 23:56

2 respostas

9

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

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 . Isto lhe dará um prompt de comando.

3: Digite diskpart e, em seguida, list disk (para listar todos os discos disponíveis). Selecione o disco rígido apropriado digitando select disk # .

4: Agora digite list partition e certifique-se de que haja uma partição do tipo system (a partição efi). Selecione esta partição digitando select partition # e atribua uma letra de unidade temporária a ela, digamos G digitando 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 diskpart digitando exit. Certifique-se de estar 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 mais informações.

link1, link2, link3

Fontes: 1 , 2 , 3 , 4 .

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

    
por 09.08.2016 / 18:59
0

Antes de iniciar o backup de 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, então deve ser bem pequena.

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

Se você não tiver uma mídia inicializável do Windows, poderá 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 sucesso 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, o hdX representa /dev/sdX e msdosY representa /dev/sdXY . Note que o hdX começa em 0 e o / dev / sdX começa em A.

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

    
por 09.08.2016 / 19:19