Did you manually update your Secure Boot Keys ?


My Computer

System One

  • OS
    Windows 11 Pro 24H2
    Computer type
    Laptop
    Manufacturer/Model
    HP
    CPU
    Intel Ultra 7 155H
    Memory
    16gb
    Graphics Card(s)
    Intel Arc integrated
    Hard Drives
    SSD
@garlin : Decided not to wait...

I chose option "add the 2023 certs and disable the 2011 certs".

I successfully added the reg key. When I run the command to add the task, it appears to add it but says the task is disabled. I'm doing this at an Admin Command Prompt:

Code:
c:\>powershell Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
Start-ScheduledTask : The task is disabled.
At line:1 char:1
+ Start-ScheduledTask -TaskName \Microsoft\Windows\PI\Secure-Boot-Updat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (PS_ScheduledTask:Root/Microsoft/.
   ..S_ScheduledTask) [Start-ScheduledTask], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041326,Start-ScheduledTask


c:\>

What am I missing?
 

My Computer

System One

  • OS
    Windows 11 Pro 24H2
    Computer type
    Laptop
    Manufacturer/Model
    HP
    CPU
    Intel Ultra 7 155H
    Memory
    16gb
    Graphics Card(s)
    Intel Arc integrated
    Hard Drives
    SSD
@garlin : Decided not to wait...

I chose option "add the 2023 certs and disable the 2011 certs".

I successfully added the reg key. When I run the command to add the task, it appears to add it but says the task is disabled. I'm doing this at an Admin Command Prompt:

Code:
c:\>powershell Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
Start-ScheduledTask : The task is disabled.
At line:1 char:1
+ Start-ScheduledTask -TaskName \Microsoft\Windows\PI\Secure-Boot-Updat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (PS_ScheduledTask:Root/Microsoft/.
   ..S_ScheduledTask) [Start-ScheduledTask], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041326,Start-ScheduledTask


c:\>

What am I missing?
Apparently, the task is disabled, you gotta check on task scheduler if you didn't disable it by accident, or some tweak
 

My Computers

System One System Two

  • OS
    Windows 11 Pro 25H2
    Computer type
    PC/Desktop
    Manufacturer/Model
    Built PC
    CPU
    AMD Ryzen 5 5600G @ 3.9/4.4Ghz
    Motherboard
    MSI B550M-PRO-WiFi Ver. 1.4
    Memory
    2 x 16 GB DDR4 Kingston Fury Beast 3200 Mhz
    Graphics Card(s)
    AMD Radeon RX 6600 XT MSI Mech 2X OC Edition 8 GB
    Sound Card
    Realtek High Definition Audio (Integrated)
    Monitor(s) Displays
    Samsung C50Rx 27" LED / HP S2031 20" LCD
    Screen Resolution
    1920 x 1080 px / 1600 x 900 px
    Hard Drives
    WD Blue SN570 NVME M.2 SSD [1 TB] -- External Drives: - WD Scorpion Blue 250 GB 5400 RPM (Data Backup) - Hitachi 500 GB 5400 RPM (Software / ISOs Backup) - Toshiba MQ01ABD100 1 TB 5400 RPM (OS Images) - HGST TravelStar 7K1000 1 TB, 7200 RPM USB 3.0 - ADATA SU800 2TB SSD USB 3.0
    PSU
    Corsair RM750e 750W Fully Modular
    Case
    Naceb Hydra NA-1602
    Cooling
    Naceb Orpheus x 3 (Front) + Naceb Cepheus 1200 RPM Max (Rear) + ThemalRight Assasin X 90 SE (CPU)
    Keyboard
    Logitech MK470 Wireless
    Mouse
    Logitech MK470 Wireless
    Internet Speed
    120 MB Symetrical
    Browser
    Firefox / Brave / Edge
    Antivirus
    Windows Defender
    Other Info
    - VMs: WMware Player - Windows 8.1 Pro x64 / Windows 11 Pro
    - Wacom Intuos Pro Small Tablet PTH-460
  • Operating System
    Windows 11 Pro 25H2
    Computer type
    Laptop
    Manufacturer/Model
    HP Pavilion 15-eh3000la (80M53LA)
    CPU
    AMD Ryzen 7 7730U @ 2.0/4.5 Ghz
    Motherboard
    HP 8BC7
    Memory
    2 x 16 GB Kingston Fury Impact DDR4 3200 Mhz
    Graphics card(s)
    Radeon (tm) Graphics Vega 8 (512 MB)
    Sound Card
    Realtek High Definition Audio (Integrated)
    Monitor(s) Displays
    AU Optronics
    Screen Resolution
    1920 x 1080 px (125% size)
    Hard Drives
    WD Blue SN570 1TB NVME M.2 Drive
    PSU
    45 Watt Charger
    Cooling
    Laptop Cooling Pad
    Keyboard
    Free Wolf Foldable Portable Keyboard
    Mouse
    Free Wolf Wireless Mouse
    Internet Speed
    120 MB Symetrical
    Browser
    Firefox / Brave / Edge
    Antivirus
    Windows Defender
    Other Info
    - 41mWh battery.
    - Wacom Intuos Pro Small Tablet PTH-460
