Bitlocker: Metadaten voll?

Wolf Perl 0 Zuverlässigkeitspunkte
2025-12-02T10:04:02.74+00:00

Hallo,

ich verwende seit Jahren 2 externe SSD's, die ich mit BitLocker verschlüsselt habe.
Die "automatische Entsperrung" ist aktiviert.
Diese funktioniert seit Jahren nicht so richtig zuverlässig in der Art, dass die eine oder andere der beiden SSD's mehrmals wöchentlich nach dem morgendlichen Neustart des Laptops die "automatische Entsperrung" vergisst, so dass man es dann immer mühsam in der Bitlocker Verwaltung einmal aus- und wieder anschalten muss.
Um das zu umgehen, führe ich jeden Morgen automatisch je ein
"manage-bde -autounlock -disable" und "manage-bde -autounlock -enable" für beide Laufwerke aus.

Seit Freitag bzw. heute passiert es jedoch, dass die "automatische Entsperrung" nicht mehr aktiviert werden kann, es kommt ein leeres Popup ohne Fehlermeldung.
Im EventLog stehen dann Fehler wie "Fehler beim über Prüfen der Metadatendatei gegen die primäre Kopie. Volume: D:, Start Offset: 517805178880, Lese Länge: 65536, Kopie: 2, Anzahl Kopien: 3".

Ich kann zumindest beide Laufwerke mit dem Wiederherstellungs-Schlüssel jedoch entsperren und die Laufwerke dann verwenden.

Wenn ich per "manage-bde -status" beide Laufwerke prüfe, zeigt er je Laufwerk hunderte Zeilen mit "Externer Schlüssel" an:

--
Schlüsselschutzvorrichtungen:

    Kennwort

    Numerisches Kennwort

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel

    Externer Schlüssel.....  

--

Und wenn ich nun "manage-bde -autounlock -enable" probiere, dann kommt dieser Fehler:

FEHLER: Ein Fehler ist aufgetreten (Code 0x803100ec):

Dieser Vorgang kann nicht abgeschlossen werden, da BitLocker-Laufwerkverschlüsselung Metadatenbereich voll ist. Entfernen Sie ggf. nicht benötigte Schlüsselschutzvorrichtungen für dieses Laufwerk.

Bevor ich nun Bitlocker für beide Laufwerke komplett deaktiviere und wieder neu setze, würde ich gerne wissen wollen, ob es ggfs. einen einfacheren Weg gäbe wie ich denn benötigte Schlüsselschutzvorrichtungen am besten wieder entfernen kann, damit die automtische Entsperrung wieder funktioniert, da scheint etwas vollgelaufen zu sein?

Hat jemand da draußen eine Idee, die Suche im Netz hat mir noch nicht wirklich gute Anrorten geliefert?!

Danke

LG Wolf

Windows für Unternehmen | Windows-Client für IT-Profis | Geräte und Bereitstellung | Wiederherstellungsschlüssel

6 Antworten

