Windows Recovery Partition löschen und neu erstellen

Vor etwas mehr als 8 Jahren habe ich einen Blog über das Löschen der Windows Recovery Partition geschrieben. Hey, mehr als 8 Jahre in der IT ist eine halbe Ewigkeit, vielleicht sogar mehr. Damals ging es darum, ein Problem mit dem Client-Backup des Windows Small Business Essential Server zu lösen.

Wichtig:
Die Partitionsnummern können abweichen. Achtet deshalb unbedingt darauf, dass die ermittelte Nummer verwendet und das Skript nicht nach dem Prinzip „Fire and Forget“ ausgeführt wird. Dafür ist es nämlich nicht gedacht, sondern dient lediglich als Sammlung der verwendeten Befehle.

Unten gibt es dann auch das Update wenn die Winre.wim fehlen sollte, der eigentliche Beitrag ist ja aus dem Juni 2024.

Das Problem

Heute mit Windows 11 und dem Server 2022 ist die Recovery Partition immer noch ein Thema. Meistens, wenn die Systempartition erweitert werden muss, befindet sich die Windows Recovery Partition am Ende der Festplatte.

Genau genommen sprechen wir vom Windows Recovery Environment (Windows RE), zu dem auch die Windows Recovery Partition gehört.

Die folgende Abbildung zeigt die Recovery Partition auf einem Windows Server 2022.

image

Wird die Disk nun erweitert (auf 196GB), dann sieht das wie folgt aus.

image

Natürlich gibt es eine Reihe von 3rd-Party-Tools, die hier helfen können, und einige davon sind sogar OpenSource, andere wiederum laufen in den kostenlosen Versionen nicht auf den Servern und müssen (und sollten) für den kommerziellen Einsatz bezahlt werden.

Wenn noch eine größere Anzahl von Servern oder (z.B. VMs) erweitert werden muss, ist die Unterstützung von PowerShell oder Kommandozeile (cmd.exe) hilfreich.

Die Vorgehensweise (Ablauf)

Die Erweiterung wird mit den folgenden Schritten durchgeführt.

  1. Deaktivieren von Windows RE
  2. Löschen der Windows Recovery Partition
  3. Erweitern der Systempartition (bis zum Maximum abzüglich 524MB)
  4. Erstellen der neuen Recovery Partition im freien Bereich (524MB) mit NTFS als Dateisystem und ohne Laufwerksbuchstaben
  5. Anpassen der Attribute der neuen Windows Recovery Partition
    – Partition Type = de94bba4-06d1-4d40-a16a-bfd50179d6ac
    – Partition Attribute = 0X8000000000000001
  6. Aktivieren von Windows RE

Achtung, bei MBR-Disks (die ich nicht mehr verwenden würde), lautet der Partition-Type anders, nämlich 27 und nicht de94bba4-06d1-4d40-a16a-bfd50179d6ac.

Die Schritte im Einzelnen

Vor dem ersten Schritt ist es sinnvoll, sich einen Überblick über den Zustand von Windows RE zu verschaffen und dann im Anschluss Windows RE zu deaktivieren.

image

Die grün umrandete Informationen zu Disk und Partition kann über die beiden PowerShell-Befehle Get-Disk und Get-Partition verifiziert werden.

image

Im Gegensatz zu meinem Blog zu beginn, habe ich inzwischen eine Möglichkeit gefunden, die Recovery-Partition mit PowerShell zu löschen.

image

Im Diskmanagement ist danach die Recovery Partition nicht mehr vorhanden.

image

Nun wird die Systempartition (Laufwerk C) auf die maximale Größe, abzüglich des Platzes für die Recovery Partition erweitert.

image

Was im Diskmanagement anschließend wie folgend aussieht. Wir sehen das Laufwerk C mit 195GB und 524MB freiem Platz für die Windows RE Partition.

image

Ok, jetzt die Frage Smile warum wird die Windows RE Partition mit 524MB angelegt, wenn sie doch vor dem Löschen 523MB hatte?

Grob geschätzt habe ich das bestimmt einige hundert Mal gemacht, ein einziges Mal hat Windows RE danach mit einer 523MB großen Partition nicht mehr funktioniert. Eine wirklich gute Analyse konnte ich aus Zeitgründen nicht durchführen. Der Workaround, der funktionierte, war eine Partition mit 524MB statt der ursprünglichen 523MB.

Nun geht es um den Wiederaufbau von Windows RE.

Der verbleibende Platz auf der Disk 0 (524MB) wird nun der neuen Windows RE Partition zugewiesen, darüber hinaus mit NTFS formatiert und kein Laufwerksbuchstabe verwendet.

image

Jetzt müssen wir noch die ID der Windows RE Partition und das GPT-Attribut ändern. Das ist auch der einzige Punkt, wo PowerShell keine Möglichkeit bietet.

Partition Type = de94bba4-06d1-4d40-a16a-bfd50179d6ac
Partition Attribute = 0X8000000000000001

Falls jemand von Euch eine bessere Lösung hat, bitte in die Kommentare schreiben – Danke!

image

Beide Einstellungen können mit diskpart.exe überprüft werden.

image

Sieht gut aus, würde ich sagen.

Fehlt nur noch die Aktivierung von Windows RE, vorher sollte man aber prüfen, ob Winre.wim im Verzeichnis C:\Windows\System32\recovery vorhanden ist.

image

Da Winre.wim eine versteckte Datei ist, wurde der Befehl Get-ChildItem mit der Option -Attributes h ausgeführt. Der Befehl reagentc /enable kopiert dann die Datei auf die Windows RE Partition (was ein paar Sekunden dauert).

Update 08.10.2025 – die Winre.wim fehlt …

Durchaus möglich ist, dass die Windows RE-Datei (Winre.wim) fehlt und damit reagentc das Image nicht auf die neue Recovery-Partition kopieren kann.

image

In diesem Fall empfiehlt sich die folgende Vorgehensweise.

  1. Bereitstellen einer ISO-Datei des entsprechenden Betriebssystems
    – Kopieren der ISO-Datei auf den Server
    – Ein Doppelklick mit dem Windows Explorer mounted das ISO
  2. Erstellen eines Verzeichnisses um die install.wim zu mounten
  3. Mounten der install.wim Datei nach $winDir
  4. Wechsel in das Recovery-Verzeichnis der gemounteten install.wim
  5. Kopieren der Winre.wim nach C:\Windows\System32\Recovery
  6. Aktivierung von Windows RE
  7. Unmount der install.wim

Auch hier die Schritte im Detail

Nach dem Doppelklick mit dem Windows Explorer ist das Windows Server 2022 Image auf Laufwerk G vorhanden.

image

Erstellen eines Verzeichnisses um die install.wim zu mounten und bereitstellen dieser mit dism.exe

image

Wechsel in das Recovery-Verzeichnis der gemounteten install.wim und kopieren der Winre.wim nach C:\Windows\System32\Recovery

image

Jetzt muss noch die Recovery Partition aktiviert (reagentc /enable kopiert die Winre.wim) und die install.wim wieder entfernt werden.

image

So, jetzt aber.

Natürlich gibt es alle Befehle als PowerShell-Datei zum Download.

Enjoy it und happy Recovery, b!

15 Gedanken zu „Windows Recovery Partition löschen und neu erstellen

  1. Leider kommt beim Ausführen dieses Scriptes in der AdminPowerShell eine Fehlermeldung , das die Datei „Code-WinRE.ps1“ nicht geladen werden kann da die Ausführung von Scripten auf diesem System deaktiviert ist.

    Weiter Informationen dazu würde man unter „about_Execution_Policies“ finden.

    Nur was soll man da einstellen ?

    • Da hat Dir die PowerShell-ExecutionPolicy im wahrsten Sinne des Wortes den A… gerettet.

      Die einzelnen Befehle in der PowerShell müssen, Schrittweise ausgeführt und deren Ausgabe bewertet werden. Liegt die Recovery-Partition an einer anderen Stelle, schießt man ohne Anpassung eine andere Partition ins Nirvana.

      Die vorletzte Zeile im Artikel nochmals genau lesen.

      „Natürlich gibt es alle Befehle als PowerShell-Datei zum Download.“

      Da steht Befehle und nicht Skript 🙂

      Damit PowerShell ein Skript ausführen kann, den folgenden Befehl ausführen:

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

  2. Vielen Dank!

    Hat super geklappt.

    Sehr gut beschrieben und erklärt, so ist es einfacher als mit einem externen Tool.

    Habe die Schritte in Ps zwar einzel ausgeführt, aber das Script hätte bestimmt auch funktioniert, dann eben nur auf die Disknummer und Partitionsnummer achten und die anderen Konstanten im Script vor Ausführung überprüfen. Bei mir war z. B. $WinREsize 842MB habe dann auf 843MB angepasst.

    Windows 11 C-Platte von 1TB auf 2TB aufgerüstet.

    Festplatte: WD_BLACK SN850X HS 2000GB

    • Es ist auch die Intention des Skriptes, die Schritte einzeln durchzuführen.
      Für eine Automatisierung, müsste man die Einzelergebnisse sorgsam prüfen und validieren.

  3. Funktioniert leider nicht, zumal die wim.re nicht da aufzufinden ist wo sie sein sollte..
    Bin hier leider überfordert.
    kann mir einer eine funktionierende wim.re für Windows 11 24H2 zukommen lassen?

  4. Hat wunderbar funktioniert, Danke für die Anleitung!

    Allerdings liefert „reagentc /info“ mir jetzt, dass die Partition 3 (also Laufwerk C:) verwendet wird:
    WinRE-Ort: ?GLOBALROOTdeviceharddisk0partition3RecoveryWindowsRE

    Vorher war’s harddisk0partition4

    Ist das normal, oder habe ich was falsch gemacht?

  5. Auch von mir herzlichen Dank für Deine saubere Erklärung – hat prima geklappt! Großer Respekt vor Deinen Fähigkeiten und dass Du sie teilst!

  6. So eine tolle Anleitung habe ich noch nie gesehen, vielen Dank!Nun kann ich endlich auch das bisher hinter der Recovery-Partition liegende „Brachland“ (fast die Hälfte der SSD!) nutzen. Diese ist nun zudem korrekt gekennzeichnet, vorher sah man dort nur „999MB“.

  7. Hallo, hat einwandfrei funktioniert. Ich habe dein Script-Download erst umbenennt in .txt und danach die Befehle einzeln nacheinander kopiert und ausgeführt, angepasst wo nötig. Besten Dank für die ausführliche Beschreibung und teilen. Das hat mir viel Zeit und Schweiss gespart um sonst wie rumzuprobieren. Hatte 1 GB blockiert rechts mit einer verweisen Partition und jetzt habe ich den Speicher zurückgewonnen so.

    • Hallo David, schön das es funktioniert hat!
      Es ist auch die Intention des „Skriptes“ das man jede Zeile einzeln ausführt und schaut was als Ergebnis angezeigt wird. Das Skript ist nur der Versuch den Code irgendwie „handy“ zusammenzufassen.

  8. Hallo,

    in Deinem Script schreibst Du von d:wim, soll d: ein physikalische Laufwerk sein?

    In Deiner ANleitung fehlt mir die Information, das man vor dem ‚dism /mount-wim….‘ auf das Laufwerkwechseln soll, das das eingebundene ISO hat.

    • Hallo Achim,
      das „Skript“ ist nur die Sammlung von einzelnen Befehlen und darf auf keinen Fall am Stück ausgeführt werden. Steht auch gleich am Anfang unter „Wichtig

      Was den Wechsel auf das Laufwerk mit dem wim-Datei angeht, dass ist im Screenshot zu sehen.
      Das Laufwerk entsteht durch den Mount der ISO-Datei, sollte aber an einem physischen PC ein DVD-Laufwerk vorhanden sein und Du im Besitz einer Windows-DVD kann man natürlich auch auf diesem arbeiten.

      Grüße b!

      • Danke für Deine Antwort.

        Das hier kein Automatismus vorherrschen soll ist ja klar zu lesen. Aber was macht ein Benutzer, der keine 2. Platte D: hat?

        Ich würde vor dem löschen der WinRe-Partition erstmal die Größe der alten ermitteln und 1MB dazu zählen:

        $WinRELocation = (reagentc /info |
        select-string “WinRE-Ort:s+(([^rn]+)disk(d+)partition(d+)([^rn]+))”);

        $WinREPath = $WinRELocation.Matches.groups[1].value.trim()
        $WinREDisk = $WinRELocation.Matches.groups[3].value
        $WinREPart = $WinRELocation.Matches.groups[4].value

        Write-Host “WinRE befindet sich auf:
        Platte : $WinREDisk
        Pfad : $WinREPath
        Partition : $WinREPart“

        $WinREsize = (Get-Volume -FilePath $WinREPath | select Size )
        $WinREsize = [math]::Round($WinREsize.Size/1MB)
        Write-Host “alte Größe : $WinREsize“

        $WinRENewSize = $WinREsize + 1

        Write-Host “neue Größe : $WinRENewSize“

Hinterlasse eine Antwort zu Vmax43 Antwort abbrechen