Code:
powershell Enable-ScheduledTask -TaskName '\Microsoft\Windows\PI\Secure-Boot-Update'
 

My Computer

System One

  • OS
    Windows 7
@garlin : Decided not to wait...

I chose option "add the 2023 certs and disable the 2011 certs".

I successfully added the reg key. When I run the command to add the task, it appears to add it but says the task is disabled. I'm doing this at an Admin Command Prompt:

Code:
c:\>powershell Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
Start-ScheduledTask : The task is disabled.
At line:1 char:1
+ Start-ScheduledTask -TaskName \Microsoft\Windows\PI\Secure-Boot-Updat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (PS_ScheduledTask:Root/Microsoft/.
   ..S_ScheduledTask) [Start-ScheduledTask], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041326,Start-ScheduledTask


c:\>

What am I missing?
Open TaskScheduler (in Run dialog box, type in Taskschd.msc and press Enter key):

When Task Scheduler opens, then click this sign > besides each item on the left pane below:

Task Scheduler Library
Microsoft
Windows

Find PI entry and click on it

On the right pane you have

Secure-Boot-Update

Right-click it and select Enable, if it is disabled and then click Run.

TS.webp

Hope this helps.
 

My Computers

System One System Two

  • OS
    Windows 11 Pro build 26200.8524
    Computer type
    PC/Desktop
    Manufacturer/Model
    Home Built
    CPU
    Intel i7-4790
    Motherboard
    Asus H97 Pro Gamer with add-on TPM1.2 module
    Memory
    Teams DDR3-1600 4x4 GB
    Graphics Card(s)
    MSI Nvidia GeForce GTX 1050Ti
    Sound Card
    Realtek ALC1150
    Monitor(s) Displays
    Dell P2425D
    Screen Resolution
    2560 by 1440 pixels
    Hard Drives
    Corsair NVMe M.2 Core XT 1000 GB (Windows 11 v.25H2); Samsung SATA Evo 870 500 GB (Windows 11 v.25H2);
    PSU
    Corsair HX850
    Case
    Gigabyte Solo 210
    Cooling
    Zalman CNPS7X Tower
    Keyboard
    Microsoft AIO Wireless (includes touchpad)
    Mouse
    HP S1000 Plus Wireless
    Internet Speed
    500 Mb fiber optic
    Browser
    Chrome; MS Edge
    Antivirus
    Windows Defender
  • Operating System
    MacOS 12 Monterey
    Computer type
    Laptop
    Manufacturer/Model
    Apple Macbook Air
    CPU
    Intel Core i5
    Memory
    8 GB
    Graphics card(s)
    Intel integrated
    Screen Resolution
    1440 by 900 pixels
    Hard Drives
    128 GB
    Keyboard
    Built-in
    Mouse
    Microsoft Wireless
    Internet Speed
    802.11 ac
    Browser
    Chrome; Safari
    Antivirus
    N/A
Question for Garlin: Ran that latest Check-UEFI-CA2023.ps1 script from GitHub. (GitHub - garlin-cant-code/SecureBoot-CA-2023-Updates: PowerShell scripts for checking and applying Secure Boot CA 2023 updates for Windows.) *Instead of uploading these files; point people to your GitHub site. 1 central point. No mix up with old an new files. Always the latest.*

I still see "[OPTIONAL] SkuSiPolicy.p7b (for VBS) is MISSING." As this is an optional feature as mentioned should I ignore it? Found an old winsipolicy.p7b file that dates from 01-04-2024 on my Boot partition. (Found SKUSiPolicy.P7b (xx-05-2026) in the C:\Windows\System32\SecureBootUpdates directory where MS updates it's KEK, DB and DBX .bin files by updates.)


EFI Files
---------
Windows Boot Manager [Windows UEFI CA 2023] is ALLOWED.

Registry: WindowsUEFICA2023Capable = 2
[Windows UEFI CA 2023] in UEFI DB, and Windows starting from CA 2023 Boot Manager.

[OPTIONAL] SkuSiPolicy.p7b (for VBS) is MISSING.

In earlier results and the latest version I saw no drive mentioned like; "Disk 0: Windows Boot Manager..", "Disk 1:...", or "\\?\Volume{GUID}..." In the above "EFI Files" section. This because my C-drive resides on Disk 3. But still it should find by it's GUID? (Just a cosmetic remark. Despite the lack of it it's functioning fine.)

