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!

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

  1. Hallo Stefan,
    ich kann dir gar nicht genug danken für diese Anleitung! Ich konnte ein mittels GPT-Konvertierung zerstörtes, nicht gesichertes Windows wiederherstellen mit dieser super Schritt-für-Schritt-Anleitung.
    Christian

  2. Danke für diese gut gemachte Anleitung Stefan. Als kleine Ergänzung möchte ich eine evtl. Eigenheit meines PC’s noch erwähnen… das ich für die Erstellung erst von UEFI auf CSM umstellen musste und nach der Erstellung wieder von CSM auf UEFI sonst wollte es einfach nicht funktionieren. Das Mainboard ist ein MSI B550 Gaming Edge Wifi.

  3. Moin und besten Dank für die Anleitung. Leider konnte ich nicht ganz weiter. Auf den Befehl “BCDBoot […]” hin, bekomme ich immer die Fehlermeldung “Fehler beim Kopieren der Systemdateien “.
    Als Zielverzeichnis im Befehl “BCDboot” habe ich “c:\windows” angegeben. Allerdings zeigt mir “List vol”, dass der Laufwerksbuchstabe c nicht mehr meinem Windows-Laufwerk, sondern einem nebenrangigem Datenlaufwerk zugeordnet ist. Normal war das nicht so, keine Ahnung warum das jetzt so ist.
    Den Befehl “bootec \fixboot”habe ich auch ausgeführt, der wurde als erfolgreich quittiert. Allerdings hat dies nicht geholfen.
    Was mich auch irritiert hat ist, dass der Befehl “sel Disk System ” mich auf Datenträger 0 bringt, eben das Datenlaufwerk mit den LW Buchstaben c. Systemlaufwerk ist aber definitiv Datenträger 2, wie auch “list par” zeigt. Ich habe dementsprechend Disc 2 selektiert und damit weitergearbeitet.
    Wenn mein Windowsverzeichnis tatsächlich einen neuen Laufwerksbuchstaben bekommen hat, welche Möglichkeit habe ich dann diesen herauszufinden?

    1. Hallo,

      du hast dir die Lösung doch schon selbst gegeben: statt C:\Windows einfach D:\Windows schreiben. Eben jenen Buchstaben, der aktuell Windows zugeordnet ist. Welchen Laufwerksbuchstaben Windows unter einem Reparaturmedium bekommt ist unerheblich, da nach der Reparatur und dem starten des richtigen Systems, die Laufwerksbuchstaben wieder stimmen werden.

      1. hallo Stefan,
        Erst Mal Respekt für die prompte Rückmeldung!
        Mein Problem ist, dass bis vorgestern alles in Ordnung war mit Windows auf Laufwerk c.
        Rechner runtergefahren, am nächsten Tag hochgefahren und es springt direkt ins BIOS. Ich habe schon an einen Fehler beim MBR gedacht, dank deiner Anleitung bin überhaupt erst in der Lage, das zu prüfen.
        Allerdings habe ich keinen blassen Schimmer, auf welchem Laufwerk jetzt Windows lag, wurde auch nicht angezeigt. D: ist es nicht, da liegt eine andere Festplatte. Um mir adhoc weiterzuhelfen, habe ich alle anderen Festplatten einfach abgeklemmt, jetzt wird mir auch bei c: als die richtige NTFS Partition angezeigt und nun funktioniert auch der Befehl BCDBoot, nur bootet das System immer noch nicht.

        1. Wenn du unter diskpart “list vol” eingibst werden alle Volumes aller Laufwerke angezeigt. Da müsste also auch dein altes Windows System auftauchen mit einem zugewiesenen Laufwerksbuchstaben.

          Etwas verunsichert hat mich aber gerade etwas anderes an deiner Aussage: “Rechner heruntergefahren, am nächsten Tag hochgefahren und es springt direkt ins BIOS.” Das ist eigentlich ein Indiz dafür, dass da wohl gerade die SSD (SATA/PCIe)- wenn es eine ist, die Hufe hochlegt und nicht gefunden wurde. Denn wenn da etwas mit der Startpartition der SSD/HDD nicht stimmen würde, so würdest du eine ganz andere Meldung bekommen und nicht direkt ins BIOS weitergeleitet werden.

          Gehe einfach mal ins BIOS und gucke mal nach, ob die besagte Windows Platte überhaupt noch erkannt wird! Wenn nicht, dann ist die hinüber, da kannst du dann auch nichts reparieren. Ich denke mal nicht, das du zuvor noch an dem Rechner rumgebastelt hast und neue Komponenten eingebaut hattest? Dann könnte es auch schlicht ein nicht richtig befestigtes oder vergessenes Kabel sein. Hoffentlich existiert ein Backup 🙂

  4. ne, habe nichts dran rum gebastelt.
    im BIOS sehe ich sowohl die SSD, selbst als auch den Windows bootmanager dieser SSD (BIOS steht auf “UEFI und legacy”).
    Wenn ich ein linux-Livesystem von CD boote, kann ich auch auf die Verzeichnisstruktur der SSD zugreifen. die SSD ist ja auch in diskpart sichtbar, sprich, ich sehe die Partition etc. Das Kopieren der Startdateien funktioniert ja nun auch, nachdem ich die anderen Festplatten abgeklemmt habe.
    Daher hoffe ich, die SSD hat sich nicht verabschiedet 🙄.
    Für den Fall der Fälle habe ich eine neue SSD geholt und sensible Daten sind derzeit nicht in Gefahr. Aber Windows neu aufsetzen wird nervig, weil ich jede Menge Software neu installieren muss und ich weiß nicht, welchen meiner Produkt Keys ich für diesen Rechner verwendet habe 🥴

    1. werde den langen Weg gehen müssen, vermutlich hat die SSD wirklich ‘nen Haumich…
      aber trotzdem vielen Dank für die Unterstützung und natürlich auch für die super Anleitung!!! 🙏👍
      Ich habe da noch so’n Kandidaten, ein anderer Rechner, Mal sehen, ob’s da hilft….

    2. Wieso neu aufsetzen? Wenn die alte SSD hin und wieder noch lesbar ist, dann klone die doch einfach auf die Neue. Dann musst du dir um den Key auch keine Gedanken machen.

  5. Hallo Stefan,
    ich hoffe, dass du diese Seite noch weiter betreust, ich (zugegebenermaßen mit gefährlichem Halbwissen) benötige leider Unterstützung!
    Mein Rechner (Win11, LW SSD 240, GPT, BIOS: UEFI) ist nach Auslösen des Herunterfahren-Befehls hängen geblieben, ein Neustart war nicht mehr möglich.
    Meine zahlreichen Versuche, die Startoptionen entsprechend zu verändern, sind alle gescheitert. Im Ergebnis habe ich immer einen blue-scrren mit unterschiedlichen Fehlermeldungen erhalten, oder der Bildschirm blieb schwarz.
    In einem Verzweiflungs-Akt habe ich eine zweite SSD mit einer neuen Win11 Installation versehen und die Partition C: der alten Platte darauf geklont. Die Platte hat den LW-Buchstaben H: erhalten.
    Mittels Easybcd (HiremPE) habe ich die Startkonfiguration gelöscht , auf H: angepasst und gehofft, dass dies funktionieren würde.
    Tatsächlich wird mir jetzt das Auswahlmenü mit dem Betriebssystem beim Start angezeigt, jedoch der Bildschirm bleibt anschließend schwarz. Der Rechner lässt sich nach F8 auch im abgesicherten Modus starten, aber alle Auswahlmenüs enden nach kurzem Erscheinen eines umlaufenden Kreises im schwarzen Bildschirm. Einmal kam auch der Hinweis, LW H: müssen repariert werden, was dann erfolgte. Am Ergebnis änderte sich aber nichts.

    Easybcd zeigt nach meiner Einschätzung die zutreffenden Einträge an.

    Gibt es eine Erklärung, warum der Bildschirm im Startvorgang immer schwarz bleibt? Bin für jeden Hinweis sehr dankbar.

    Gruß aus dem Rheinland

    Peter

    1. Hallo Peter,

      das hört sich alles danach an, als wäre die SSD selber nicht mehr in Ordnung. Das erklärt dann auch, warum der sich aufgehängt hat, das Dateisystem danach repariert werden musste und du die Bluescreens bekommen hast. Ich würde mir an deiner Stelle erst einmal den Zustand der SSD überprüfen: Crystaldiskinfo.

      Wenn da nicht beim Starten schon “Vorsicht” oder “Schlecht” angezeigt wird, heißt das nicht, dass alles in Ordnung ist! Wenn da jede Menge “Media and data integrity errors” vorhanden sein sollten oder aber die “Spare Blocks” schon benutzt wurden, dann ist die mit hoher Wahrscheinlichkeit hinüber!

      Ein kaputtes System zu klonen wird dir in der Regel nicht viel bringen… Es bleibt kaputt. Installiere es neu und kopiere manuell die Benutzerdaten. Beim nächsten mal dann an sowas wie Backups denken. Acronis True Image, Veeam oder AOMEI Backupper sind ganz brauchbar.

      1. Hallo Stefan,
        Original SSD und die geklonte sind lt. CrystalDiskinfo beide in guten Zustand (74% und 92 %).
        Es blitzt jetzt regelmäßig eine Fehlermeldung auf, konnte sie vom Bildschirm abfilmen:

        ctfmon.exe erfolgreich:
        Unknwon Hard Error

        Für mich rätselhaft, habe dazu im Netz auch keine Erklärung gefunden. Muß wohl nicht mit der Hardware zu tun haben.

        LG

        Peter

        1. Wie kommst du bei der Meldung auf den Trichter, dass die in Ordnung wäre? Ich habe dir außerdem gesagt, dass die reine Anzeige mit “gut” oder nicht, nicht aussagekräftig ist. Im Detail muss man sich nämlich jeden einzelnen Eintrag ansehen um das wirklich selbst beurteilen zu können. Tatsache ist, du hast mit der Platte Probleme! Ganz offensichtlich… Was du jetzt damit anfängst musst du selber wissen. Ich klinke mich aus.

Schreibe einen Kommentar

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