Rekonstruktion von Windows EFI-Dateien in / boot-Partition (Linux + Windows Dual Boot)

16

Ich starte Windows 10 (Pre-Anniversary Update) und Fedora 24 auf einem Lenovo IdeaPad N580 (Intel Pentium B960 2,2 GHz, 4 GB RAM, UEFI mit deaktiviertem Secure Boot) doppelt. Ich hatte ursprünglich nur Windows 10 und installierte dann Fedora 23 daneben und alles funktionierte einwandfrei - es funktionierte auch, als ich auf Fedora 24 aktualisierte. Vor einiger Zeit entschied ich mich, Ubuntu auszuprobieren und installierte es nur, indem ich den Root überschrieb. / boot und SWAP-Partitionen und Behalten meiner Home-Partition. Windows 10 kann hier noch booten. Dann entschied ich, dass ich Ubuntu nicht mochte und installierte Fedora mit dem 24-Installationsprogramm neu, um genau das zu tun, was ich mit Ubuntu gemacht hatte. Die Benutzeroberfläche war etwas anders, aber ich bin mir sicher, dass ich es richtig gemacht habe: Nachdem ich alle Partitionen konfiguriert hatte, gab es ein Popup mit der Aufschrift "Wir werden nur diese Partitionen berühren". und die aufgelisteten Partitionen waren root, / boot und SWAP. Nichts anderes.

Als die Installation abgeschlossen war, startete ich neu. Die einzigen Optionen im GRUB-Menü waren Fedora und Fedora Recovery - sonst nichts. Kein Windows.

Ich habe versucht, rEFInd zu installieren, was in der Vergangenheit für mich funktioniert hat. Aber es hat nicht geholfen, es gab mir die gleichen zwei Möglichkeiten.

Die Windows-Partition ist noch vorhanden und ich kann über Fedora darauf zugreifen - wichtige Dateien wie / bootmgr und / Boot / BCD scheinen intakt zu sein. Die Windows-Partition befindet sich unter / dev / sda5.

In den BIOS-Einstellungen, in denen Windows Boot Manager früher angezeigt wurde, ist dies ebenfalls nicht der Fall. Es hat nur rEFInd und einen Eintrag mit der Modellnummer meiner Festplatte - von der ich annehme, dass sie mich nur zum GRUB-Menü bringt. (Ich habe nicht wirklich versucht, es an die Spitze der Liste zu bringen und neu zu starten - ich bin ein bisschen faul: P)

Kann jemand helfen?

UPDATE: Manoj Sawai hat das Problem identifiziert: Durch Formatieren der / boot-Partition wurden die Windows-EFI-Dateien entfernt. Also muss ich die Dateien bei rekonstruieren /boot/efi/EFI/Microsoft. Ich glaube, ich habe das Verzeichnis rekonstruiert /boot/efi/EFI/Microsoft/Boot, aber ich brauche die anderen Dateien in Microsoft. Könnte mir jemand sagen, welche Dateien ich dort brauche?

TheInitializer
quelle
@ManojSawai Nein, gibt es nicht. Könnte das das Problem sein? (Ich habe formatiert /boot)
TheInitializer
@ManojSawai Das sieht genauso aus wie in meinem Windows-Partitions- / Boot-Ordner! storage9.static.itmages.com/i/16/0809/… (links ist meine Windows-Partition / Boot, rechts ist Ihr Screenshot) Glauben Sie, ich könnte einfach alle diese Dateien kopieren?
TheInitializer
Oh, die bootmgfw.efi, bootmgr.efiund memtest.efisind nicht da ...
TheInitializer
DIESE DATEIEN SIND IN windows partition/Windows/Boot/EFI!!!
TheInitializer

Antworten:

18

Da Sie alle erforderlichen Dateien in kopiert haben boot/efi/EFI/Microsoft/Boot, müssen Sie die Windows Loader-Konfiguration neu erstellen . Sie benötigen einen Windows-bootfähigen USB- oder DVD-Anschluss (64-Bit ist vorzuziehen).

1: Booten Sie von Ihrem bootfähigen Medium. Stellen Sie sicher, dass Sie im UEFI-Modus booten.

2: Drücken Sie auf dem ersten Bildschirm (auf dem Sie aufgefordert werden, Sprache und Tastatur auszuwählen) Shift + F10. Dadurch erhalten Sie eine Eingabeaufforderung.

