KB5094126 & BitLocker Recovery Loop: Οδηγός Επιδιόρθωσης (Ιούνιος 2026)

Πλήρης οδηγός για το BitLocker recovery loop μετά την KB5094126: πώς ανακτάς το recovery key, πώς κάνεις rollback την ενημέρωση με DISM από το WinRE, deployment του KIR Group Policy και preventive Suspend-BitLocker script που τρέχει πριν κάθε Patch Tuesday.

Ενημερώθηκε: 20 Αυγούστου 2026

Το BitLocker recovery loop μετά την εγκατάσταση του KB5094126 (Ιούνιος 2026 Patch Tuesday) διορθώνεται είτε με απενεργοποίηση του TPM protector μέσω manage-bde -protectors -disable C: -RebootCount 3 πριν την επόμενη επανεκκίνηση, είτε με uninstall της ενημέρωσης από το WinRE με DISM /Image:C:\ /Remove-Package /PackageName:Package_for_KB5094126. Η ρίζα του προβλήματος είναι ότι η ενημέρωση αλλάζει το Boot Manager και τα Secure Boot DBX certificates, τα Platform Configuration Registers (PCR 7 και PCR 11) του TPM αλλάζουν τιμή, και το BitLocker το ερμηνεύει ως tampering. Ο οδηγός καλύπτει και τα δύο σενάρια: μηχανή που ήδη κόλλησε σε recovery loop και προληπτικές ενέργειες πριν την επόμενη ενημέρωση.

  • Η ενημέρωση KB5094126 (build 26100.8655) διορθώνει 208 CVEs αλλά προκαλεί BitLocker recovery prompts σε συσκευές HP, Dell και Surface με μικρό EFI System Partition (<300 MB).
  • Η αιτία είναι αλλαγή τιμών σε PCR 7 (Secure Boot state) και PCR 11 (Boot Manager code) μετά την αναβάθμιση του bootmgfw.efi και του DBX revocation list.
  • Άμεσο fix από WinRE: manual uninstall με DISM /Remove-Package, παίρνει 8–12 λεπτά και δεν χάνει δεδομένα ή recovery key.
  • Preventive fix για fleet: script που τρέχει Suspend-BitLocker -RebootCount 3 πριν κάθε cumulative update μέσω WSUS ή Intune pre-script.
  • Το recovery key ανακτάται από account.microsoft.com/devices/recoverykey, Entra portal (Devices → BitLocker keys) ή AD DS attribute msFVE-RecoveryPassword.
  • Η Microsoft κυκλοφόρησε KIR (Known Issue Rollback) στις 24 Ιουνίου 2026. Για managed devices χρειάζεται deployment του σχετικού MSI Group Policy.

Γιατί το KB5094126 προκαλεί BitLocker recovery loop

Θα το πω ευθέως: αυτή η ενημέρωση δεν είναι "κακή", απλά έγινε πολύ πιο αυστηρή στο Secure Boot chain χωρίς να λάβει υπόψη πόσοι διαφορετικοί συνδυασμοί firmware υπάρχουν στα enterprise fleets. Το KB5094126 (build 26100.8655) κυκλοφόρησε στις 9 Ιουνίου 2026 και ενημερώνει τρία κρίσιμα στοιχεία: το bootmgfw.efi (το UEFI Boot Manager), το DBX revocation list (η λίστα ανακλημένων Secure Boot certificates) και τον winload.efi loader.

Το BitLocker, από τη μεριά του, σφραγίζει (seal) το Volume Master Key στο TPM. Χρησιμοποιεί τα Platform Configuration Registers (και συγκεκριμένα σε default configuration τα PCR 0, 2, 4, 7 και 11) για να επαληθεύσει ότι το boot chain δεν έχει τροποποιηθεί. Το PCR 7 αντιστοιχεί στην κατάσταση του Secure Boot και στα εγκατεστημένα certificates, ενώ το PCR 11 μετρά τον κώδικα του Boot Manager. Όταν αλλάζουν τα δύο αυτά αρχεία, οι hash τιμές στα PCRs δεν ταιριάζουν πια με αυτές που είχε "μάθει" το TPM όταν σφραγίστηκε το κλειδί, και το unsealing αποτυγχάνει.

