EFI Secure Boot
Шифрование системы VeraCrypt совместимо с EFI Secure Boot: EFI-загрузчики VeraCrypt подписаны Microsoft в рамках программы Microsoft для подписи сторонних UEFI-компонентов, поэтому прошивка может проверять их по стандартным сертификатам Microsoft без добавления пользовательского ключа. На этой странице описано, как VeraCrypt выбирает подписанные загрузчики, как это связано с переходом Microsoft Secure Boot от центров сертификации 2011 года (CA) к центрам сертификации 2023 года, а также как диагностировать и устранять сбои загрузки, связанные с Secure Boot.
Наборы подписанных загрузчиков
Начиная с версии 1.26.29 VeraCrypt поставляет два полных набора EFI-загрузчиков, подписанных Microsoft:
-
Набор 2011 года: подписан с помощью Microsoft Corporation UEFI CA 2011. Этот центр сертификации используется прошивками для сторонних загрузчиков с момента появления Secure Boot.
-
Набор 2023 года: подписан с помощью обновлённых сторонних центров сертификации Microsoft. Основной загрузчик (
DcsBoot.efi) подписан с помощью Microsoft UEFI CA 2023, а остальные компоненты (DcsInt.dcs, LegacySpeaker.dcs) подписаны с помощью Microsoft Option ROM UEFI CA 2023. Поэтому для набора 2023 года требуется, чтобы в базе данных подписей Secure Boot прошивки (db) присутствовали оба сертификата: Microsoft UEFI CA 2023 и Microsoft Option ROM UEFI CA 2023.
При установке, обновлении, восстановлении/переустановке и запуске шифрования системы VeraCrypt считывает db и dbx прошивки и выбирает набор загрузчиков, известные подписывающие CA которого присутствуют в db и не перечислены в dbx. Необязательная переменная dbx может отсутствовать (особенно при пользовательских ключах); это считается пустой базой запретов, тогда как реальная ошибка чтения или разбора остаётся ошибкой при включённом Secure Boot. Если доступна пара CA 2023 года, предпочтение отдаётся набору 2023 года; иначе используется набор 2011 года при наличии Microsoft Corporation UEFI CA 2011. Если Secure Boot включён и ни один набор не совместим с известной политикой CA, VeraCrypt отказывается устанавливать загрузчик, чтобы не устанавливать заведомо несовместимый загрузчик, CA которого прошивка отклонит.
Изменение конфигурации Secure Boot в прошивке (например, включение дополнительных сертификатов в настройках BIOS) само по себе не перезаписывает файлы, уже установленные в системном разделе EFI. После изменения базы данных Secure Boot в прошивке запустите установщик VeraCrypt в режиме Восстановить/переустановить или позвольте службе VeraCrypt System Favorites автоматически обновить загрузчик (она повторно оценивает выбор при запуске Windows, входе в сеанс или разблокировке, выходе из сна и завершении работы).
Диагностика
VeraCrypt записывает сведения о том, какой набор загрузчиков был установлен и почему, в следующий ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\VeraCrypt\Diagnostics\EfiBootLoader
EfiBootLoaderResourceSet REG_DWORD 2011 (0x7db) или 2023 (0x7e7)
EfiBootLoaderSelectionReason REG_SZ понятная человеку причина выбора
EfiBootLoaderFirmwareDbLastError REG_DWORD последняя ошибка чтения/разбора db прошивки (0 = нет)
EfiBootLoaderFirmwareDbxLastError REG_DWORD последняя ошибка чтения/разбора dbx прошивки (0 = нет)
EfiBootLoaderSelectionTimeUtc REG_SZ время последнего выбора
EfiBootChainStatusKnown REG_DWORD доступность оценки известных CA в db/dbx
EfiBootChainLastError REG_DWORD последняя ошибка неполной оценки (0 = нет)
SecureBootEnabled REG_DWORD состояние Secure Boot при последней оценке
FirmwareDbxPresent REG_DWORD наличие dbx (0 допустим: необязательная переменная отсутствует)
VeraCryptLoaderFilesValid REG_DWORD установленные файлы DCS совпадают с одним встроенным набором
VeraCryptLoaderKnownCaAllowed REG_DWORD известные необходимые CA присутствуют в db и отсутствуют в dbx
VeraCryptLoaderKnownCaRevoked REG_DWORD известный необходимый CA VeraCrypt присутствует в dbx
EfiBootLoaderInstalledResourceSet REG_DWORD набор, определённый по фактическим файлам ESP
EfiBootLoaderRecordedResourceSet REG_DWORD набор, записанный при последнем успешном обновлении
WindowsLoaderInspectionSucceeded REG_DWORD встроенная подпись PE разобрана
WindowsLoaderPresent REG_DWORD файл bootmgfw_ms.vc найден
WindowsLoaderSigner REG_DWORD 0 (неизвестно), 2011 или 2023
WindowsLoaderKnownCaAllowed REG_DWORD известный подписывающий CA присутствует в db и отсутствует в dbx
WindowsLoaderKnownCaRevoked REG_DWORD известный CA подписи загрузчика Windows присутствует в dbx
WindowsLoaderMigrationRecommended REG_DWORD копия PCA 2011 сохраняется при доступном CA 2023
EfiBootChainCheckTimeUtc REG_SZ время последней попытки проверки цепочки
Следующие команды, выполненные из окна PowerShell с повышенными правами, предоставляют дополнительные сведения. Текстовый поиск приведён для удобства и может не показывать имена сертификатов на некоторых прошивках. Отсутствие dbx допустимо; любое другое исключение требует проверки.
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'
}
# После подключения системного раздела EFI как S: проверьте встроенную подпись.
# Не используйте здесь Get-AuthenticodeSignature: он может сообщить подпись каталога.
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
Кроме того, служба VeraCrypt System Favorites записывает предупреждение в журнал приложений Windows (источник VeraCryptSystemFavorites), если установленные файлы DCS не совпадают со встроенным набором, отсутствует Windows Boot Manager, которому передаётся управление, или его встроенную подпись нельзя определить, известный необходимый CA отсутствует в db или присутствует в dbx либо Windows Boot Manager, подписанный PCA 2011, следует перенести на новый CA до отзыва.
Эти значения намеренно описаны как оценка совместимости известных CA, а не доказательство того, что прошивка примет образ. UEFI dbx также может содержать хеши отдельных образов, TBS-хеши сертификатов и отзывы версий безопасности, которые эта диагностика не оценивает полностью. Окончательной проверкой остаётся успешная контролируемая перезагрузка с включённым Secure Boot.
Переход на сертификаты Microsoft 2023 года
Сертификаты Microsoft Secure Boot 2011 года истекают в 2026 году: Microsoft Corporation KEK CA 2011 и Microsoft Corporation UEFI CA 2011 истекли в июне 2026 года, а Microsoft Windows Production PCA 2011 истекает в октябре 2026 года. Microsoft заменяет их центрами сертификации 2023 года и распространяет новые сертификаты, а также Windows Boot Manager, подписанный Windows UEFI CA 2023, через Windows Update.
Два важных момента для пользователей VeraCrypt:
-
Истечение срока действия сертификатов обычно не мешает загрузке уже установленных загрузчиков. Проверка образа UEFI Secure Boot обычно не применяет срок действия подписывающего сертификата, поэтому сам факт истечения CA 2011 не вызывает отказ загрузчика. Однако новые двоичные файлы больше нельзя подписывать в этой экосистеме, а системы без сертификатов 2023 года не смогут получать обновления цепочки загрузки, подписанные заменяющими CA.
-
Истечение срока действия и отзыв — разные события. Microsoft предоставляет отдельную, выполняемую намеренно меру защиты, которая добавляет Microsoft Windows Production PCA 2011 в базу запрещённых подписей Secure Boot (dbx). После её применения все Windows Boot Manager, подписанные этим CA, отклоняются. Этот отзыв Windows PCA не является частью миграции сертификатов и Boot Manager с помощью
0x5944. По состоянию на июль 2026 года Microsoft сообщает, что не планирует отзывать Microsoft Corporation UEFI CA 2011 — сторонний CA, используемый набором загрузчиков VeraCrypt 2011 года. Тем не менее перед применением отзыва Windows PCA 2011 рекомендуется перевести на CA 2023 года как часть VeraCrypt, так и часть Windows в цепочке загрузки.
Новые компьютеры, доверяющие только CA 2023 года
Некоторые новые компьютеры поставляются с завода с конфигурацией Secure Boot, содержащей только Windows UEFI CA 2023 и вообще не содержащей сторонних центров сертификации Microsoft. На таких системах сначала нужно включить в настройках прошивки два сторонних центра сертификации, необходимых для набора загрузчиков VeraCrypt 2023 года (Microsoft UEFI CA 2023 и Microsoft Option ROM UEFI CA 2023). Обычно этот параметр называется "Allow Microsoft 3rd Party UEFI CA", "Third-Party CA" или "Third-Party Certificates". После его включения запустите установщик VeraCrypt в режиме Восстановить/переустановить (или начните шифрование системы), чтобы VeraCrypt выбрал набор загрузчиков 2023 года.
Если прошивка не предоставляет возможности доверять стороннему центру сертификации Microsoft, шифрование системы VeraCrypt нельзя использовать на этом компьютере при включённом Secure Boot.
Обновление существующей системы до сертификатов 2023 года
Windows распространяет сертификаты 2023 года поэтапно, на основе телеметрии. Устройства обновляются автоматически только после того, как Microsoft получает достаточную уверенность в конкретном сочетании оборудования и прошивки. Компьютер с шифрованием системы VeraCrypt использует нестандартную цепочку загрузки, поскольку загрузчик VeraCrypt занимает стандартное расположение Windows Boot Manager; это может влиять на проверки обслуживания, однако Microsoft не указывает VeraCrypt как безусловную причину исключения из развёртывания. Сообщение Windows Security "not yet enough data to classify your device" описывает текущее состояние развёртывания, а не доказывает, что причиной является VeraCrypt.
Значение MicrosoftUpdateManagedOptIn — отдельный способ согласиться на асинхронное управляемое развёртывание Microsoft. Оно требует соответствующей настройки диагностических данных Windows и не гарантирует немедленного развёртывания. Не совмещайте этот способ с ручным развёртыванием через AvailableUpdates; выберите один способ и отслеживайте его до завершения.
Для контролируемого ручного развёртывания Microsoft документирует
0x5944 как явный запрос миграции CA 2023, KEK и Windows Boot Manager (см.
руководство Microsoft по ключам реестра Secure Boot). Это значение
не применяет отзыв Windows PCA 2011 через dbx, и VeraCrypt никогда не задаёт его автоматически. Используйте его на полностью обновлённой Windows только после изучения мер предосторожности ниже:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x5944 /f
rem при необходимости запустите задачу обслуживания сразу (иначе она выполняется каждые 12 часов):
schtasks /Run /TN "\Microsoft\Windows\PI\Secure-Boot-Update"
Ход выполнения можно отслеживать в HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot и его подразделе Servicing, а также по показанным выше событиям обслуживания Secure Boot. Ожидаемая последовательность AvailableUpdates: 0x5944, затем 0x4100 и после выполнения требуемой задачи и перезагрузок — конечный модификатор 0x4000. Значение UEFICA2023Status=Updated полезно для оценки обслуживания Windows, но может оставаться незавершённым, когда VeraCrypt намеренно занимает стандартный путь ESP. И наоборот, одно значение 0x4000 не доказывает, что файл VeraCrypt bootmgfw_ms.vc обновлён. Проверьте CA прошивки, фактически установленный набор ресурсов DCS, встроенную подпись bootmgfw_ms.vc и отсутствие неустранённых ошибок обслуживания. Обновление db добавляет Windows UEFI CA 2023. Оно также условно добавляет Microsoft UEFI CA 2023 и Microsoft Option ROM UEFI CA 2023 на системах, уже доверяющих Microsoft Corporation UEFI CA 2011; этот старый сторонний CA необязательно присутствует на каждой системе, где можно установить VeraCrypt.
Перед запуском обновления на машине с системным шифрованием VeraCrypt примите следующие меры предосторожности:
-
Сначала обновите BIOS/UEFI-прошивку до последней версии, доступной у производителя компьютера. Сбои записи новых сертификатов в базу Secure Boot прошивки обычно вызваны ошибками прошивки, и Microsoft рекомендует проверить наличие обновлённой прошивки у производителя устройства перед применением обновлений сертификатов.
-
Сначала создайте или обновите Диск восстановления VeraCrypt и убедитесь, что он загружается.
-
Запишите текущее значение
AvailableUpdates и убедитесь, что устройство ещё не управляется другой политикой развёртывания Secure Boot. Значение 0x5944 запрашивает аутентифицированную запись в db/KEK прошивки и замену загрузочного файла. Ошибки прошивки, отсутствие KEK, авторизованного изготовителем, прерывание обслуживания или перезапись другого ожидающего значения развёртывания могут оставить переход незавершённым. При сбое обновления переменной прошивки используйте процедуру восстановления изготовителя компьютера.
-
Не отключайте службу VeraCrypt System Favorites или её функцию обновления загрузчика. Если Windows заменяет Boot Manager в стандартном расположении ESP, служба сохраняет его как
bootmgfw_ms.vc и восстанавливает загрузчик VeraCrypt. Если стандартный путь не изменяется, текущая VeraCrypt также проверяет обслуживаемые Windows копии в %SystemRoot%\Boot\EFI_EX и %SystemRoot%\Boot\EFI, проверяет встроенную подпись и атомарно обновляет bootmgfw_ms.vc лучшей копией, совместимой с известной политикой CA.
-
Пользователям скрытой операционной системы не следует запускать обновление из скрытой ОС. Автоматическое сохранение цепочки загрузки отключено, когда работает скрытая ОС.
-
Избегайте принудительного отключения питания между моментом, когда Windows заменяет загрузчик, и следующей обычной перезагрузкой или выключением. На большинстве систем загрузочная запись VeraCrypt сохраняет возможность загрузки компьютера в этот промежуток, но прошивка, игнорирующая порядок загрузки, может загрузить обычный Windows Boot Manager, который не сможет запустить зашифрованную Windows (восстанавливается с помощью Диска восстановления).
-
Windows может продолжать сообщать о незавершённом переходе, поскольку стандартное расположение Windows Boot Manager по замыслу занимает загрузчик VeraCrypt. Считайте это возможным ложным отрицательным результатом обслуживания только после появления требуемых CA 2023 в db, определения фактических файлов как
EfiBootLoaderInstalledResourceSet=2023, подтверждения встроенного издателя bootmgfw_ms.vc как Windows UEFI CA 2023 и отсутствия неустранённых ошибок обслуживания.
После применения обновления db при следующем обновлении загрузчика (восстановление/переустановка, обновление версии или одна из автоматических точек обновления службы System Favorites) VeraCrypt автоматически переключается на набор DCS 2023 года и пытается импортировать текущий Windows Boot Manager, подписанный сертификатом 2023 года. Проверьте фактический результат в ключе реестра диагностики и заново создайте Диск восстановления по запросу.
Отзыв Windows PCA 2011 через dbx — отдельная последующая операция, описанная в
Microsoft KB5025885. Не запрашивайте бит
0x80 (или объединённое значение
0x280, которое также запрашивает обновление SVN), пока не подтверждено, что
bootmgfw_ms.vc подписан
Windows UEFI CA 2023, носители восстановления актуальны и контрольная перезагрузка с включённым Secure Boot прошла успешно. VeraCrypt никогда не включает этот отзыв автоматически.
Восстановление после сбоя загрузки Secure Boot
Если политика Secure Boot прошивки отклоняет компонент цепочки загрузки из-за отсутствующего CA, отзыва CA или образа либо другого ограничения политики, возможны два разных сбоя:
-
До запроса пароля (сообщение вроде "Secure Boot Violation" или немедленный возврат в прошивку): политика прошивки отклоняет установленный загрузчик VeraCrypt.
-
После успешного ввода пароля (явное сообщение об ошибке Secure Boot от загрузчика VeraCrypt или, на старых версиях загрузчика, возврат к запросу пароля): политика прошивки отклоняет копию Windows Boot Manager (
bootmgfw_ms.vc), которой VeraCrypt передаёт управление.
В обоих случаях процедура восстановления такова:
-
Временно отключите Secure Boot в настройках прошивки и запустите Windows обычным образом (предзагрузочная аутентификация VeraCrypt работает и с отключённым Secure Boot). Диск восстановления VeraCrypt может восстановить отсутствующие или повреждённые компоненты загрузчика VeraCrypt, но не может создать актуальный Windows Boot Manager или сделать подписанный PCA 2011 файл
bootmgfw_ms.vc допустимым после добавления этого CA в dbx; он не заменяет завершение миграции Windows.
-
В Windows исправьте политику Secure Boot (включите сторонние CA, восстановите актуальную dbx после пользовательской процедуры либо примените обновления Windows), затем запустите VeraCrypt в режиме Восстановить/переустановить. Восстановление проверит обслуживаемые копии
EFI_EX/EFI и сможет установить совместимый актуальный Windows Boot Manager, даже если стандартный путь ESP занят VeraCrypt.
-
Проверьте диагностику VeraCrypt и встроенную подпись, затем включите Secure Boot и выполните одну контролируемую перезагрузку. Не включайте его при неполной оценке политики или несовместимых файлах загрузчика.
Устаревшая процедура с пользовательскими ключами (не рекомендуется)
В более старых версиях VeraCrypt была задокументирована процедура с пользовательскими ключами (скрипт VeraCrypt-DCS SecureBoot, sb_set_siglists.ps1), которая заменяла PK, KEK, db и dbx пользовательским ключом платформы, сертификатами Microsoft 2011 года и устаревшей dbx из комплекта поставки. Эта процедура устарела и не должна использоваться в системах с цепочкой сертификатов 2023 года: она удаляет доверие к Windows Boot Manager, подписанному сертификатом 2023 года, отбрасывает текущие отзывы и может нарушить передачу управления Windows после предзагрузочной аутентификации VeraCrypt. В системах, где она применялась, следует восстановить ключи Secure Boot производителя и актуальную dbx, а затем выполнить обычную процедуру, описанную на этой странице.