$SystemDisk = [regex]::Match((Get-CimInstance -ClassName Win32_BootConfiguration).Caption,'\d+').Value
$GUID = (Get-Partition -DiskNumber $SystemDisk | Where-Object { $_.Type -eq 'System' }).Guid
Echo $SystemDisk, $GUID

3
{4f9dc9cf-9c63-4c57-8861-b8d0f47e03a9}

In the end the script reported that every is OK.

STATUS REPORT
-------------
Registry: UEFICA2023Status = Updated

SUCCESS: UPDATES ARE FINISHED.
UEFI CA 2023 certs are present, PCA 2011 cert is revoked.

it's also wise to update any bootable USB stick in order to bring their bootx64.efi (<drive>:\efi\Boot) up to date. No changes are made in \EFI\Microsoft\Boot... Should that also not be the case??.... A while back I booted from an USB-stick and the system told me that I used the wrong SVN version and shutdown. The same with an alternative that I burned onto an bootable DVD. (Found 1.0, wanted 3.0 and Found 3.0 and wanted 7.0) Could not understand what was wrong and how to fix it, now I do; "Update-UEFI -bootmedia" *Apart from that \EFI\Microsoft\Boot modify question*

Note: In Update-UEFI.bat you forgot to add "where pwsh >nul 2>nul" as is the case with Check-UEFI.bat. Got an error while I tried my USB bootmedia's saying "'pwsh' is not recognized as an internal or external command, operable program or batch file." With that line added to the script the script did it's job.

A very nice collection of scripts by the way! (especially the option -bootmedia) (y) It does more than cjee21 scripts does.
 

My Computer

System One

  • OS
    Win 11 Pro "25H2" Build 26200.8524, Zorin OS Pro
    Computer type
    PC/Desktop
    Manufacturer/Model
    Self built
    CPU
    Intel® Core™ i7-12700KF 12th Gen.
    Motherboard
    ASUS Prime Z690-A, BIOS v4505
    Memory
    32GB DDR5 5600-36 Vengeance
    Graphics Card(s)
    PCIe4.0 Asus NVIDIA RTX3060Ti
    Sound Card
    Onboard; Realtek
    Monitor(s) Displays
    34" LG 34UC79G-B Curved 21:9 144Hz
    Screen Resolution
    2560x1080 (No HDR)
    Hard Drives
    250Gb Samsung 870PRO NVMe (Win 11 Pro)
    1Tb Samsung 980PRO NVMe
    1Tb Samsung 970EVO NVMe
    2Tb Samsung 990PRO NVMe with heatsink.
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    3Tb WDC WD30EFRZ Red SATA (Int.)
    256Gb Samsung 840PRO SSD (RHEL 9,5)
    256Gb Samsung 850PRO SSD (Zorin OS Pro 18)
    PSU
    Coolermaster 850W V2 Gold with internal 12cm exaust fan
    Case
    Be-Quiet Pure Base 600.
    Cooling
    3x Be-Quiet! 12/14cm "Silent Wings 4" casefans, 1x Arctic Freezer i35 CPU towerblock with fan.
    Keyboard
    Steelseries APEX 7 keyboard.
    Mouse
    Logitech G-502 Hero
    Internet Speed
    1Gb
    Browser
    Brave
    Antivirus
    F-Secure
    Other Info
    No Noise system.
    256Gb Kingston Travler USB 3.0 drive.
    64Gb Sandisk USB 3.2 drive. (Ventoy)
    8Gb Philips USB 3.0 drive. (Win. Inst.)
    8Gb Philips USB 3.0 drive. (Rescue disk)
    2Tb WD USB 3.0 Passport drive.
    USB Ext. 500Gb WD SATA drive.
    External USB 3.0 C.A. CD/DVD* burner.
Question for Garlin: Ran that latest Check-UEFI-CA2023.ps1 script from GitHub. (GitHub - garlin-cant-code/SecureBoot-CA-2023-Updates: PowerShell scripts for checking and applying Secure Boot CA 2023 updates for Windows.) *Instead of uploading these files; point people to your GitHub site. 1 central point. No mix up with old an new files. Always the latest.*
Sometimes I will upload a work-in-progress build to ElevenForum, before committing a formal release to GitHub. This allows me to get faster feedback on bug reports. There are more traditional devs who put out beta branches on GitHub, but I'm trying to keep as simple for normal users.

