EFI Secure Boot
VeraCrypt system encryption is compatible with EFI Secure Boot: the VeraCrypt EFI bootloaders are signed by Microsoft through the Microsoft third-party UEFI signing program, so they can be verified by the firmware using the standard Microsoft certificates without enrolling any custom key. This page explains how VeraCrypt selects its signed bootloaders, how this interacts with the Microsoft Secure Boot certificate transition from the 2011 certificate authorities (CAs) to the 2023 CAs, and how to diagnose and recover from Secure Boot related boot failures.
Signed bootloader sets
Since version 1.26.29, VeraCrypt ships two complete sets of Microsoft-signed EFI bootloaders:
-
2011 set: signed through Microsoft Corporation UEFI CA 2011. This is the CA that firmware has used for third-party bootloaders since the introduction of Secure Boot.
-
2023 set: signed through the renewed Microsoft third-party CAs. The main loader (
DcsBoot.efi) is signed through Microsoft UEFI CA 2023, while other components (DcsInt.dcs, LegacySpeaker.dcs) are signed through Microsoft Option ROM UEFI CA 2023. For this reason, the 2023 set requires both Microsoft UEFI CA 2023 and Microsoft Option ROM UEFI CA 2023 to be present in the firmware Secure Boot signature database (db).
At installation, upgrade, repair and system encryption time, VeraCrypt reads the firmware db and dbx and selects a loader set whose known signing CAs are present in db and not listed in dbx. The optional dbx variable may legitimately be absent (especially on custom-key systems); VeraCrypt treats that state as an empty forbidden database, while a genuine read or parse failure remains an error when Secure Boot is enabled. If the 2023 CA pair is available, the 2023 set is preferred; otherwise the 2011 set is used when Microsoft Corporation UEFI CA 2011 is available. If Secure Boot is enabled and neither set is compatible with the known CA policy, VeraCrypt refuses to install its bootloader rather than knowingly installing a loader whose CA the firmware will reject.
Changing the firmware Secure Boot configuration (for example enabling additional certificates in the BIOS setup) does not by itself rewrite the files already installed on the EFI System Partition. Run VeraCrypt Setup in Repair/Reinstall mode after changing the firmware Secure Boot database, or let the VeraCrypt System Favorites service refresh the loader automatically (it re-evaluates the selection at Windows startup, session logon/unlock, resume from sleep, and shutdown).
Diagnostics
VeraCrypt records which loader set was installed and why under the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\VeraCrypt\Diagnostics\EfiBootLoader
EfiBootLoaderResourceSet REG_DWORD 2011 (0x7db) or 2023 (0x7e7)
EfiBootLoaderSelectionReason REG_SZ human readable selection reason
EfiBootLoaderFirmwareDbLastError REG_DWORD last firmware db read/parse error (0 = none)
EfiBootLoaderFirmwareDbxLastError REG_DWORD last firmware dbx read/parse error (0 = none)
EfiBootLoaderSelectionTimeUtc REG_SZ time of the last selection
EfiBootChainStatusKnown REG_DWORD db/dbx known-CA assessment is available
EfiBootChainLastError REG_DWORD last incomplete-assessment error (0 = none)
SecureBootEnabled REG_DWORD Secure Boot state at the last assessment
FirmwareDbxPresent REG_DWORD dbx exists (0 is valid: optional variable absent)
VeraCryptLoaderFilesValid REG_DWORD installed DCS files match one embedded set
VeraCryptLoaderKnownCaAllowed REG_DWORD known required CAs are in db and not in dbx
VeraCryptLoaderKnownCaRevoked REG_DWORD a known required VeraCrypt CA is in dbx
EfiBootLoaderInstalledResourceSet REG_DWORD set identified from the actual ESP files
EfiBootLoaderRecordedResourceSet REG_DWORD set recorded at the last successful refresh
WindowsLoaderInspectionSucceeded REG_DWORD embedded PE signature was parsed
WindowsLoaderPresent REG_DWORD bootmgfw_ms.vc was found
WindowsLoaderSigner REG_DWORD 0 (unknown), 2011, or 2023
WindowsLoaderKnownCaAllowed REG_DWORD known signing CA is in db and not in dbx
WindowsLoaderKnownCaRevoked REG_DWORD known Windows loader signing CA is in dbx
WindowsLoaderMigrationRecommended REG_DWORD PCA 2011 copy remains while CA 2023 is available
EfiBootChainCheckTimeUtc REG_SZ time of the last attempted chain check
The following commands, run from an elevated PowerShell prompt, provide additional evidence. The text search is only a convenience and may not expose certificate names on every firmware. An absent dbx is valid; any other exception needs investigation.
reg query HKLM\SOFTWARE\VeraCrypt\Diagnostics\EfiBootLoader /s
$t = [Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).Bytes)
'Microsoft Corporation UEFI CA 2011',
'Microsoft Windows Production PCA 2011',
'Windows UEFI CA 2023',
'Microsoft UEFI CA 2023',
'Microsoft Option ROM UEFI CA 2023' |
ForEach-Object { "$_ : $($t -match [regex]::Escape($_))" }
try {
$dbx = (Get-SecureBootUEFI dbx).Bytes
'Windows PCA 2011 in dbx: ' +
([Text.Encoding]::ASCII.GetString($dbx) -match
'Microsoft Windows Production PCA 2011')
} catch {
'dbx is absent or could not be read; check FirmwareDbxPresent and EfiBootLoaderFirmwareDbxLastError'
}
# After mounting the EFI System Partition as S:, inspect the embedded signer.
# Do not use Get-AuthenticodeSignature here: it may report a catalog signer.
Get-PfxCertificate -FilePath S:\EFI\Microsoft\Boot\bootmgfw_ms.vc |
Select-Object Subject,Issuer,Thumbprint
Get-WinEvent -FilterHashtable @{
LogName='System'
ProviderName='Microsoft-Windows-TPM-WMI'
Id=@(1036,1037,1043,1044,1045,1797,1798,1799,1800,1801,1802,1803)
StartTime=(Get-Date).AddDays(-30)
} | Select-Object TimeCreated,Id,LevelDisplayName,Message
In addition, the VeraCrypt System Favorites service writes a warning to the Windows Application event log (source VeraCryptSystemFavorites) when installed DCS files do not match an embedded set, the chainloaded Windows Boot Manager is missing or its embedded signer cannot be identified, a known required CA is absent from db or listed in dbx, or a PCA 2011-signed Windows Boot Manager should be migrated before revocation.
These values are deliberately described as a known-CA compatibility assessment, not proof that firmware will accept an image. UEFI dbx can also contain individual image hashes, certificate TBS hashes and security-version revocations that this diagnostic does not fully evaluate. A successful controlled reboot with Secure Boot enabled remains the final validation.
The Microsoft 2023 certificate transition
The Microsoft Secure Boot certificates from 2011 expire in 2026: Microsoft Corporation KEK CA 2011 and Microsoft Corporation UEFI CA 2011 expired in June 2026, and Microsoft Windows Production PCA 2011 expires in October 2026. Microsoft replaces them with 2023 CAs and distributes the new certificates, as well as a Windows Boot Manager signed by Windows UEFI CA 2023, through Windows Update.
Two important points for VeraCrypt users:
-
Certificate expiration does not normally stop already-installed loaders from booting. UEFI Secure Boot image verification does not normally enforce the signing certificate's validity period, so a loader signed through a 2011 CA is not rejected merely because that CA certificate has expired. Expiration is nevertheless the end of the signing ecosystem for new binaries; systems that never receive the 2023 certificates cannot continue receiving boot-chain updates signed through the replacement CAs.
-
Expiration and revocation are separate. Microsoft provides a separate, deliberate mitigation that adds Microsoft Windows Production PCA 2011 to the Secure Boot forbidden signature database (dbx); once applied, every Windows Boot Manager signed through that CA is rejected. This Windows PCA revocation is not part of the
0x5944 certificate/Boot Manager migration described below. As of July 2026, Microsoft states that it has no plan to revoke Microsoft Corporation UEFI CA 2011, the third-party CA used by the VeraCrypt 2011 loader set. Nevertheless, migrating both the VeraCrypt and Windows portions of the chain to their 2023 CAs is recommended before applying any Windows PCA 2011 revocation.
New computers that trust only the 2023 CAs
Some recent computers ship from the factory with a Secure Boot configuration that contains only Windows UEFI CA 2023 and no Microsoft third-party CAs at all. On such systems, the two third-party CAs required by the VeraCrypt 2023 loader set (Microsoft UEFI CA 2023 and Microsoft Option ROM UEFI CA 2023) must first be enabled in the firmware setup. The option is typically called "Allow Microsoft 3rd Party UEFI CA", "Third-Party CA" or "Third-Party Certificates". After enabling it, run VeraCrypt Setup in Repair/Reinstall mode (or start system encryption) so that VeraCrypt selects the 2023 loader set.
If the firmware provides no way to trust a Microsoft third-party CA, VeraCrypt system encryption cannot be used with Secure Boot enabled on that machine.
Updating an existing system to the 2023 certificates
Windows deploys the 2023 certificates through a staged, telemetry-driven rollout. Devices are updated automatically only once Microsoft has sufficient confidence in their hardware/firmware combination. A VeraCrypt system-encrypted machine has a non-standard boot chain because the VeraCrypt loader occupies the standard Windows Boot Manager location; this may affect servicing checks, but Microsoft does not document VeraCrypt as a categorical exclusion from the rollout. A Windows Security report that there is "not yet enough data to classify your device" describes the current rollout state, not proof that VeraCrypt caused it.
The MicrosoftUpdateManagedOptIn value is a separate opt-in to Microsoft's asynchronous managed rollout. It requires the applicable Windows diagnostic-data configuration and does not guarantee immediate deployment. Do not mix that method with a manual AvailableUpdates deployment; choose one method and monitor it to completion.
For an administrator performing a controlled manual deployment, Microsoft documents
0x5944 as the explicit request for the 2023 CA, KEK, and Windows Boot Manager migration (see
Microsoft's registry-key guidance for Secure Boot). It does
not apply the Windows PCA 2011 dbx revocation. VeraCrypt does not set this registry value automatically. On a fully updated Windows installation, after reviewing the precautions below:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x5944 /f
rem optionally run the servicing task immediately (it otherwise runs every 12 hours):
schtasks /Run /TN "\Microsoft\Windows\PI\Secure-Boot-Update"
Progress can be monitored under HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot and its Servicing subkey, and through the Secure Boot servicing events shown above. The expected AvailableUpdates progression is 0x5944, then 0x4100, and finally the terminal modifier 0x4000 after the required task runs and restarts. UEFICA2023Status=Updated is useful Windows-servicing evidence, but it may remain incomplete when VeraCrypt intentionally occupies the standard ESP path. Conversely, 0x4000 alone does not prove that VeraCrypt's bootmgfw_ms.vc was refreshed. Verify the firmware CAs, the actual installed DCS resource set, the embedded signer of bootmgfw_ms.vc, and the absence of unresolved servicing errors. The db update adds Windows UEFI CA 2023. It conditionally adds Microsoft UEFI CA 2023 and Microsoft Option ROM UEFI CA 2023 on systems that already trust Microsoft Corporation UEFI CA 2011; not every system on which VeraCrypt can be installed necessarily has that legacy third-party CA.
Before triggering the update on a VeraCrypt system-encrypted machine, take the following precautions:
-
Update the BIOS/UEFI firmware to the latest version available from the computer manufacturer first. Failures to write the new certificates to the firmware Secure Boot database are usually caused by firmware bugs, and Microsoft recommends checking with the device manufacturer for updated firmware before applying the certificate updates.
-
Create or update your VeraCrypt Rescue Disk first, and verify that it boots.
-
Record the existing
AvailableUpdates value and make sure the device is not already managed by another Secure Boot deployment policy. Setting 0x5944 requests authenticated firmware db/KEK writes and a boot-file replacement. Firmware defects, a missing OEM-authorized KEK, interruption during servicing, or overwriting another pending deployment value can leave the transition incomplete. Use the computer manufacturer's recovery procedure if a firmware variable update fails.
-
Do not disable the VeraCrypt System Favorites service or its bootloader update function. When Windows installs a new Boot Manager at the standard ESP location, the service saves it as
bootmgfw_ms.vc and restores the VeraCrypt loader. If Windows leaves the standard path unchanged, current VeraCrypt versions also inspect Windows' serviced copies under %SystemRoot%\Boot\EFI_EX and %SystemRoot%\Boot\EFI, verify the embedded signer, and atomically refresh bootmgfw_ms.vc with the best copy permitted by the known firmware CA policy.
-
Hidden operating system users should not trigger the update from the hidden OS. The automatic boot-chain preservation is disabled when a hidden OS is running.
-
Avoid forced power-off between the moment Windows replaces the boot manager and the next normal restart or shutdown. On most systems the VeraCrypt boot entry keeps the machine bootable during this window, but firmware that ignores the boot order could boot the plain Windows Boot Manager, which cannot start an encrypted Windows (recoverable with the Rescue Disk).
-
Windows may continue reporting the transition as incomplete because the standard Windows Boot Manager location contains the VeraCrypt loader by design. Treat this as a possible servicing false negative only after the firmware db contains the required 2023 CAs,
EfiBootLoaderInstalledResourceSet identifies the actual 2023 DCS files, the embedded issuer of bootmgfw_ms.vc is Windows UEFI CA 2023, and the event log contains no unresolved Secure Boot servicing failure.
After the db update has been applied, VeraCrypt automatically switches to the 2023 DCS set and attempts to import the current 2023-signed Windows Boot Manager the next time the bootloader is refreshed (Repair/Reinstall, upgrade, or one of the automatic refresh points of the System Favorites service). Verify the actual result in the diagnostics registry key and recreate the Rescue Disk when prompted.
The Windows PCA 2011 dbx revocation is a later, separate operation documented in
Microsoft KB5025885. Do not request its
0x80 bit (or the combined
0x280 value, which also requests the SVN update) until
bootmgfw_ms.vc is confirmed to be signed by
Windows UEFI CA 2023, recovery media are current, and a controlled reboot with Secure Boot enabled has succeeded. VeraCrypt never enables this revocation automatically.
Recovering from a Secure Boot boot failure
Two distinct failures can occur when the firmware Secure Boot policy rejects a component of the boot chain (because of a missing CA, a CA or image revocation, or another policy restriction):
-
Before the password prompt (message such as "Secure Boot Violation" or an immediate return to the firmware): the firmware policy rejects the installed VeraCrypt loader.
-
After successful password entry (an explicit Secure Boot error message from the VeraCrypt loader, or on older loader versions a return to the password prompt): the firmware policy rejects the Windows Boot Manager copy (
bootmgfw_ms.vc) that VeraCrypt chainloads.
In both cases, the recovery procedure is:
-
Temporarily disable Secure Boot in the firmware setup and start Windows normally (VeraCrypt pre-boot authentication works with Secure Boot disabled). The VeraCrypt Rescue Disk can restore VeraCrypt loader components when they are missing or damaged, but it cannot manufacture a current Windows Boot Manager or make a PCA 2011-signed
bootmgfw_ms.vc acceptable after that CA has been added to dbx; it is not a substitute for completing the Windows migration.
-
In Windows, adjust the firmware/Windows Secure Boot policy as needed (enable the third-party CAs in firmware setup, restore a valid dbx if a custom-key workflow removed it, or apply the Windows Secure Boot certificate updates as described above), then run VeraCrypt Setup in Repair/Reinstall mode. Repair now checks Windows' serviced
EFI_EX/EFI copies and can install a compatible current Windows Boot Manager even while the standard ESP path contains VeraCrypt.
-
Review the VeraCrypt diagnostics and embedded signer as described above, then re-enable Secure Boot and perform a controlled reboot. Do not re-enable it while VeraCrypt reports an incomplete policy assessment or incompatible loader files.
Legacy custom-key procedure (deprecated)
Older VeraCrypt versions documented a custom-key procedure (the VeraCrypt-DCS SecureBoot script, sb_set_siglists.ps1) that replaced PK, KEK, db and dbx with a custom platform key, 2011-era Microsoft certificates and an obsolete bundled dbx. This procedure is deprecated and must not be used on systems using the 2023 certificate chain: it removes trust for the 2023-signed Windows Boot Manager, discards current revocations and can break the Windows handoff after VeraCrypt pre-boot authentication. Systems where it was applied should restore the manufacturer Secure Boot keys and current dbx, then follow the normal procedure described on this page.