3: Geben Sie diskpartund dann ein list disk(um alle verfügbaren Festplatten aufzulisten). Wählen Sie durch Eingabe die entsprechende Festplatte aus select disk #.

4: Geben Sie nun ein list partitionund stellen Sie sicher, dass es eine Partition vom Typ gibt system(die efi-Partition). Wählen Sie diese Partition durch Eingabe aus select partition #und weisen Sie ihr einen temporären Laufwerksbuchstaben zu, z. B. Gdurch Eingabe assign letter=G.

5: Geben Sie Folgendes ein, um sicherzustellen, dass der Laufwerksbuchstabe korrekt zugewiesen ist list vol. Sie sollten ein Volume mit drive letter (Ltr) as G& sehenfile system (Fs) as FAT32

6: Schließen Sie, diskpartindem Sie exit eingeben. Stellen Sie sicher, dass Sie in sind X:\Sources.

7: Typ cd /d G:\EFI\Microsoft\Boot\. Führen Sie diese Befehle nun nacheinander aus.

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

8: Schließen Sie die Eingabeaufforderung und starten Sie das System neu. Sie sollten jetzt Windows starten.

9: Natürlich können Sie das Grub-Menü jetzt nicht oder nicht haben. Die Installation von Grub ist jedoch weitaus einfacher. Folgen Sie einem dieser Links, um weitere Informationen zu erhalten.

link1 , link2 , link3

Quellen: 1 , 2 , 3 , 4 .

BEARBEITEN - Stellen Sie sicher, dass Sie den Laufwerksbuchstaben G, der der efi-Partition zugewiesen ist, so schnell wie möglich entfernen, damit er nicht im Arbeitsplatz angezeigt wird.

Manoj
quelle
Vielen Dank, aber ich habe keinen Wiederherstellungs-USB (ein bisschen dumm von mir) und ich kann keinen ohne Zugriff auf Windows erstellen. Ich werde versuchen, einen Weg zu finden, einen zu machen
TheInitializer
1
Vielen Dank, das hat funktioniert !! Posting von Windows: D
TheInitializer
1
bootrec /rebuildbcdscheiterte für mich, aber es funktionierte trotzdem, nachdem ich es übersprungen hatte.
en4bz
1
Vielen Dank für die Source- Links, die geholfen haben, nur das Notwendige zu verstehen und anzuwenden. Danach habe ich bcdedit wie hier beschrieben verwendet, um den rEFInd-Bootloader wieder zu laden : bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi
Pau Coma Ramirez
Was können Sie tun, wenn Ihre Partition nicht von aufgelistet ist list disk?
Harsha Goli
0

Bevor Sie Ihre Boot-Partition mit sichern mkdir $HOME/backup && sudo cp -R /boot $HOME/backup. Die Boot-Partition ist normalerweise auf 100 MB begrenzt, daher sollte sie sehr klein sein.

Wenn Sie noch ein bootfähiges Windows 10-Medium haben (z. B. einen USB-Stick oder eine DVD), können Sie die EFI-Dateien dort finden.

Wenn Sie kein bootfähiges Windows-Medium haben, können Sie die ISO ( ggf. herunterladen ) mit dem Befehl bereitstellen sudo mkdir /tmp/win10iso && sudo mount -o loop /location/of/win10.iso /tmp/win10iso.

Wenn Sie diese EFI-Dateien erfolgreich auf die Windows-Partition kopiert haben, fügen Sie der Datei einen Eintrag hinzu /etc/grub.d/40_custom.

Der Eintrag würde so aussehen:

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

In der GRUB-Konfiguration hdXsteht das für /dev/sdXund msdosYsteht für /dev/sdXY. Beachten Sie, dass hdX bei 0 beginnt und / dev / sdX bei A beginnt.

Aktualisieren Sie anschließend Ihren GRUB mit sudo update-grub2. Der Windows-Starteintrag sollte jetzt vorhanden sein.

Kondor
quelle
Danke, ich
lade gerade
Ich habe die ISO gemountet und habe eine Frage: Welche Dateien soll ich kopieren und in welchen Ordner? Meine Vermutung ist von Windows ISO/bootbis /boot/efi/EFI/Microsoft, aber ich bin mir wirklich nicht sicher.
TheInitializer