akluch
Member-
Posts
3 -
Joined
-
Last visited
akluch's Achievements
-
The Problem: Many older legacy systems (such as Ivy Bridge-generation laptops like the HP EliteBook 8570w) are completely blocked from receiving the modern Windows Secure Boot 2023/2024 certificate updates. Because these older devices have strict NVRAM variable storage limits, Microsoft programmatically flags them with an internal Known Issue block (KI_8 / Temporarily Paused) in the Event Logs, leaving the system silently unpatched or stuck in infinite update retry loops. Manual attempts often hit a brick wall with authentication or access errors due to payload targeting mismatches. What is special about this recipe: Instead of throwing your hands up or risking a system brick, this recipe bypasses the OS-level blocks by safely splitting the signed payloads and manually appending them to their exact cryptographically matched NVRAM variables (db vs dbx), managing the tight variable space perfectly. Broad Adaptability: While this recipe explicitly covers the HP EliteBook 8570w, the same fundamental principles can be adjusted to unblock other legacy hardware facing similar NVRAM or staging limitations. 100% Native PowerShell: Done entirely within standard Windows PowerShell. Zero Bloat: No third-party tools, no sketchy flashing utilities, and no dangerous BIOS modding required. Validated Cleanup: Includes a built-in verification step and a clean sweep script to unmount the EFI partition and wipe temporary footprints when finished. Below is the complete, field-tested step-by-step recipe to get your machine fully patched, verified, and reporting a clean bill of health in the Event Viewer: RECIPE Test Environment: * Hardware - HP EliteBook 8570w * Firmware - 68IAV Ver. F.71 * Operating System: Windows 11 Requirements / prerequisites: * Latest BIOS version (Ver. F.71 for HP EliteBook 8570w) * Boot mode: UEFI Native (without CSM) * Secure Boot supported and enabled * Disable BitLocker * Make sure there's a '%WINDIR%\System32\SecureBootUpdates' directory * Create directory - C:\Temp - temp one, for simplicity * Copy everything from %WINDIR%\System32\SecureBootUpdates to C:\Temp * Start 'Windows PowerShell' as Administrator (IMPORTANT: use this version only!!!) Step 1. Install SplitDbxContent in PowerShell: - Install-Script -Name SplitDbxContent -Force Step 2. Identify your exact HP KEK update file: - Run this command in PowerShell: Get-SecureBootUEFI -Name PK -Decoded - Look for 'SerialNumber' value - Go to https://github.com/microsoft/secureboot_objects/blob/main/PostSignedObjects/KEK/kek_update_map.json and find KEK file by 'SerialNumber' value above. File specified in "KEKUpdate" (ex. HP/KEKUpdate_HP_PK3.bin) - Find that file on the left and download it to C:\Temp Step 3. Update KEK by running the following commands in PowerShell: - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' C:\temp\<bin_file_from_step_2>" - Set-SecureBootUefi -AppendWrite -Name KEK -ContentFilePath C:\temp\content.bin -SignedFilePath C:\temp\signature.p7 -Time 2010-03-06T19:17:21Z - On success you should see something like: Name Bytes Attributes ---- ----- ---------- ... {...} NON VOLATILE... Step 4. Update DB by running the following commands in PowerShell: - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' C:\temp\DBUpdate3P2023.bin" - Set-SecureBootUefi -AppendWrite -Name db -ContentFilePath C:\temp\content.bin -SignedFilePath C:\temp\signature.p7 -Time 2010-03-06T19:17:21Z - On success you should see something like: Name Bytes Attributes ---- ----- ---------- ... {...} NON VOLATILE... - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' $env:windir\System32\SecureBootUpdates\DBUpdate2024.bin" - Set-SecureBootUefi -AppendWrite -Name db -ContentFilePath C:\temp\content.bin -SignedFilePath C:\temp\signature.p7 -Time 2010-03-06T19:17:21Z - On success you should see something like: Name Bytes Attributes ---- ----- ---------- ... {...} NON VOLATILE... *(Note: If DBUpdate2024.bin fails due to NVRAM space or certificate limits, check for a legacy version or proceed directly to the OROM step below).* - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\Temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' $env:windir\System32\SecureBootUpdates\DBUpdateOROM2023.bin" - Set-SecureBootUEFI -AppendWrite -Name db -ContentFilePath C:\Temp\content.bin -SignedFilePath C:\Temp\signature.p7 -Time 2010-03-06T19:17:21Z - On success you should see something like: Name Bytes Attributes ---- ----- ---------- ... {...} NON VOLATILE... Step 5. Update DBX by running the following commands in PowerShell: - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\Temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' C:\Temp\dbxupdate.bin" - Set-SecureBootUEFI -AppendWrite -Name dbx -ContentFilePath "C:\Temp\content.bin" -SignedFilePath "C:\Temp\signature.p7" -Time "2010-03-06T19:17:21Z" - On success you should see something like: Name Bytes Attributes ---- ----- ---------- ... {...} NON VOLATILE... - PowerShell.exe -ExecutionPolicy Bypass -Command "cd C:\Temp; & '$HOME\Documents\PowerShell\Scripts\SplitDbxContent.ps1' $env:windir\System32\SecureBootUpdates\DBXUpdateSVN.bin" - Set-SecureBootUEFI -AppendWrite -Name dbx -ContentFilePath C:\Temp\content.bin -SignedFilePath C:\Temp\signature.p7 -Time 2010-03-06T19:17:21Z Step 6. Verify updates by running the following commands in PowerShell (each command should return 'True'): - ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023') - ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI kek).bytes) -match 'Microsoft Corporation KEK 2K CA 2023') - ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI pk).bytes) -match 'Microsoft RSA Third Party PCA 2023') - ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI pk).bytes) -match 'Hewlett-Packard') Step 7. Verify you have a boot loader copy properly signed with new certificates, by running the following command in PowerShell: - [System.Security.Cryptography.X509Certificates.X509Certificate2]::CreateFromSignedFile("$env:windir\Boot\EFI_EX\bootmgfw_EX.efi").Issuer - You should get back: 'CN=Windows UEFI CA 2023, O=Microsoft Corporation, C=US' Step 8. Update bootloader by running the following commands in PowerShell: - mountvol S: /S - reg save HKLM\BCD00000000 S:\EFI\Microsoft\Boot\BCD.bak /y - Copy-Item "S:\EFI\Microsoft\Boot\bootmgfw.efi" "S:\EFI\Microsoft\Boot\bootmgfw.efi.bak" -Force - Copy-Item "$env:windir\Boot\EFI_EX\bootmgfw_EX.efi" "S:\EFI\Microsoft\Boot\bootmgfw.efi" -Force - mountvol S: /D Step 9. Reboot your machine Step 10. Update the Registry and certificate update task state by running the following commands in PowerShell: - Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 16384 -Type DWord - Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name "UEFICA2023Status" -Value "Updated" -Type String - Remove-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name "UEFICA2023Error" -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name "UEFICA2023ErrorEvent" -ErrorAction SilentlyContinue - Stop-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update" -ErrorAction SilentlyContinue - Disable-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update" -ErrorAction SilentlyContinue - Enable-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update" -ErrorAction SilentlyContinue Step 11. Reboot your machine Step 12. If all is successful you'll have the following Information log from TPM-WMI in Event Log: "This device has updated Secure Boot CA/keys. This device signature information is included here. DeviceAttributes: FirmwareManufacturer:Hewlett-Packard;FirmwareVersion:68IAV Ver. F.71;OEMModelBaseBoard:176B;OEMManufacturerName:Hewlett-Packard;OSArchitecture:amd64; BucketId: 54e624d808a5b9fbd4f3c1d0a184eeee8a1d0d5cc7238ce8403ed6dd6053bf29 BucketConfidenceLevel: Temporarily Paused UpdateType: Windows UEFI CA 2023 (DB), Option ROM CA 2023 (DB), 3P UEFI CA 2023 (DB), KEK 2023, Boot Manager (2023) For more information, please see https://go.microsoft.com/fwlink/?linkid=2301018." Step 13. Cleanup the files by running the following commands in PowerShell: - mountvol S: /S - del S:\EFI\Microsoft\Boot\BCD.bak - del S:\EFI\Microsoft\Boot\bootmgfw.efi.bak - mountvol S: /D - rmdir C:\Temp -Recurse -Force Note: The recipe is also attached to this message as a TXT file. HP EliteBook 8570W SecureBoot Certificates Update Steps.txt
-
Wow, having someone with the exact same hardware combination reply is massive! Thank you. Knowing that the M1000M + 82.07.8D.00.15 + DreamColor matrix works perfectly for you isolates this completely to a driver branch or OS handoff issue. I am currently running a much newer driver branch on Windows 11, which I manually modded. Before I attempt to roll back to the 460.89 branch, I would love to verify a couple of quick Registry/INF details from your working system to see where the communication breakdown is happening on mine: Device Manager Identification: On your LTSC setup, does your DreamColor panel show up under Monitors as a "Generic PnP Monitor" linked to MONITOR\LGD0220, or does it map to a specific HP/DreamColor hardware ID wrapper (like HPQ3201)? Registry Injection: If you check your active display registry path under: HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 Are there any specific mobile registry overrides active (such as Mobile_Registers, RM_I2cWriteRegistry, or target panel power bitmasks)? If you happen to still have the modified .inf file or the specific setup folder you used to deploy 460.89 on your machine, would you be open to sharing it? I'd love to compare the section blocks to see if your INF maps the eDP/panel power scaling differently than the newer driver branches do. Thanks again!
- 5 replies
-
- hp-elitebook-8570w
- quadro-m1000m
- (and 8 more)
-
Hey everyone, I’m running a modified legacy setup and could use some advice from the MXM / VBIOS modding experts here who know the behavior of these specific workstations. Hardware Configuration: Laptop: HP EliteBook 8570w (Ivy Bridge platform) MXM GPU: NVIDIA Quadro M1000M (Maxwell GM107) VBIOS Version: 82.07.8D.00.15 (Native HP mobile firmware, Build Date: 2015-10-29, Flashed using the verified HP dump directly from the TPU Database: https://www.techpowerup.com/vgabios/239513/239513) Display Panel: Original factory-matching 10-bit HP DreamColor assembly (LG Display) Monitor Hardware ID: MONITOR\LGD0220 Device Manager Name: "Integrated Monitor" Device Manager Description: "Generic PnP Monitor" OS & Driver: Windows 11 running in pure UEFI mode (Legacy CSM disabled). Modified driver package (INF patched for Hardware IDs). The Problem: The machine boots perfectly through POST/BIOS, but during the Windows 11 login handoff, the NVIDIA driver initializes the panel at a static, dim baseline—not completely blacked out, but noticeably dimmer than what is actually set in the active Windows power plan. The hardware and driver are completely stable, but the power/brightness state is totally desynced at startup. Interestingly, if I press the physical Brightness Down key once, the screen instantly snaps out of the dim state, restores its original full brightness level from the power plan, and moves down a single notch. This proves the display link and backlighting are completely healthy, but the driver is caching the wrong initial value until a physical hardware interrupt forces it to evaluate the active OS power plan state. Device Manager Details: In Device Manager, the screen shows up under the name "Integrated Monitor", but its Device Description field reads "Generic PnP Monitor". This indicates that while Windows recognizes the physical internal routing, the modded NVIDIA driver is failing to map the panel's EDID string correctly on boot, resulting in a generic fallback power state until an interrupt occurs. Attempting to use low-level software utilities (like sending direct DDC/CI commands via Session 0) to force the brightness value during the boot sequence completely locks up the DreamColor microcontroller, requiring a full battery/CMOS flush to recover physical Fn key control. What I need help with: Since the card is running a native HP 82.07.8D.00.15 VBIOS, the state desync is happening strictly during the Windows driver initialization handshake with this specific factory assembly. Has anyone successfully dealt with this specific boot-up dimming state desync on Maxwell/Pascal card swaps with factory DreamColor boards? Are there specific registry override strings or advanced INF tweaks (like RM_I2cWriteRegistry, Mobile_Registers, or altering mobile power state bitmasks) that I should inject into the driver package to force the NVIDIA Resource Manager to read the active Windows power plan brightness right at startup? Alternatively, does this require a deeper edit to the 82.07.8D.00.15 VBIOS's internal display tables or ACPI mappings to ensure it passes the correct voltage profile to Windows during the handoff on older Ivy Bridge motherboards? Any insight from those who have wrangled with the sensitive hardware handshakes of these DreamColor mapping boards would be greatly appreciated. Thanks!
- 5 replies
-
- hp-elitebook-8570w
- quadro-m1000m
- (and 8 more)