Reconstruction des fichiers Windows EFI dans la partition / boot (Linux + Windows dual boot)

18

Je suis à double démarrage Windows 10 (mise à jour pré-anniversaire) et Fedora 24 sur un Lenovo IdeaPad N580 (Intel Pentium B960 2,2 GHz, 4 Go de RAM, UEFI avec démarrage sécurisé désactivé). À l'origine, je n'avais que Windows 10, puis j'ai installé Fedora 23 à côté et tout a bien fonctionné - cela a également fonctionné lorsque j'ai effectué une mise à niveau vers Fedora 24. Il y a quelque temps, j'ai décidé que je voulais essayer Ubuntu, et je l'ai installé en écrasant uniquement la racine, / boot et les partitions SWAP et garder ma partition home. Windows 10 peut toujours démarrer ici. Ensuite, j'ai décidé que je n'aimais pas Ubuntu et j'ai réinstallé Fedora, avec le programme d'installation 24, en essayant de faire exactement ce que j'ai fait avec Ubuntu. L'interface était un peu différente, mais je suis sûr de l'avoir fait correctement: après avoir fait toute la configuration de la partition, cela m'a donné une fenêtre contextuelle disant "Nous ne toucherons que ces partitions". et les partitions qu'il a répertoriées étaient root, / boot et SWAP. Rien d'autre.

Puis, une fois l'installation terminée, j'ai redémarré. Les seules options du menu GRUB étaient Fedora et Fedora Recovery - rien d'autre. Pas de fenêtres.

J'ai essayé d'installer rEFInd, qui a fonctionné pour moi dans le passé. Mais cela n'a pas aidé, cela m'a donné ces deux mêmes options.

La partition Windows existe toujours et je peux y accéder depuis Fedora - des fichiers importants tels que / bootmgr et / Boot / BCD semblent intacts. La partition Windows se trouve dans / dev / sda5.

De plus, dans les paramètres du BIOS où le gestionnaire de démarrage de Windows apparaissait auparavant, ce n'est pas le cas. Il a juste rEFInd et une entrée avec le numéro de modèle de mon disque dur - qui, je suppose, m'amène simplement au menu GRUB. (Je n'ai pas essayé de le mettre en haut de la liste et de le redémarrer - je suis un peu paresseux: P)

Quelqu'un peut-il aider?

MISE À JOUR: Manoj a identifié le problème: en formatant la partition / boot, je me débarrassais des fichiers Windows EFI. J'ai donc besoin de reconstruire les fichiers à /boot/efi/EFI/Microsoft. Je pense que j'ai reconstruit le répertoire /boot/efi/EFI/Microsoft/Boot, mais j'ai besoin des autres fichiers Microsoft. Quelqu'un pourrait-il me dire de quels fichiers j'ai besoin?

TheInitializer
la source
oh, le bootmgfw.efi, bootmgr.efiet memtest.efin'y sont pas ...
TheInitializer
CES DOSSIERS SONT DANS windows partition/Windows/Boot/EFI!!!
TheInitializer
Puisque vous n'avez pas fait de sauvegarde (pourquoi?), Vous devez modifier votre question. "Comment recréer des fichiers de démarrage UEFI Windows?"
Xalorous
J'ai créé un dossier EFI à partir de fichiers que j'ai trouvés sur ma partition Windows, vous pensez que cela fonctionnera? storage2.static.itmages.com/i/16/0809/...
TheInitializer

Réponses:

20

Puisque vous avez copié tous les fichiers requis dans boot/efi/EFI/Microsoft/Boot, vous devez reconstruire la configuration du chargeur Windows. Vous aurez besoin d'une clé USB ou d'un DVD de démarrage Windows (64 bits sera préférable).

1: Démarrez à partir de votre support de démarrage. Assurez-vous que vous démarrez en mode UEFI.

2: Sur le premier écran (où il vous demande de choisir la langue et le clavier), appuyez sur Shift + F10. Cela vous donnera une invite de commande.

3: Tapez diskpartpuis list disk(pour répertorier tous les disques disponibles). Sélectionnez le disque dur approprié en tapant select disk #.

4: Tapez maintenant list partitionet assurez-vous qu'il existe une partition de type system(la partition efi). Sélectionnez cette partition en tapant select partition #et affectez-lui une lettre de lecteur temporaire, Gpar exemple en tapant assign letter=G.

5: Pour vous assurer que la lettre de lecteur est correctement affectée, tapez list vol. Vous devriez voir un volume avec drive letter (Ltr) as G&file system (Fs) as FAT32

6: Fermez diskparten tapant exit. Assurez-vous que vous êtes bien X:\Sources.

7: Tapez cd /d G:\EFI\Microsoft\Boot\. Exécutez maintenant ces commandes une par une.

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

8: Fermez l'invite de commande et redémarrez le système. Vous devriez maintenant démarrer sur Windows.

9: Bien sûr, vous n'avez peut-être pas ou pas le menu grub maintenant. Mais installer grub est beaucoup plus facile. Suivez l'un de ces liens pour plus d'informations.

link1 , lien2 , link3

Sources: 1 , 2 , 3 , 4 .

EDIT - Assurez-vous que vous supprimez la lettre de lecteur G attribuée à la partition efi dès que possible pour l'empêcher de s'afficher dans Poste de travail.

Manoj
la source
Merci, mais je n'ai pas de récupération USB (un peu stupide de ma part) et je ne peux pas en créer un sans avoir accès à Windows. Je vais essayer de trouver un moyen d'en faire un
TheInitializer
1
Merci beaucoup, cela a fonctionné !! Publication à partir de Windows: D
TheInitializer
1
bootrec /rebuildbcda échoué pour moi, mais cela a quand même fonctionné après l'avoir ignoré.
en4bz
1
Merci pour les liens source , aidé à comprendre et à appliquer uniquement le nécessaire. Ensuite, pour que le chargeur de démarrage rEFInd se charge à nouveau, j'ai utilisé bcdedit comme décrit ici : bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Pau Coma Ramirez
Que pouvez-vous faire si votre partition n'est pas répertoriée list disk?
Harsha Goli
0

Avant de démarrer la sauvegarde de votre partition de démarrage à l'aide de mkdir $HOME/backup && sudo cp -R /boot $HOME/backup. La partition de démarrage est généralement limitée à 100 Mo, elle devrait donc être très petite.

Si vous disposez toujours d'un support de démarrage Windows 10 (comme une clé USB ou un DVD), vous pourrez y trouver les fichiers EFI.

Si vous n'avez pas de support de démarrage Windows, vous pouvez monter l'ISO ( télécharger si nécessaire ) à l'aide de la commande sudo mkdir /tmp/win10iso && sudo mount -o loop /location/of/win10.iso /tmp/win10iso.

Lorsque vous avez copié avec succès ces fichiers EFI sur la partition Windows, ajoutez une entrée au fichier /etc/grub.d/40_custom.

L'entrée ressemblerait à ceci:

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

Dans la configuration GRUB, le hdXsignifie /dev/sdXet msdosYsignifie /dev/sdXY. Notez que hdX commence à 0 et / dev / sdX commence à A.

Après cela, mettez à jour votre GRUB avec sudo update-grub2. L'entrée de démarrage de Windows devrait maintenant être là.

Condor
la source
Merci, je télécharge l'ISO en ce moment (c'est un gros fichier!)
TheInitializer
J'ai monté l'ISO et j'ai une question - quels fichiers suis-je censé copier et dans quel dossier? Je suppose de Windows ISO/bootà /boot/efi/EFI/Microsoft, mais je ne suis vraiment pas sûr.
TheInitializer