Windows 10 EFI-Partition reparieren/wiederherstellen

Es kann unter Umständen mal passieren, dass die EFI-Partition – auch ESP (EFI-System-Partition) genannt – fehlerhaft ist und Sie dadurch Ihr System nicht mehr starten könnten!

Bei normalen Clients (Keine Virtualisierungsumgebung!) erscheint dann lediglich der Hinweis:

Operating System not found” oder ähnlich.

EFI-Partition fehlerhaft.

Ich habe deswegen extra mal das Szenario in einer meiner virtuellen Maschinen nachgebaut gehabt. Ich hatte dort einfach die EFI-Partition gelöscht. Ich weiß natürlich, dass sich unter normalen Umständen nicht einfach so die EFI-Partition löscht, klar, aber das war für mich halt der schnellste Weg den Fehler zu verursachen.

Normalerweise sollte es eher so sein, dass die Partition noch vorhanden ist, aber der Bootloader (Startprogramm von Windows) nicht mehr auffindbar ist, warum auch immer. Es gibt verschiedene Wege die zu einem solchen Problem führen können.

Microsoft selbst gibt folgende Partitionen als Standard und auch als empfohlen für die folgenden Firmwarearten an:

Empfohlenes Windows Partitionslayout von Microsoft für BIOS-basierte Rechner.
Empfohlenes Windows Partitionslayout von Microsoft für UEFI-basierte Rechner.

Voraussetzung:

Zum Reparieren des nicht mehr startenden Systems, benötigen Sie entweder eine Windows 10 DVD mit der richtigen Architektur für Ihr System (32-Bit oder 64-Bit) oder ein WinPE, das Sie ebenfalls von einem USB-Stick oder über PXE laden könnten.

Ich mache Ihnen hier auch nur Beispiele für Windows 10 Installationen, da die älteren Systeme obsolet sind.

Systemdatenträger mittels “Diskpart”  auf die Reparatur vorbereiten

Sollten Sie ein WinPE gebootet haben, dann werden sie sowieso in der Eingabeaufforderung landen, für Leute die das Windows ISO benutzen; drückt einfach UMSCHALT+F10. Dadurch öffnet sich auch dort eine Eingabeaufforderung.

Befehlsabkürzungen (Ihr müsst diese nicht ausschreiben! Ich zeige euch nur, was diese bedeuten):

  • sel = select
  • par = partition
  • vol = volume

Gebt nun

diskpart

ein.

Selektiert nun mit folgenden Befehl die Systemfestplatte:

sel disk system

Normalerweise befindet sich Euer Windows und auch sonstige Systempartitionen immer auf dem Datenträger 0. Ich sage extra normalerweise, da dies nicht immer der Fall ist.

Sollte nicht automatisch ein Systemdatenträger gefunden werden, dann könntet Ihr auch die Festplatte mit dem Befehl:

list disk

finden. Einen Hinweis auf welcher Festplatte sich Eure Installation versteckt, bekommt Ihr dadurch, dass Windows-Installationen im UEFI Modus immer auf einem GPT Datenträger vollzogen werden müssen. Daher scheiden alle Datenträger aus, die keinen Stern bei GPT haben.

Diskpart List Disk

Selektiert wird diese dann mit:

sel disk 0

Lassen Sie sich im Anschluss alle Partitionen anzeigen:

list par
Diskpart List Partition

Möglichkeit 1: Die EFI-Partition existiert noch!

Unsere EFI-Partition (Liegt immer im Dateisystem: “FAT32” vor) ist die Partition 4 auf Datenträger 0 mit der Mindestgröße von 100 MB.

Verwechseln Sie dies bitte nicht mit der Systempartition bei Clients mit der Mindestgröße von 100 MB, die im BIOS (MBR) Modus installiert wurden! Diese wäre außerdem mit dem Dateisystem “NTFS” versehen.

Das dies außerdem der Systemdatenträger sein muss, erkennen Sie an den anderen Partitionen wie zum Beispiel die Wiederherstellungspartition oder die MSR-Partition (Microsoft-Reserved). Natürlich aber auch an der Größe der primären Partition, denn Sie als Nutzer Ihres eigenen Rechners wissen ja am besten, auf welche Platte Sie Windows installiert haben und wie groß diese ist.