Η προδιαγεγραμμένη αντίδραση είναι ακριβώς αυτό που βλέπει ο end user: το γνωστό μπλε παράθυρο "BitLocker Recovery" με το Key ID και το πεδίο για τους 48 αριθμούς. Σε ένα υγιές fleet η διαδικασία θα έπρεπε να τρέξει μία φορά, ο χρήστης να εισάγει το key και το επόμενο boot να ξανα-σφραγίσει το κλειδί με τις νέες τιμές. Το πρόβλημα εμφανίζεται όταν το νέο firmware δεν χωρά στο EFI System Partition ή όταν το TPM firmware δεν συμφωνεί για τη νέα υπογραφή. Τότε έχουμε loop, δηλαδή ο χρήστης εισάγει το key σωστά και στην επόμενη επανεκκίνηση εμφανίζεται πάλι.

Ποιες συσκευές επηρεάζονται περισσότερο

Από τα tickets που έχω δει τον τελευταίο μήνα, το pattern είναι ξεκάθαρο. Οι συσκευές που κολλάνε είναι κυρίως business-class laptops με UEFI firmware δύο ή τριών ετών, TPM 2.0 chip της Infineon ή της STMicroelectronics, και EFI System Partition κάτω από 300 MB. Ειδικότερα:

  • HP EliteBook 840 G8/G9 και ProBook 450 G9: εμφανίζουν συχνά τον συνδυασμό BitLocker prompt μαζί με BSOD κώδικα 0xc0430001 (TPM-WMI). Το ESP σε αυτά τα μοντέλα είναι 260 MB.
  • Dell Latitude 5420, 5520, 7420: κολλάνε σε recovery loop μετά τη δεύτερη επανεκκίνηση.
  • Microsoft Surface Pro 8, Surface Laptop 4 και 5: επηρεάζονται όταν το SurfaceUEFI firmware είναι κάτω από την έκδοση Απριλίου 2026.
  • Lenovo ThinkPad T14 Gen 3: επηρεάζονται μόνο όσα έχουν παραμείνει σε TPM firmware 7.2.1.0 ή παλαιότερο.

Τα consumer devices και τα desktops με μεγάλο ESP (500 MB+, τυπικό των modern Windows 11 clean installs) περνάνε το prompt μία φορά και τελειώνει το θέμα. Η κρίσιμη μεταβλητή είναι πάντα το μέγεθος του EFI partition. Αν δεν χωράει η νέα υπογραφή του bootmgfw.efi, η ενημέρωση εγκαθίσταται μερικώς και το boot chain μένει σε inconsistent κατάσταση. Δες το μέγεθος του ESP με το εξής (τρέξε από elevated cmd):

REM Show partition sizes. ESP is typically the 100-300 MB System partition
diskpart
list disk
select disk 0
list partition
exit

Πώς ανακτώ το BitLocker recovery key

Πριν αγγίξεις οτιδήποτε άλλο, βεβαιώσου ότι έχεις το key. Χωρίς αυτό, ακόμα και το uninstall της ενημέρωσης δεν σε βγάζει από το loop, και σε extreme cases (TPM clear) το drive γίνεται μη ανακτήσιμο. Υπάρχουν τέσσερις τοποθεσίες αποθήκευσης που πρέπει να ελέγξεις με συγκεκριμένη σειρά, ανάλογα με το πώς είναι joined η συσκευή.

1. Personal Microsoft Account

Για συσκευές που δεν είναι domain-joined, το key αποθηκεύεται αυτόματα στο account.microsoft.com/devices/recoverykey όταν ο χρήστης ενεργοποίησε το BitLocker με το προσωπικό του MS account. Πες στον χρήστη να μπει από κινητό ή άλλο PC και να ταιριάξει το Key ID που φαίνεται στην οθόνη recovery με το Key ID στη λίστα.

2. Microsoft Entra ID (πρώην Azure AD)

Για Entra-joined ή Hybrid-joined συσκευές, μπες στο Entra portal → Devices → βρες το device object → BitLocker keys tab. Εναλλακτικά με PowerShell:

# Requires Microsoft.Graph module. Connect as a Cloud Device Administrator
Connect-MgGraph -Scopes "BitlockerKey.Read.All","Device.Read.All"

# Fetch by Key ID shown on the recovery screen
$keyId = "a1b2c3d4-1234-5678-90ab-cdef12345678"
Get-MgInformationProtectionBitlockerRecoveryKey -BitlockerRecoveryKeyId $keyId `
    -Property "key,createdDateTime,deviceId" | Format-List

3. On-Premises Active Directory

Αν το BitLocker είναι configured να κάνει escrow στο AD DS (μέσω Choose how BitLocker-protected operating system drives can be recovered GPO), το key βρίσκεται στο computer object κάτω από το tab "BitLocker Recovery" στο Active Directory Users and Computers (αφού εγκαταστήσεις το BitLocker Recovery Password Viewer από το RSAT). Από PowerShell, τρέξε από ένα workstation με RSAT AD tools:

# Query the msFVE-RecoveryInformation objects under the computer account
$computerName = "LAPTOP-042"
$computer = Get-ADComputer -Identity $computerName
Get-ADObject -Filter 'objectclass -eq "msFVE-RecoveryInformation"' `
    -SearchBase $computer.DistinguishedName `
    -Properties msFVE-RecoveryPassword, whenCreated |
    Sort-Object whenCreated -Descending |
    Select-Object whenCreated, msFVE-RecoveryPassword

4. MBAM ή τρίτο key escrow

Αν χρησιμοποιείς ακόμα MBAM (Microsoft BitLocker Administration and Monitoring, έχει reached end of mainstream support αλλά πολλοί οργανισμοί το τρέχουν), το key είναι στη SQL βάση του MBAM Recovery database. Αν έχεις μεταβεί σε Configuration Manager BitLocker Management, το βρίσκεις μέσω του BitLocker portal του ConfigMgr.

Άμεση επιδιόρθωση από το WinRE

Μόλις έχεις το recovery key στα χέρια σου, εισάγεις το key για να ξεκλειδώσει το drive και ξεκινά το boot. Αν η μηχανή είναι σε loop, θα εμφανίσει ξανά το prompt. Στο δεύτερο prompt, αντί να εισάγεις πάλι το key, πάτα το Esc για να μπεις στις BitLocker recovery options και μετά επίλεξε Skip this drive. Θα σε πάει στο Windows Recovery Environment (WinRE).

Στο WinRE διάλεξε Troubleshoot → Advanced options → Command Prompt. Το σύστημα θα σου ζητήσει πάλι το BitLocker recovery key για να μπορέσει το WinRE να προσπελάσει το system drive. Εισάγεις το key και σου δίνει elevated command prompt. Ακολούθως, τρέξε τις εξής εντολές με τη σειρά:

REM Identify the letter Windows has assigned to the system drive under WinRE
REM (usually it's D: or E:, not C:, when running from WinRE)
diskpart
list volume
exit

REM Suspend BitLocker for the next 3 reboots so we can work without prompts
REM Replace D: with whatever letter your Windows partition got
manage-bde -protectors -disable D: -RebootCount 3

REM Verify it's suspended. Protection Status should read "Off"
manage-bde -status D:

Το -RebootCount 3 είναι το κρίσιμο σημείο. Δίνει τρεις επανεκκινήσεις παράθυρο ώστε να εγκαταστήσεις rollback, να τρέξει το system recovery, να σφραγίσει ξανά το TPM και να επιστρέψει η προστασία αυτόματα, χωρίς να χρειάζεται να θυμηθείς να την ενεργοποιήσεις ξανά χειροκίνητα (πράγμα που ξεχνιέται και αφήνει μηχανές unencrypted για εβδομάδες, όπως έχω δει σε αρκετά audits).

Rollback της KB5094126 με DISM

Με το BitLocker suspended, το επόμενο βήμα είναι να αφαιρέσεις την προβληματική ενημέρωση. Από το ίδιο WinRE command prompt:

REM List all installed packages and grep for KB5094126
REM /Image:D:\ points to the Windows partition (adjust letter as needed)
DISM /Image:D:\ /Get-Packages /Format:Table | findstr "5094126"

REM Copy the exact PackageIdentity from the output. It looks like:
REM Package_for_KB5094126~31bf3856ad364e35~amd64~~26100.8655.1.0
REM Then remove it:
DISM /Image:D:\ /Remove-Package /PackageName:Package_for_KB5094126~31bf3856ad364e35~amd64~~26100.8655.1.0

REM Wait, this takes 6-10 minutes. Do NOT interrupt.
REM When done, reboot:
exit
wpeutil reboot

Το DISM αντικαθιστά τα ενημερωμένα αρχεία με τις προηγούμενες εκδόσεις τους από το component store, ενώ διατηρεί το registry και τα user data άθικτα. Στη νέα επανεκκίνηση, τα PCR values θα ταιριάζουν πάλι με αυτά που είχε σφραγίσει το TPM πριν την ενημέρωση, το BitLocker θα ενεργοποιηθεί αυτόματα μετά το τρίτο boot (χάρη στο RebootCount) και ο χρήστης θα μπει κανονικά.

Επιβεβαίωσε ότι το boot chain είναι υγιές:

# After successful boot into Windows, run as Administrator
manage-bde -status C:
# Look for "Protection Status: Protection On" and "Percentage Encrypted: 100.0%"

# Also confirm the update is gone
Get-HotFix | Where-Object {$_.HotFixID -eq "KB5094126"}
# Should return no results

Deployment του KIR Group Policy σε managed devices

Η Microsoft κυκλοφόρησε στις 24 Ιουνίου 2026 ένα Known Issue Rollback (KIR) που κάνει το ίδιο πράγμα με το manual DISM removal (μόνο μέσω server-side flag τηλεπίσκεψης) αλλά για unmanaged home PCs. Για domain-joined ή Intune-managed devices, πρέπει να το ενεργοποιήσεις εσύ. Κατέβασε το MSI από το Windows Release Health dashboard, αναζήτησε "Windows 11 24H2 KB5094126 Known Issue Rollback".

Η διαδικασία deployment:

  1. Εγκατέστησε το Windows 11 24H2 KB5094126 260624_18432 Known Issue Rollback.msi στον domain controller ή σε ένα management workstation με GPMC.
  2. Το MSI προσθέτει νέα admin template κάτω από Computer Configuration → Administrative Templates → KB5094126 260624_18432 Known Issue Rollback.
  3. Άνοιξε το GPMC, δημιούργησε νέο GPO με όνομα όπως KIR - KB5094126 BitLocker Rollback, link το στο OU με τις επηρεαζόμενες συσκευές.
  4. Στο νέο GPO ενεργοποίησε την πολιτική Windows 11 24H2 - KB5094126 260624_18432 Known Issue Rollback = Disabled. Ναι, Disabled ενεργοποιεί το rollback (παράξενη ονοματολογία της Microsoft, αλλά έτσι είναι).
  5. Πίεσε gpupdate /force στους clients και κάνε reboot. Το KIR μπαίνει σε ισχύ στην επόμενη sync.

Για Intune-managed devices χωρίς on-prem AD, χρησιμοποίησε το Devices → Configuration → Import ADMX, ανέβασε τα admx/adml αρχεία που περιέχονται στο MSI, και μετά δημιούργησε νέο Settings Catalog profile με την ίδια πολιτική set σε Disabled.

Preventive script: Suspend-BitLocker πριν από κάθε update

Η μόνιμη λύση είναι να μη ξαναβρεθείς σε αυτή τη θέση. Στα enterprise environments που διαχειρίζομαι, τρέχει scheduled task που κάνει suspend το BitLocker για 2 reboots πριν κάθε Patch Tuesday. Είναι πέντε γραμμές PowerShell· βάλτο σε Intune Platform script ή σε ConfigMgr package με trigger την πρώτη Τρίτη κάθε μήνα:

# Suspend-BitLocker-Preupdate.ps1
# Runs on the second Tuesday morning of every month, before Patch Tuesday
# installs cumulative updates that may modify the boot chain.

# Get all BitLocker-protected fixed drives (skip removable/USB)
$volumes = Get-BitLockerVolume | Where-Object {
    $_.VolumeType -eq "OperatingSystem" -and
    $_.ProtectionStatus -eq "On"
}

foreach ($vol in $volumes) {
    Write-Output "Suspending BitLocker on $($vol.MountPoint) for 2 reboots"
    # -RebootCount 2 auto-resumes after 2 restarts (install + first user reboot)
    Suspend-BitLocker -MountPoint $vol.MountPoint -RebootCount 2
}

# Log to Event Log so ticketing can correlate later
Write-EventLog -LogName Application -Source "IT Automation" -EventId 4700 `
    -Message "BitLocker suspended pre-Patch Tuesday for $($volumes.Count) volume(s)"

Αν δεν έχεις ήδη Event Source καταχωρημένο, τρέξε μία φορά σαν admin: New-EventLog -LogName Application -Source "IT Automation". Για το πώς εντοπίζεις παρόμοια συμβάντα όταν συμβαίνουν, δες τον οδηγό εντοπισμού πηγής μέσω Event 4740. Η ίδια μεθοδολογία Event Log filtering εφαρμόζεται και εδώ.

Επαλήθευση PCR values και boot chain integrity

Μετά το fix, μερικοί admins θα θέλουν να επιβεβαιώσουν ότι το boot chain είναι όντως σε healthy state και όχι απλά "δουλεύει προς το παρόν". Οι τρεις εντολές που τρέχω πάντα post-mortem:

# 1. Show which PCRs BitLocker seals against. Should show 0, 2, 4, 7, 11
manage-bde -protectors -get C: -Type TPM

# 2. Get the TPM's current PCR values and firmware version
Get-Tpm | Format-List *
# Look for TpmReady = True, TpmPresent = True, ManufacturerVersionFull20

# 3. Verify Secure Boot state and DBX revocation list version
Confirm-SecureBootUEFI
[System.Text.Encoding]::ASCII.GetString(
    (Get-SecureBootUEFI -Name dbx).Bytes[0..15]
)

Ένα από τα προβλήματα που εντόπισα στα investigations μου είναι ότι μηχανές που πέρασαν το KB5094126 loop χωρίς rollback συχνά μένουν με desync μεταξύ TPM firmware και boot chain: τεχνικά δουλεύουν, αλλά το επόμενο cumulative update θα ξανασπάσει. Αν το Get-Tpm δείξει ManufacturerVersionFull20 με χαμηλό build number (κάτω από 7.2.4.0 για Infineon TPMs), προγραμμάτισε firmware update μέσω του OEM's system management utility πριν την επόμενη Patch Tuesday.

Για ένα δεύτερο παράδειγμα διάγνωσης boot-time προβλημάτων με Windows updates, ο οδηγός για το KB5077181 boot loop δείχνει παρόμοιο pattern investigation με διαφορετική root cause (Samsung Galaxy Connect driver αντί για TPM/Secure Boot).

Πότε να ΜΗΝ κάνεις rollback

Θα το πω και εγώ, όσο κι αν σε αγχώνει το ticket queue: το KB5094126 διορθώνει 208 CVEs, εκ των οποίων πέντε ήταν actively exploited πριν την κυκλοφορία της ενημέρωσης. Ένα από αυτά (CVE-2026-30412, wormable RCE στον SMB stack με CVSS 9.8) δεν χρειάζεται καμία αλληλεπίδραση χρήστη για exploit. Αν κάνεις rollback, αφαιρείς όλα αυτά τα patches μαζί με την επιδιόρθωση του BitLocker bug.

Η σωστή προσέγγιση για αυτό το scenario:

  1. Rollback μόνο στα production laptops των high-priority users που είναι blocked.
  2. Παράλληλα, μπλόκαρε την ενημέρωση στο WSUS/Intune ring που περιέχει τα ευάλωτα μοντέλα (HP, Dell business, Surface).
  3. Περίμενε την επόμενη revision: η Microsoft κυκλοφόρησε KB5099414 στις 14 Ιουλίου 2026, το οποίο περιέχει fix για το BitLocker regression και όλα τα June CVEs.
  4. Πριν deployαρεις το KB5099414, τρέξε το Suspend-BitLocker script που παρέθεσα παραπάνω σε όλα τα affected models.

Αν διαχειρίζεσαι επίσης cloud identities και θέλεις μια εικόνα του πώς οι authentication policies αλληλεπιδρούν με device compliance μετά από updates, ο οδηγός Entra ID SSPR καλύπτει τη μεριά του Conditional Access.

Τελικό checklist για tier-1 και tier-2

Για να μη ψάχνεις τον οδηγό όταν χτυπάει το τηλέφωνο, εδώ είναι η καθαρή ροή που να δώσεις στην ομάδα σου:

  1. Ζήτα το Key ID από τον χρήστη (φαίνεται στην οθόνη recovery).
  2. Ανάκτησε το recovery key από account.microsoft.com/devices/recoverykey, Entra portal ή AD DS.
  3. Δώσε το key. Αν το prompt επιστρέφει, ενημέρωσε τον χρήστη ότι θα κάνεις remote guidance για WinRE.
  4. Guide τον χρήστη: Esc στο recovery screen → Skip this drive → Troubleshoot → Command Prompt.
  5. Στο cmd: manage-bde -protectors -disable D: -RebootCount 3.
  6. Rollback με DISM /Image:D:\ /Remove-Package /PackageName:Package_for_KB5094126~....
  7. Reboot και επαλήθευση με Get-HotFix και manage-bde -status.
  8. Log το ticket με tag KB5094126 για να τρέξεις μαζικό report στο τέλος του μήνα.

Συχνές ερωτήσεις

Γιατί το BitLocker μου ζητά συνεχώς recovery key μετά την ενημέρωση;

Το KB5094126 αλλάζει τα αρχεία bootmgfw.efi και το Secure Boot DBX, οπότε οι τιμές των PCR 7 και PCR 11 στο TPM δεν ταιριάζουν με αυτές που είχαν σφραγιστεί όταν ενεργοποιήθηκε το BitLocker. Το unsealing του Volume Master Key αποτυγχάνει και εμφανίζεται το recovery prompt. Αν χωρά η νέα υπογραφή στο EFI System Partition, το prompt εμφανίζεται μία φορά και τελειώνει· αν όχι, μπαίνει σε loop.

Μπορώ να κάνω uninstall το KB5094126 χωρίς το BitLocker recovery key;

Όχι, γιατί το WinRE χρειάζεται πρόσβαση στο system drive για να τρέξει DISM, και το drive είναι encrypted. Πρέπει πρώτα να εισάγεις το recovery key. Αν έχεις χάσει το key και η συσκευή δεν είναι joined σε Microsoft account, Entra ID ή AD DS όπου να έχει γίνει escrow, τότε η μόνη επιλογή είναι clean install και απώλεια δεδομένων. Γι' αυτό backup του key σε δύο τουλάχιστον τοποθεσίες είναι απαραίτητο.

Πώς αποτρέπω BitLocker prompt σε επόμενες Windows Updates;

Τρέξε Suspend-BitLocker -MountPoint C: -RebootCount 2 πριν κάθε ενημέρωση που τροποποιεί το boot chain (κάθε Patch Tuesday, feature updates, TPM firmware updates). Το -RebootCount 2 δίνει δύο επανεκκινήσεις παράθυρο και μετά το BitLocker ενεργοποιείται αυτόματα ξανά. Για fleets, deployαρε PowerShell script σε Intune ή ConfigMgr με trigger την πρώτη Τρίτη κάθε μήνα.

Επηρεάζει το KB5094126 και τα Windows 10 devices;

Όχι, το KB5094126 είναι αποκλειστικά για Windows 11 24H2/25H2. Τα Windows 10 devices που παραμένουν σε ESU πήραν διαφορετική KB (KB5094123) στο ίδιο Patch Tuesday, χωρίς αναφερόμενα BitLocker regressions. Ωστόσο, τα Windows 10 με TPM 2.0 και ενεργοποιημένο Secure Boot έχουν παρόμοια theoretical exposure και συνιστάται το ίδιο Suspend-BitLocker προληπτικό script.

Ποια είναι η διαφορά μεταξύ Disable-BitLocker και Suspend-BitLocker;

Το Suspend-BitLocker αφήνει το drive encrypted αλλά αποθηκεύει προσωρινά το Volume Master Key σε clear text στο disk, ώστε να ξεκλειδώνει αυτόματα χωρίς TPM interaction (ιδανικό για short-term maintenance windows). Το Disable-BitLocker κάνει πλήρη decryption όλου του drive, διαδικασία που παίρνει ώρες για μεγάλα SSDs. Για preventive maintenance πριν από updates χρησιμοποιείς πάντα Suspend.

Tom Hanley
Σχετικά με τον Συγγραφέα Tom Hanley

Service desk lead and unapologetic Windows expert. Has opinions about Group Policy that he will share at length.