I still see "[OPTIONAL] SkuSiPolicy.p7b (for VBS) is MISSING." As this is an optional feature as mentioned should I ignore it? Found an old winsipolicy.p7b file that dates from 01-04-2024 on my Boot partition. (Found SKUSiPolicy.P7b (xx-05-2026) in the C:\Windows\System32\SecureBootUpdates directory where MS updates it's KEK, DB and DBX .bin files by updates.)
MS recommends you deploy a SkuSiPolicy as an additional security feature, whenever VBS is used. For a simple Windows user who isn't playing around with a dual-boot setup, or using a Macrium-like recovery disk then SkuSiPolicy is perfectly fine. SkuSiPolicy lists a set of file rules, mostly banning certain versions of winload.efi.

If you have a dual-boot setup, especially when playing with an Insider build, the SkuSiPolicy's banned versions may conflict with booting the other Windows. Or your bootable USB drive will have a base WinRE that contains a blocked version. I can't predict when that could happen. So the script recommends SkuSiPolicy as an optional step you can take.

You can manually copy the SkuSiPolicy from the SecureBootUpdates folder to \EFI\Microsoft\Boot, or have the update script do with the "-SkuSiPolicy" option.

In earlier results and the latest version I saw no drive mentioned like; "Disk 0: Windows Boot Manager..", "Disk 1:...", or "\\?\Volume{GUID}..." In the above "EFI Files" section. This because my C-drive resides on Disk 3. But still it should find by it's GUID? (Just a cosmetic remark. Despite the lack of it it's functioning fine.)
Windows allows you to access files on the ESP, using the volume {GUID} filepath. This avoids the need to mount (assign a drive letter). But the problem is everyone likes the read the fine details on the report, and they don't understand that GUID's are random numbers. Switching to the HarddiskVolume notation is more compact, and you can actually use it to list and copy files from.

One of the problems I realized was that some users have really unique disk layouts. Folks who are cloning drives, doing failed migrations, etc. so you can't simply assume the ESP is on disk 0, and typically the first partition. Disk [N] by itself is inprecise for this reason. A volume GUID is the most accurate, but non-technical users don't know how to use the path.

it's also wise to update any bootable USB stick in order to bring their bootx64.efi (<drive>:\efi\Boot) up to date. No changes are made in \EFI\Microsoft\Boot... Should that also not be the case??.... A while back I booted from an USB-stick and the system told me that I used the wrong SVN version and shutdown. The same with an alternative that I burned onto an bootable DVD. (Found 1.0, wanted 3.0 and Found 3.0 and wanted 7.0) Could not understand what was wrong and how to fix it, now I do; "Update-UEFI -bootmedia" *Apart from that \EFI\Microsoft\Boot modify question*
There are WinPE and WinRE style boot media. WinPE is mostly bootx64.efi and a few other files, WinRE is essentially using bcdboot (or the equivalent action) to copy more folders and files to \EFI\Microsoft\Boot.

When the UEFI cannot find \EFI\Microsoft\Boot\bootmgfw.efi, it falls back to booting \EFI\Boot\bootx64.efi. If you're updating boot media, it's best to recognize the media type and do the right things. I used to have a bug where bcdboot didn't do anything because of a missing colon in the drive letter (some PS functions want a colon for the drive letter, other functions don't...).

bcdboot nevertheless doesn't throw an error, and reports boot files have been copied. When nothing happened. :cautious:
Note: In Update-UEFI.bat you forgot to add "where pwsh >nul 2>nul" as is the case with Check-UEFI.bat. Got an error while I tried my USB bootmedia's saying "'pwsh' is not recognized as an internal or external command, operable program or batch file." With that line added to the script the script did it's job.
I have "where pwsh >nul 2>nul" in Update-UEFI.bat, but apparently the GitHub folder has the old version of the file.
Will fix in the next release.

A very nice collection of scripts by the way! (especially the option -bootmedia) (y) It does more than cjee21 scripts does.
One of cjee21's scripts was my inspiration for the scripts, but I had to start this project because the reporting wasn't as clear as I thought it needed to be and users need to know what actions they're supposed to take. It shouldn't be your job to interpret random reg values or search through Event ID's to figure what to do next.

And the update script provides immediate feedback, either it worked or it didn't. If the update failed, then you have an unsupported BIOS and manual help is required. But the script is non-destructive and has safety checks built in. The hard part is getting users to navigate their BIOS screens if you have to manually enroll KEK CA 2023 (ideal) or enter Setup Mode (as the last resort).
 

My Computer

System One

  • OS
    Windows 7
Apparently, the task is disabled, you gotta check on task scheduler if you didn't disable it by accident, or some tweak
Open TaskScheduler (in Run dialog box, type in Taskschd.msc and press Enter key):

When Task Scheduler opens, then click this sign > besides each item on the left pane below:

Task Scheduler Library
Microsoft
Windows

Find PI entry and click on it

On the right pane you have

Secure-Boot-Update

Right-click it and select Enable, if it is disabled and then click Run.

View attachment 170978

Hope this helps.

Alright, thanks for the details, enabled and run. The thought did occur tot me that maybe it just needed to be enabled but I figured I'd ask since I definitely didn't take any specific steps to make that happen.

Couple remaining questions...