Damit wir das System reparieren können, müssen wir dieser Partition vorübergehend einen Laufwerksbuchstaben zuweisen. Bei einem späteren Neustart wird dieser automatisch wieder entfernt. Sie müssen natürlich die Zahl verwenden, die Ihrer EFI-Partition entspricht. Die 4 müssen Sie gegen Ihren Wert tauschen! Normalerweise dürfte das bei den meisten die Partition 1 sein.

Tippt dafür folgende Befehle Zeile für Zeile ein:

sel par 4
assign letter="z"
exit

Sprungmarke: Weiterer abschließender Schritt.

Möglichkeit 2: Die EFI-Partition existiert nicht mehr!

Wenn Sie keine System Partition auf dem Datenträger 0 finden können und auch auf allen anderen Datenträgern in Ihrem System nicht, dann können Sie diese einfach neu anlegen lassen. Aber Vorsicht! Diese Möglichkeit nur durchgehen, wenn sie nur ein einziges Betriebssystem auf ihrem gesamten System installiert haben!

Da wir über

sel disk 0 
list par

keine Systempartition finden konnten, schauen wir erst einmal wie viel Platz überhaupt noch zur Verfügung steht.

Tippen sie dafür nochmal folgendes ein:

list disk
Diskpart – Verfügbarer ungenutzter Speicherplatz.

Wie wir hier sehen können sind 199 MB ungenutzt! Diese könnten wir direkt verwenden, aber was machen wir, wenn dort 0 MB steht? Denn dann müssten wir erst Platz schaffen. Daher gibt es auch hier zwei Möglichkeiten.

Unterpunkt – Möglichkeit 2.1: Speicherplatz freigeben

Um Speicherplatz beispielsweise der Windows-Partition zu nutzen, müssen wir diesen dem Volume entlocken.

sel disk 0 
list vol
Diskpart List Volume

Unser Volume 1 ist hier die Windows-Partition mit dem Buchstaben C:\ wie das meistens der Fall ist. Um dieser Partition ein paar MB zu entlocken tippen wir:

sel vol 1

EFI-Partitionen sollten mindestens immer 100 MB groß sein. Wenn Sie bereits beispielsweise 50 MB ungenutzten freien Speicherplatz haben, dann könnten Sie den Befehl

shrink minimum=50

nutzen um die 100 MB voll zu machen. Dies ist jedoch davon abhängig wo genau der freie ungenutzte Speicherplatz liegt. Wenn dieser zwischen zwei Partitionen liegt, dann können sie diese 50 MB NICHT nutzen. Das merken Sie spätestens, wenn Ihnen 100 MB freier Platz angezeigt werden, beim Erstellen der EFI-Partition aber eine Fehlermeldung präsentiert wird, dass dies nicht möglich sei.

Dieser freie Speicherplatz kann genutzt werden, da dieser am Ende der Windows Partition ist. Durch das Verkleinern der Windows Partition wird der neue verfügbare Platz immer am Ende hinzugefügt.
Hier ist die Nutzung der bereits vorhandenen 50 MB Speicherplatzes nicht möglich, da dieser zwischen zwei Partitionen liegt.

Es wäre hier dann erforderlich, zusätzlich 100 MB freigeben zu lassen (Bild 2) oder eben nochmals 50 MB (Bild 1). In diesem Falle wäre es eventuell eine Überlegung wert, vor dieser Aktion hier mittels beispielsweise des “Acronis Disk Director” oder mit dem “AOMEI Partition Assistant” Programms, den Platz vorher umverteilen zu lassen und Partitionen so zu erweitern, dass die Lücken geschlossen werden. Das obliegt aber Ihnen. Und da diese Programme auch nicht kostenlos sind, hat die auch nicht jeder. Zwingend erforderlich wäre dies jedoch nicht!

Mit dem Diskpart-Tool ist das nämlich meines Wissens nach nicht möglich.

Wenn kein ungenutzter Speicherplatz vorhanden sein sollte, dann schreiben sie statt der 50 eine 100!

Nun haben wir den benötigen Platz zur Verfügung.

Unterpunkt – Möglichkeit 2.2: Partition neu anlegen lassen

Da nun 100 MB frei sind vergewissert euch mittels des Befehls:

list disk

Das der Systemdatenträger noch ausgewählt ist. Das erkennt Ihr an dem Sternchen links neben dem Datenträger 0.

Um die Partition erstellen zu lassen tippt Ihr folgendes Zeile für Zeile ein:

create partition EFI size=100
format quick fs=fat32 label="System"
assign letter="z"
exit

Damit haben wir nun alle möglichen Szenarien durch:

  • Die EFI-Partition existiert noch
  • Die EFI-Partition existiert nicht mehr und es ist kein freier ungenutzter Speicherplatz  vorhanden
  • Die EFI-Partition existiert nicht mehr, aber es ist noch ungenutzter Speicherplatz vorhanden

Damit wäre der Diskpart-Teil soweit auch fertig.

Eintragungen auf der EFI-Partition vornehmen lassen – Bootloader/Bootmanager/BCD

Immer noch in der Eingabeaufforderung gebt Ihr nun folgendes ein:

bcdboot c:\windows /l de-de /s z: /f UEFI

Dadurch werden auf der EFI-Partition die Standardordner \EFI\Microsoft\Boot erstellt und auch alle nötigen Startumgebungsdateien kopiert.

Mit C:\Windows ist der Pfad zu der Windowsinstallation gemeint. de-de sind die Sprach-Codes für die deutsche Sprache. “z:” ist hier unsere EFI-Partition, der wir zuvor einen Laufwerksbuchstaben gegeben hatten. Als Firmwaretyp geben wir UEFI an.

Wenn der Befehl abgearbeitet wurde, starten Sie Ihren Rechner neu und gehen Sie dann ins BIOS. Dort ändern Sie die Bootreihenfolge auf den Windows-Boot-Manager um und lassen dies speichern. Nun sollte Ihr System wieder starten. Der erste Start nach der Reparatur dauert immer ein klein bisschen. Fertig. 🙂

Laufwerksbuchstaben der EFI-Partition entfernen (Optional)

Es kann hin und wieder mal vorkommen, dass der Laufwerksbuchstabe nach der Reparatur dennoch unter Windows weiterhin der EFI-Partition zugewiesen ist. Sollte das der Fall sein, dann starten Sie wieder Diskpart und durch die Eingabe folgendes Beispiels, könnte der Laufwerksbuchstabe wieder entfernt werden:

Die nachfolgenden Befehle sind Zeile für Zeile einzugeben und an Ihre vorliegende Situation anzupassen!

  • Disk 0 = Systemdatenträger (Windows-Installation)
  • par 4 = EFI-Partition
sel disk 0
sel par 4
remove letter="z"
exit

Zum Anfang!