Sortieren nach: Neueste
  1. VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
    2025-12-06T13:41:19.4133333+00:00

    Hallo Wolf Perl,

    Bevor Sie sich auf den langen und festplattenintensiven Prozess einlassen, diese SSDs vollständig zu entschlüsseln und neu zu verschlüsseln, was Stunden und unnötige Schreibzyklen dauern kann, erlauben Sie mir bitte einen Moment, um den spezifischen Syntaxfehler zu korrigieren, der zum Fehlschlagen der vorherigen Skripte geführt hat.

    Der vorherige Fehler lag nicht an der Logik, sondern an einem spezifischen PowerShell-Parsingfehler: $lines = $output -split "rn". Dies war ein Tippfehler, der als Zeilenumbruch gedacht war, aber stattdessen suchte er nach den wörtlichen Zeichen "r" und "n", sodass das Skript die Ausgabe als einen riesigen unbrauchbaren Block betrachtete. Deshalb gab es eine Zählung von 0 zurück und tat nichts.

    Da dein System auf Deutsch ist und manage-bde die Ausgabe zeilenbasiert ist, ist das untenstehende Skript vereinfacht, um diesen spezifischen Parsing-Fehler zu beheben. Er scannt die Ausgabe Zeile für Zeile. Wenn es eine GUID gefolgt von "Externer Schlüssel" sieht, löscht es diese sofort.

    Bitte führe das in deinem Administrator-PowerShell aus. Es zielt gezielt auf den "Externer Schlüssel" ab und ignoriert dein Passwort bzw. numerische Schutz.

    $drive = "D:"

    Erzwingen Sie die Ausgabe in ein Array von Strings, um den vorherigen Spaltfehler zu vermeiden

    [Anordnung]$results = manage-bde -protectors -get $drive

    $currentID = ""

    foreach ($line in $results) {

    # 1. Look for the GUID (The ID)
    
    if ($line -match "\{([a-fA-F0-9-]{36})\}") {
    
        $currentID = $matches[1]
    
    }
    
    # 2. If the description confirms it is an "Externer Schlüssel" (External Key)
    
    if ($line -like "*Externer Schlüssel*") {
    
        if ($currentID -ne "") {
    
            Write-Host "Removing redundant External Key: $currentID"
    
            # Execute the delete command immediately
    
            manage-bde -protectors -delete $drive -id $currentID
    
            $currentID = "" # Reset to ensure we don't delete the wrong thing next
    
        }
    
    }
    

    }

    3. Letzter Schritt: Die automatische Entsperrung zurücksetzen, um EINEN sauberen neuen Schlüssel zu erzeugen

    Schreib-Moderator: "Aufräumen abgeschlossen. AutoUnlock wieder aktivieren..."

    manage-bde -autounlock -enable $drive

    Wenn du den Entschlüsselungsprozess noch nicht abgeschlossen hast, wird der 0x803100ec Fehler (Metadata Full) sofort behoben. Ich wünsche dir ein schönes Wochenende!

    VP

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  2. Wolf Perl 0 Zuverlässigkeitspunkte
    2025-12-03T11:44:11.2166667+00:00

    did not work either. I choose the other way and disable bitlocker on the 2 drives now...

    No further help needed, thank you.

    BR Wolf

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  3. Wolf Perl 0 Zuverlässigkeitspunkte
    2025-12-03T09:31:19.4633333+00:00

    Ok, will try it. Please upload the corrected scripts syntax again please, it's not visible completely...

    BR Wolf

    War diese Antwort hilfreich?


  4. VPHAN 44,940 Zuverlässigkeitspunkte Unabhängiger Berater
    2025-12-03T09:13:59.6+00:00

    Ich glaube, ich sehe das Problem, es liegt daran, dass die Sprache deines Systems deutsch ist und der Text "External Key" als "Externer Schlüssel" erscheint. Das vorherige Skript scheiterte, weil es nach dem englischen Ausdruck suchte. Auch die Methode zur Extraktion der Key Protector-IDs musste angepasst werden. Hier ist ein korrigiertes PowerShell-Skript, das die duplizierten externen Schlüsselbeschützer für Ihr deutsches System korrekt identifiziert und entfernt.

    PowerShell

    $drive
    

    Nachdem du dieses Skript für jedes betroffene Laufwerk ausgeführt hast, führst manage-bde -autounlock -enable D: du deinen Computer aus und starte ihn neu an. Dadurch kann die automatische Entsperrfunktion mit einem einzigen, gültigen externen Schlüssel wieder funktionieren.

    Wenn das Problem weiterhin besteht, könnte die im Ereignisprotokoll angegebene Metadatenkorruption für eine einfache Bereinigung zu schwerwiegend sein. In diesem Fall ist die einzige garantierte Lösung, deine Daten zu sichern, die Festplatte mit zu entschlüsseln manage-bde -off D:und sie dann mit neu zu verschlüsseln manage-bde -on D:. Dadurch entsteht ein frischer, unbeschädigter Metadatenbereich.

    Ich hoffe, du hast hier etwas Nützliches gefunden. Wenn es dir hilft, mehr Einblick in das Problem zu bekommen, ist es hilfreich, die Antwort dann zu akzeptieren. Sollten Sie weitere Fragen haben, können Sie gerne eine Nachricht hinterlassen. Schönen Tag!

    VPHAN

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  5. Wolf Perl 0 Zuverlässigkeitspunkte
    2025-12-03T07:52:04.48+00:00

    Hello VPHAN,

    no, did not work out.
    Have tried it an this morning after boot the unlock shows same issue, and the -status of manage-bde still lists hundreds of eternal key messages.

    Here ist how i tried in Powershell:

    PS C:\Windows\system32> $drive = "D:"

    PS C:\Windows\system32> $protectors = manage-bde -protectors -get $drive | Select-String -Pattern "Key Protector ID" -Context 0,1

    PS C:\Windows\system32> $externalKeyIDs = @()

    PS C:\Windows\system32> foreach ($match in $protectors) {

    $line = $match.Line

    if ($line -like "External Key") {

    $id = $line.Split(':')[1].Trim()
    
    $externalKeyIDs += $id
    

    }

    }

    PS C:\Windows\system32>

    You wrote if "($externalKeyIDs.Count -gt 1", to execute the script.
    But in my call no output for the count comes up, any idea?

    Best Regards Wolf

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.