1) I clicked "Run"... it's now running. Isn't this a "Run once and done" task?
2) It appears to now be scheduled to run daily i.e. "At System Startup; After Triggered every day at 12:00:00 indefinitely" Again, isn't it once and done?
-------------

I have done a restart. My output from Check_DBXUpdate.bin.ps1 is now what's below. If I'm reading it right, I'm all set:
Code:
SUCCESS: Matched 278/278 EFI signatures from "dbxupdate.bin"
SUCCESS: Matched 3/3 SVN signatures from "DBXUpdate2024.bin"
SUCCESS: Matched 3/3 SVN signatures from "DBXUpdateSVN.bin"

PS C:\windows\system32>

And the check code gives me:

Code:
Secure Boot: ON
Virtualization Based Security: ON
BitLocker on (C:) OFF

UEFI KEK Certs
--------------
    Microsoft Corporation KEK CA 2011
    Microsoft Corporation KEK 2K CA 2023

UEFI DB Certs
-------------
    Microsoft Corporation UEFI CA 2011
    Microsoft Windows Production PCA 2011
    Microsoft Option ROM UEFI CA 2023
    Microsoft UEFI CA 2023
    Windows UEFI CA 2023

UEFI DBX Certs
--------------
    Microsoft Windows Production PCA 2011
    Windows BootMgr SVN 8.0

EFI Files
---------
    Windows Boot Manager [Windows UEFI CA 2023] is ALLOWED.

    Registry: WindowsUEFICA2023Capable = 2
        [Windows UEFI CA 2023] in UEFI DB, and Windows starting from CA 2023 Boot Manager.

    [OPTIONAL] SkuSiPolicy.p7b (for VBS) is MISSING.

STATUS REPORT
-------------
    Registry: UEFICA2023Status = Updated

    SUCCESS: UPDATES ARE FINISHED.
    UEFI CA 2023 certs are present, PCA 2011 cert is revoked.

PS C:\windows\system32>

I'm have the "SkuSiPolicy.p7b (for VBS) is MISSING" optional error, but I will read the response to the other poster above before asking for info on that.
 
Last edited:

My Computer

System One

  • OS
    Windows 11 Pro 24H2
    Computer type
    Laptop
    Manufacturer/Model
    HP
    CPU
    Intel Ultra 7 155H
    Memory
    16gb
    Graphics Card(s)
    Intel Arc integrated
    Hard Drives
    SSD
The task runs every 12 hours unless disabled. Once run, it runs a few minutes and stops and remains in Ready status.

To see if you are fully updated SecureBoot-wise, you should check registry keys

HKLM\System\CurrentControlSet\Control\SecureBoot key and Servicing subkey.

Or you can use @garlin ’s check uefi ca2023 script which can be found here in this thread:


Hope this helps
 

My Computers

System One System Two

  • OS
    Windows 11 Pro build 26200.8524
    Computer type
    PC/Desktop
    Manufacturer/Model
    Home Built
    CPU
    Intel i7-4790
    Motherboard
    Asus H97 Pro Gamer with add-on TPM1.2 module
    Memory
    Teams DDR3-1600 4x4 GB
    Graphics Card(s)
    MSI Nvidia GeForce GTX 1050Ti
    Sound Card
    Realtek ALC1150
    Monitor(s) Displays
    Dell P2425D
    Screen Resolution
    2560 by 1440 pixels
    Hard Drives
    Corsair NVMe M.2 Core XT 1000 GB (Windows 11 v.25H2); Samsung SATA Evo 870 500 GB (Windows 11 v.25H2);
    PSU
    Corsair HX850
    Case
    Gigabyte Solo 210
    Cooling
    Zalman CNPS7X Tower
    Keyboard
    Microsoft AIO Wireless (includes touchpad)
    Mouse
    HP S1000 Plus Wireless
    Internet Speed
    500 Mb fiber optic
    Browser
    Chrome; MS Edge
    Antivirus
    Windows Defender
  • Operating System
    MacOS 12 Monterey
    Computer type
    Laptop
    Manufacturer/Model
    Apple Macbook Air
    CPU
    Intel Core i5
    Memory
    8 GB
    Graphics card(s)
    Intel integrated
    Screen Resolution
    1440 by 900 pixels
    Hard Drives
    128 GB
    Keyboard
    Built-in
    Mouse
    Microsoft Wireless
    Internet Speed
    802.11 ac
    Browser
    Chrome; Safari
    Antivirus
    N/A
The task runs every 12 hours unless disabled. Once run, it runs a few minutes and stops and remains in Ready status.

To see if you are fully updated SecureBoot-wise, you should check registry keys

HKLM\System\CurrentControlSet\Control\SecureBoot key and Servicing subkey.

Or you can use @garlin ’s check uefi ca2023 script which can be found here in this thread:


Hope this helps

Yes, output edit/added to my post above. I think I'm all set. Can I disable the Task Scheduler Task now?
 

My Computer

System One

  • OS
    Windows 11 Pro 24H2
    Computer type
    Laptop
    Manufacturer/Model
    HP
    CPU
    Intel Ultra 7 155H
    Memory
    16gb
    Graphics Card(s)
    Intel Arc integrated
    Hard Drives
    SSD
That is SecureBoot task scheduler. It should be in enabled condition, maybe for a few more months until certificate installment is stabilized. I guess you have also revoked old CA2011 certificates and updated your bootable usb drives and/or bootable backup drives.

Happy computing.
 

My Computers

System One System Two

  • OS
    Windows 11 Pro build 26200.8524
    Computer type
    PC/Desktop
    Manufacturer/Model
    Home Built
    CPU
    Intel i7-4790
    Motherboard
    Asus H97 Pro Gamer with add-on TPM1.2 module
    Memory
    Teams DDR3-1600 4x4 GB
    Graphics Card(s)
    MSI Nvidia GeForce GTX 1050Ti
    Sound Card
    Realtek ALC1150
    Monitor(s) Displays
    Dell P2425D
    Screen Resolution
    2560 by 1440 pixels
    Hard Drives
    Corsair NVMe M.2 Core XT 1000 GB (Windows 11 v.25H2); Samsung SATA Evo 870 500 GB (Windows 11 v.25H2);
    PSU
    Corsair HX850
    Case
    Gigabyte Solo 210
    Cooling
    Zalman CNPS7X Tower
    Keyboard
    Microsoft AIO Wireless (includes touchpad)
    Mouse
    HP S1000 Plus Wireless
    Internet Speed
    500 Mb fiber optic
    Browser
    Chrome; MS Edge
    Antivirus
    Windows Defender
  • Operating System
    MacOS 12 Monterey
    Computer type
    Laptop
    Manufacturer/Model
    Apple Macbook Air
    CPU
    Intel Core i5
    Memory
    8 GB
    Graphics card(s)
    Intel integrated
    Screen Resolution
    1440 by 900 pixels
    Hard Drives
    128 GB
    Keyboard
    Built-in
    Mouse
    Microsoft Wireless
    Internet Speed
    802.11 ac
    Browser
    Chrome; Safari
    Antivirus
    N/A
Yes, output edit/added to my post above. I think I'm all set. Can I disable the Task Scheduler Task now?
You shouldn't disable the Secure Boot task, but it's your call.

MS might release a new boot manager (due to a security fix), and when that happens a future Monthly Update will include the updated boot manager and DBXUpdateSVN. Absent the Secure Task running all the time, nothing will check for recent changes and push them for you.

If you disable the task, then it's your responsibility to re-enable it. The task runs every 12 hours unless manually started. The amount of overhead it consumes is very tiny in CPU or memory, even when it has to push out updates.
 

My Computer

System One

  • OS
    Windows 7
You shouldn't disable the Secure Boot task, but it's your call.

MS might release a new boot manager (due to a security fix), and when that happens a future Monthly Update will include the updated boot manager and DBXUpdateSVN. Absent the Secure Task running all the time, nothing will check for recent changes and push them for you.

If you disable the task, then it's your responsibility to re-enable it. The task runs every 12 hours unless manually started. The amount of overhead it consumes is very tiny in CPU or memory, even when it has to push out updates.

Thanks again. I'll leave it in there then.
 

My Computer

System One

  • OS
    Windows 11 Pro 24H2
    Computer type
    Laptop
    Manufacturer/Model
    HP
    CPU
    Intel Ultra 7 155H
    Memory
    16gb
    Graphics Card(s)
    Intel Arc integrated
    Hard Drives
    SSD
....

Couple remaining questions...

1) I clicked "Run"... it's now running. Isn't this a "Run once and done" task?
2) It appears to now be scheduled to run daily i.e. "At System Startup; After Triggered every day at 12:00:00 indefinitely" Again, isn't it once and done?
-------------
To answer your question quickly;
If you look at this job (Secure-Boot-Update) it will run when it's triggered by two conditions;
- Each time you boot your PC.
- As long as your PC is turned on it will repeat this action every 12 hours indefinitely.

In this situation;
Basically you place a "thing-to-do-code" into registry item "AvailableUpdates" before executing this job. This code can be 0x5944, 0x0040, 0x0100 etc.
When you start this job manually by "Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update" " This will look at this code and executes what it needs to do. In practice it will run and download data from MS and finish it's job with or without an error code. When no error; "AvailableUpdates" will turn this code into 0x04000 (Note1) a change is signaling that it executed it's job successfully. When it returns 0x04100 you have to rerun this job again and reboot. I have experienced that this action always was successful after running this command once and immediately. Sometime the advise is given to boot twice. Why? If it means to trigger this script at bootup; you can run this command twice or a hundred times without a reboot. OK maybe once is sometimes necessary to make things effective. But not twice.

I hope I answered your question sufficiently.

Note1: After some actions and using Garlin UEFI scripts if found today the current status of AvailableUpdates to be at 0x04000. MS says about this value:

  • The 0x4000 bit is a modifier and isn’t cleared. A final AvailableUpdates value of 0x4000 indicates successful completion of all applicable update actions.
I also learned to today that that part of NVRAM area is composed out of a default and a current section. (PK, KEK and DB) *It also stores your current BIOS values there* It seems that the default section is a backup section. As soon as you reset the BIOS; those values from the default section will be copied into the current section. The current section is the one that is active now. Can pose some risks if both sections are not the same. A red cross at a certificate inside the default section while it's counter part in the current section is green. After that BIOS reset the red cross will also be visible inside the current section. If this (for some reason) is now the case; Everything in the current section is green and 1 or 2 are red into the default section I would not try to reset the BIOS (I don't mean use factory settings!! It will default only the BIOS values that is also residing in that NVRAM. It will not touch the PK, KEK, DB and DBX values. That resides in an other part of that NVRAM.)

If you do? Nothing is lost. Turn off secure boot in the BIOS, boot into Windows and repeat the whole 0x5944 procedure again. It will fill the current section again with green values. Some things may be red at the start *Of this whole CA2023 exercise back in 2025* (current section) but this 0x5944 procedure turned everything green again. Turning on the secure boot after this is the last step.

Some info about the AvailableStatus commands; Secure Boot troubleshooting guide - Microsoft Support. In this document you can see the several codes you can use as input and the return values when successful or not. Interesting for diagnosing problems. I would not experiment with this; use Garlin's script to update your system. It will check afterwards if everything is OK. If not then it wil tell you what to do next.
 

My Computer

System One

  • OS
    Win 11 Pro "25H2" Build 26200.8524, Zorin OS Pro
    Computer type
    PC/Desktop
    Manufacturer/Model
    Self built
    CPU
    Intel® Core™ i7-12700KF 12th Gen.
    Motherboard
    ASUS Prime Z690-A, BIOS v4505
    Memory
    32GB DDR5 5600-36 Vengeance
    Graphics Card(s)
    PCIe4.0 Asus NVIDIA RTX3060Ti
    Sound Card
    Onboard; Realtek
    Monitor(s) Displays
    34" LG 34UC79G-B Curved 21:9 144Hz
    Screen Resolution
    2560x1080 (No HDR)
    Hard Drives
    250Gb Samsung 870PRO NVMe (Win 11 Pro)
    1Tb Samsung 980PRO NVMe
    1Tb Samsung 970EVO NVMe
    2Tb Samsung 990PRO NVMe with heatsink.
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    3Tb WDC WD30EFRZ Red SATA (Int.)
    256Gb Samsung 840PRO SSD (RHEL 9,5)
    256Gb Samsung 850PRO SSD (Zorin OS Pro 18)
    PSU
    Coolermaster 850W V2 Gold with internal 12cm exaust fan
    Case
    Be-Quiet Pure Base 600.
    Cooling
    3x Be-Quiet! 12/14cm "Silent Wings 4" casefans, 1x Arctic Freezer i35 CPU towerblock with fan.
    Keyboard
    Steelseries APEX 7 keyboard.
    Mouse
    Logitech G-502 Hero
    Internet Speed
    1Gb
    Browser
    Brave
    Antivirus
    F-Secure
    Other Info
    No Noise system.
    256Gb Kingston Travler USB 3.0 drive.
    64Gb Sandisk USB 3.2 drive. (Ventoy)
    8Gb Philips USB 3.0 drive. (Win. Inst.)
    8Gb Philips USB 3.0 drive. (Rescue disk)
    2Tb WD USB 3.0 Passport drive.
    USB Ext. 500Gb WD SATA drive.
    External USB 3.0 C.A. CD/DVD* burner.
....

One of the problems I realized was that some users have really unique disk layouts. Folks who are cloning drives, doing failed migrations, etc. so you can't simply assume the ESP is on disk 0, and typically the first partition. Disk [N] by itself is inprecise for this reason. A volume GUID is the most accurate, but non-technical users don't know how to use the path.
.....
Yes I agree using GUID's is a bit of a pain in the ass. I rather stay far away from it. It's like an other GUID tree in a big GUID forest.
But with "Get-CimInstance -ClassName Win32_BootConfiguration" I get immediately harddisk3. No matter which configuration is behind it; this is the hidden partition that boots Windows. That it's moved to an other disk and point to a another disk where a C partition is residing does not matter. This is the partition at whatever disk what needed undergo some changes in order to install the new UEFI files. Am I right or not?
With "Get-Partition | Select-Object DriveLetter, DiskNumber, Guid" you can list all partitions and disks available for Windows. Using "Get-Partition" shows a more extended list. This information comes from Windows itself.

An other solution is not to wake up the the dogs; don't mention it. The main part is in the end that files has been changed if they had the old types. As I already mentioned it's not that important. It does it's job and that was the goal of those scripts.
 

My Computer

System One

  • OS
    Win 11 Pro "25H2" Build 26200.8524, Zorin OS Pro
    Computer type
    PC/Desktop
    Manufacturer/Model
    Self built
    CPU
    Intel® Core™ i7-12700KF 12th Gen.
    Motherboard
    ASUS Prime Z690-A, BIOS v4505
    Memory
    32GB DDR5 5600-36 Vengeance
    Graphics Card(s)
    PCIe4.0 Asus NVIDIA RTX3060Ti
    Sound Card
    Onboard; Realtek
    Monitor(s) Displays
    34" LG 34UC79G-B Curved 21:9 144Hz
    Screen Resolution
    2560x1080 (No HDR)
    Hard Drives
    250Gb Samsung 870PRO NVMe (Win 11 Pro)
    1Tb Samsung 980PRO NVMe
    1Tb Samsung 970EVO NVMe
    2Tb Samsung 990PRO NVMe with heatsink.
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    4Tb WDC WD40EZRZ Blue SATA (Int.)
    3Tb WDC WD30EFRZ Red SATA (Int.)
    256Gb Samsung 840PRO SSD (RHEL 9,5)
    256Gb Samsung 850PRO SSD (Zorin OS Pro 18)
    PSU
    Coolermaster 850W V2 Gold with internal 12cm exaust fan
    Case
    Be-Quiet Pure Base 600.
    Cooling
    3x Be-Quiet! 12/14cm "Silent Wings 4" casefans, 1x Arctic Freezer i35 CPU towerblock with fan.
    Keyboard
    Steelseries APEX 7 keyboard.
    Mouse
    Logitech G-502 Hero
    Internet Speed
    1Gb
    Browser
    Brave
    Antivirus
    F-Secure
    Other Info
    No Noise system.
    256Gb Kingston Travler USB 3.0 drive.
    64Gb Sandisk USB 3.2 drive. (Ventoy)
    8Gb Philips USB 3.0 drive. (Win. Inst.)
    8Gb Philips USB 3.0 drive. (Rescue disk)
    2Tb WD USB 3.0 Passport drive.
    USB Ext. 500Gb WD SATA drive.
    External USB 3.0 C.A. CD/DVD* burner.
0x4000 is a "safety" check, it blocks the Secure Boot task from adding the optional Microsoft UEFI CA 2023 (for Linux) and Option ROM if 2011 versions of the same certs are not already installed. Some production environments do not want the Linux and Option ROM certs added, because it opens the PC to running code outside of a Windows-only setup. A large company or organization may have a strict security policy on this.

Without the 0x4000 present, Secure Boot task will apply MS UEFI CA 2023 and Option ROM to every PC. Assuming the certs worked, the 0x4000 value is never cleared after the task runs. That's just how MS designed that value to work, and it's documented.

For an update script like mine, I choose to install every cert because it's easier than explaining to users that the "missing" certs are optional. As a design choice, my check script provides a "MS compatible" answer of adding 0x4000 when it's really not required. Otherwise folks will get into arguments with you.

I can read a script's output and manually do the hex math for AvailableUpdates and only run the unfinished tasks. Someone will argue and say you need to apply 0x5944 (do everything possible). Because it's obviously they don't understand the different update states, and the bitmask values.



On a Windows system with a single drive, where you have never used an advanced disk or imaging tool to clone or transfer partitions around, life is simple. If you find a FAT32 partition marked with GPT System type, that's always the EFI partition where the current boot manager is stored.

As soon as you begin to do things like clone a disk (where all the original partition GUID's could be duplicated somewhere else), or migrate an EFI partition volume from one drive to another, now you have ambiguity. Which is the currently active EFI?

Maybe you had a separate Windows drive, and now connected it to create a dual-boot setup without going to Windows install. The UEFI only cares about the BCD store entries that list the boot manager and where it lives. You could change BCD and point it to another EFI. There is no rule that your active EFI is even on the same disk.

"Win32_BootConfiguration" should point to the EFI last used when your Windows booted up.

But this check fails for more than a handful of users, which is concerning. Now not all of the Windows library calls work equally well. For example, there's the warning that Get-Disk will not report a disk which is configured as a Dynamic Disk. There's an apparent disconnect between whatever Windows is internally using, and what's offered in the Win32 API's.

I'm now on my 4th attempt to figure a solution that works universally. Each of the previous methods was one that is considered "correct" by a number of experienced experts, but obviously failed on a non-standard setup.
 

My Computer

System One

  • OS
    Windows 7
Back
Top Bottom