88 Antworten auf „Windows 10 EFI-Partition reparieren/wiederherstellen“

  1. Stunden habe ich damit verbracht, meinen Rechner wieder zum Laufen zu bekommen.
    Alle Anleitungen waren nicht schlecht, haben aber nichts gebracht.
    Ich war echt am verzweifeln, bis ich diese Seite hier entdeckt habe.
    Alles super gut und strukturiert erklärt.
    Lösung war Schritt 2.2, meine EFI-Partition hat gefehlt.
    Einfach klasse, allerbesten Dank!

  2. Ich möchte beim Autor auch nochmal bedanken, hat mir eine Menge Arbeit erspart. Das war auch der einzige Beitrag in dem eine klare Trennung der Schritte etc. aufgezeigt wurde. Vielen Dank für die Arbeit.

    LG

  3. Bei mir hat alles nach Anleitung funktioniert. Allerdings weiß ich nicht genau, wie ich im BIOS die Boot Reihenfolge auf den Windows-Boot-Manager umändern soll? Bzw. Was mit Windows-Boot-Manager gemeint ist?
    Wenn ich im BIOS unter Startup und dann unter Boot gehe finde ich nur:
    -ATA HDD 0 …
    -USB HDD
    -USB CD
    -USB FDD
    -NVMe
    -PCI LAN

    Ich hoffe, dass es auch für mein Problem eine Lösung gibt. Bis dahin hat die Anleitung problemlos funktioniert

    1. Der Windows-Boot-Manager Eintrag steht stellvertretend für das Volume, worüber der Startcode der einzelnen Windows Betriebssystemen im UEFI Modus geladen wird. Dieser Eintrag wird dir auch nur dann erscheinen, wenn Windows auch wirklich im UEFI Modus installiert, und dieses Volume auch erkannt wurde. Selbst wenn dein BIOS ein UEFI BIOS sein sollte, so haben die meisten davon immer noch ein CSM (Compatibility Support Module) mit an Board. Es kann bei dir also auch der Fall sein, dass das CSM aktiviert ist und dein Windows ursprünglich gar nicht im UEFI Modus lief, sondern im alten Legacy Mode. Ist das CSM bei dir aktiviert und was steht bei Boot Device?

      Dann hilft dir meine Anleitung aber auch nicht weiter! Du bist dir zu 100% sicher, dass Windows im UEFI Modus installiert ist? Der Systemdatenträger benutzt das GPT Format? War der Stern bei GPT bei dem Systemdatenträger gesetzt? Hast du dich davon überzeugt gehabt, dass die alte Systempartition (100 MB) im FAT32 Dateisystem vorlag?

      Öffne nochmal diskpart und wähle mit:

      sel disk system

      den Systemdatenträger bei dir aus. Danach über:

      detail disk

      bitte mal nach gucken, welche Partitionen vorliegen, wie diese heißen, wie groß diese sind und in welchem Dateisystemformat diese vorliegen.

  4. Also…

    – das Gerät ist ein Lenovo ThinkPad T560

    – mein BIOS ist ein UEFI BIOS (Version N1KET51W 1.38)

    – Systemdatenträger ist eine SSD von Crucial … die MX500 mit 1TB (CT1000MX500SSD1) , ansonsten ist kein anderer Datenträger/keine andere Festplatte verbaut (Windows ist auf Partition C installiert, Partition D für Daten)

    – inzwischen habe ich es irgendwie hinbekommen, dass im UEFI BIOS unter Boot bzw. Bootreihenfolge der Windows Boot Manager auftaucht (dieser steht auch an 1. Stelle, an 2. Stelle dann die erwähnte SSD);
    Einstellung unter “UEFI/Legacy Boot” ist “Both”, “UEFI First” und CSM Support ist auf “yes”

    – bei Diskpart ist für Datenträger 0 ein Sternchen bei GPT gesetzt
    – mit list par werden 4 Partitionen angezeigt:
    – Partition 1 “Reserviert” Größe 128 MB Offset 17 KB
    – Partition 2 “System” Größe 100 MB Offset 129 MB
    – Partition 3 “Primär” Größe 930 GB Offset 229 MB
    – Partition 4 “Wiederherstellung” Größe 517 MB Offset 931 GB

    – mit list vol werden mir 3 Volumes angezeigt:
    – Vol. 0: Bst: C ; NTFS ; 930 GB
    – Vol. 1: Bst: keiner ; FAT32 ; 100 MB
    – Vol. 2: Bst: D ; NTFS ; 517 MB
    – dem Vol.1 habe ich dann den Bst: Z zugewiesen und auch sonst alle Schritte in der Anleitung befolgt und trotzdem bekomme ich Windows nicht gebootet.

    Mit sel Disk System und detail disk bekomme ich:

    CT1000MX500SSD1
    Datenträger-ID: {3DA778CC-5457-454C-8363-A29553DDB25C}
    Typ: SATA
    Status: online
    Pfad: 1
    Ziel: 0
    LUN-ID: 0
    Speicherort Pfad: PCIROOT(0)#PCI(1700)#ATA(C01T00L00)
    Akt. schreibgeschützter Zustand: nein
    Schreibgeschützt: nein
    Startdatenträger: nein
    Auslagerungsdatei-Datenträger: nein
    Ruhezustands-Datenträger: nein
    Absturzabbild-Datenträger: nein
    Clusterdatenträger: nein

    1. Du schriebst: “Bei mir hat alles nach Anleitung funktioniert…”, also gab es nirgendwo eine Fehlermeldung?

      Was genau ist denn der jetzige IST-Zustand? Du startest deinen Rechner und was passiert? Bekommst du eine Meldung? Bekommst du keine? Bleibt der Bildschirm einfach schwarz? Springt er zum nächsten Gerät, welches in der Bootreihenfolge festgelegt ist?

  5. Also ich bin der Anleitung bis zum Schritt mit bcdboot gefolgt ( bei mir war die EFI Partition par 2) und bekomme dann auch bestätigt, dass die Startdateien erfolgreich erstellt worden sind. Wenn ich die Eingabeaufforderung dann schließe, den Laptop herunterfahren und neu starte, bekomme ich den bluescreen “Wiederherstellung” mit dem Fehlercode: 0xc000000e

    Dann geht er wieder aus und beim erneuten starten wieder bluescreen mit Fehlercode 0xc0000225 Datei: \windows\system32\confic\system
    und geht dann nach kurzer Zeit auch wieder von alleine aus.

    1. Mir scheint als wäre da bei dir mehr im Argen, als lediglich nur der Bootloader verschollen. Die EFI-Partition neu anzulegen, wenn das Windowssystem beschädigt ist, bringt dir auch nichts. Den Motor eines Autos reparierst du auch nicht dadurch, dass du neue Reifen montierst. 😀

      Prüfe die Windowsinstallation mit den Windows eigenen Tools:

      – chkdsk /r /f /x
      – dism /online /cleanup-image /restorehealth
      – sfc /scannow

      Da das aber nichts mit der Anleitung zu tun hat, würde ich dir raten eine dementsprechende Anleitung im Netz zu suchen.

  6. Hallo Stefan,

    wenn ich die “bcdboot” ausführen möchte, kommt bei mir die Meldung “Fehler beim Kopieren der Startdateien”.
    Habe schon mit “/fixboot” versucht, diese Dateien zu reparieren, aber dann bekomme ich die Meldung “Zugriff verweigert”. Ich war dabei auch in dem Ordner.
    Ich habe auch die EFI Partition neu formatieren lassen. Die Befehle gehen trotzdem nicht durch.
    Immer die gleiche Meldung.

    Ich hoffe du hast noch eine Idee, woran es scheitern könnte.
    /scanos findet auch kein Betriebssystem, obwohl mir das Programm “Boot Repair” auf Linux Mint bestätigt, das Windows noch vorhanden ist.

    Ich wünsche einen schönen Abend.
    Grüße Markus

    1. Hallo Markus,

      war der Pfad zu der Windowsinstallation auch der Richtige? C:\Windows ist Standard, ABER manchmal wird die Windowspartition auch auf D: in einer WinPE Umgebung gemountet. Hast du das überprüft gehabt? Als du den bcdboot Befehl eingegeben hattest, hast du auch die EFI-Partition mit dem richtigen Buchstaben angesprochen? Ausschnitt: /s z: wie in der Anleitung. Solltest du einen anderen verwendet haben, so ist das natürlich anzupassen.

      Bei Ferndiagnosen gestaltet es sich immer schwierig herauszufinden, warum etwas nicht funktioniert ohne alle Hintergründe zu kennen und sich das nicht selbst mal anschauen zu können. Wie kam es denn überhaupt dazu, dass es derzeit so ist, wie es ist? Du wirst ja nicht einfach so hingegangen sein und hast mal die Partition formatiert?

      Gruß

  7. Hallo, Herr Saft.
    Sie sind der Held!
    Nach tagelangen Versuchen, sowohl mein altes Windows 10 auf einen neuen Rechner (Intel NUC) zu portieren, als auch ein neues Windows 11 auf dem neuen Rechner zu etablieren, hat mir Ihre exzellente Beschreibung weder einmal aufs Pferd geholfen. Jetzt läuft mein altes Windows 10 auf einer SSD und mein neues Windows 11 im NVMe-Speicher. Dank des Windows Bootloaders, der mir nun eine Auswahl anbietet, welches Betriebssystem ich laden will, kann ich entweder das alte Windows native laden oder das neue Windows 11, unter dem ich dann durch Zuordnung der physikalischen SSD unter Hyper-V das alte Windows ebenfalls benutzen kann. Eine Frage bleibt mir noch: kann man den Bootloader, ebenso wie den alten BIOS Loader konfigurieren, bezüglich bevorzugtem System oder Wartezeit usw?

    1. In irgendeinem gestarteten Betriebssystem (10/11):

      msconfig

      eingeben und dann im Register “Start” kannst du das dann ändern.

  8. Vielen, vielen Dank für diese Anleitung!
    Bei meinem Versuch Mint20 auf eine 2. SSD zu installieren hab ich mir die Bootpartition vom vorhandenen Windows 10 zerschossen!
    Ich hatte etwas Panik einfach eine neue Partition zu erstellen, weil ich dachte die Windows Installation würde dadurch gelöscht. Das war aber nicht der Fall! Mein Windows ist noch da und startet jetzt wieder! Die einzige Anleitung, die wirklich erklärt, was die Befehle wo bewirken sollen! Nochmals Danke!

Schreibe einen Kommentar zu Stefan Saft Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert