Как включить безопасную загрузку в Windows 11 и Windows 10

Если установщик Windows 11, а возможно и какая-то программа или игра (такое тоже возможно) сообщает о том, что его не устраивает состояние безопасной загрузки и её необходимо включить — сделать это сравнительно легко, но возможны нюансы.
В этой инструкции подробно о способах включить безопасную загрузку на вашем компьютере или ноутбуке, при условии, что это возможно. Обратите внимание, если задача — установка Windows 11, существуют возможности запуска установки и без включенной безопасной загрузки (Secure Boot), например — создание загрузочной флешки в Rufus с отключением проверки совместимости при чистой установке, или обновление с обходом требований для установки.
Проверка состояния безопасной загрузки, особенности работы после включения
Прежде чем начать, о том, где вы можете проверить текущее состояние безопасной загрузки в Windows 11 или Windows 10:
- Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите msinfo32 и нажмите Enter. В разделе «Сведения о системе» вы увидите пункт «Состояние безопасной загрузки» с её текущим статусом.

- Можно зайти в окно «Безопасность Windows», например, с помощью значка в области уведомлений и открыть раздел «Безопасность устройства». Если вы наблюдаете там пункт «Безопасная загрузка» с зеленой отметкой, она включена. Иначе — нет.

Ещё один важный момент: загрузка с включенной безопасной загрузкой возможна только для систем, установленных в UEFI-режиме на GPT диск.
Если, к примеру, у вас Windows 10 и установлена в Legacy-режиме на диск MBR, после включения Secure Boot она перестанет загружаться. Возможные варианты действий: конвертировать диск в GPT с помощью mbr2gpt.exe и включить UEFI-загрузку, либо использовать вариант с чистой установкой с флешки и обходом требований Windows 11, как было указано в начале статьи.
Включение безопасной загрузки Secure Boot в БИОС/UEFI
Само включение безопасной загрузки или Secure Boot выполняется не в Windows 11/10, а в БИОС/UEFI вашего компьютера или ноутбука. Для того, чтобы включить её, необходимо:
- Зайти в БИОС при включении/перезагрузке устройства. На ноутбуках для этого обычно используется клавиша F2 (или сочетание Fn+F2), которую необходимо ритмично нажимать сразу после появления заставки производителя (но бывают и другие варианты клавиши), на ПК как правило используется клавиша Delete. Более подробно: Как зайти в БИОС/UEFI на компьютере или ноутбуке.
- Найти раздел БИОС, на котором доступна опция включения (установка в Enabled) функции Secure Boot. Учитывайте, что на очень старых компьютерах такой настройки может и не быть. Как правило, она располагается где-то в разделе Security, Boot, System Configuration, иногда — Advanced Settings. Несколько примеров расположения будут приведены далее.
- Сменить состояние Secure Boot на Enabled (если ранее выполнялась очистка ключей Secure Boot, восстановить их), сохранить настройки БИОС/UEFI (обычно выполняется клавишей F10 или на вкладке Exit) и перезагрузиться обратно в систему.
Примеры расположения опции для включения безопасной загрузки (Secure Boot)
Ниже — несколько примеров, где можно найти опцию включения безопасной загрузки на разных материнских платах и ноутбуках. У вас может отличаться, но логика везде одна и та же.
Ещё раз отмечу: включить безопасную загрузку можно только в случае, если у вас включен режим загрузки UEFI, а режим Legacy/CSM отключен, иначе опция будет недоступна. В некоторых вариантах БИОС переключение в режим загрузки UEFI выполняется путем выбора типа операционной системы (OS Type) между Windows 11/10/8 и «Other OS» (нужно выбрать Windows).
На разных версиях материнских плат и ноутбуков включение Secure Boot реализовано слегка по-разному. Обычно пункт «Secure Boot» можно найти на вкладке «Boot» или «Security». При этом для OS Type может потребоваться выставить Windows UEFI Mode (параметр может и отсутствовать).

Также, для доступности пункта настройки безопасной загрузки в БИОС может потребоваться перейти в Advanced Mode, обычно — по клавише F7.

В некоторых случаях может потребоваться восстановление ключей безопасной загрузки, обычно выполняется следующим образом: в Advanced Mode в BIOS на вкладке Boot или в Secure Boot — Key Management выбираем Load Default PK и подтверждаем загрузку ключей по умолчанию.
AsRock
Настройка для включения безопасной загрузки на материнских платах AsRock обычно находится в разделе «Security».

Зайдя в раздел необходимо будет установить значение Secure Boot в Enabled, а если выбор недоступен, включить стандартный Secure Boot Mode и установить ключи по умолчанию (Install default Secure Boot keys).

Как правило, опция включения Secure Boot на ноутбуках Acer находится либо в разделе Advanced — System Configuration, либо в Boot или Authentication.

Также помните, о том, что должен быть включен режим загрузки UEFI, а не Legacy/CSM для возможности изменения состояния безопасной загрузки на Enabled.
Lenovo
ПК и ноутбуки Lenovo имеют разные варианты интерфейса БИОС, но обычно нужная опция находится на вкладке Security, как на фото ниже:

Ещё один пример с ноутбука Lenovo:

Gigabyte

Варианты отключения Secure Boot на материнских платах и ноутбуках Gigabyte могут отличаться, обычно порядок действий следующий:
- На вкладке Boot или BIOS отключить CSM Support, и выбрать тип операционной системы или установить пункт Windows 8/10 Features в, соответственно, Windows 8/10, а не Other OS.
- После этого должен появиться пункт Secure Boot, в который необходимо зайти, чтобы включить безопасную загрузку.
Ещё несколько вариантов
Несколько дополнительных мест расположения опции включения Secure Boot (устанавливаем в Enabled) на старых Dell, Gigabyte, HP:

Также, если в вашем интерфейсе БИОС предусмотрен поиск, можно использовать его:

В случае, если вы не нашли способа включить безопасную загрузку на вашей материнской плате, либо её не удается перевести в Enabled, укажите её марку и модель в комментариях, я постараюсь подсказать, где именно требуется включать этот параметр. Кстати, часто достаточно просто сбросить настройки БИОС (Load Defaults на вкладке Exit), чтобы включить безопасную загрузку, так как на большинстве современных материнских плат она по умолчанию включена.
Немного про UEFI и Secure Boot
UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Основные отличия UEFI от BIOS:
- Поддержка GPT (GUID Partition Table)
- Поддержка сервисов
- Модульная архитектура
- Встроенный менеджер загрузки
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.
Secure Boot
Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!
Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.
В Secure Boot есть 2 режима: Setup и User. Первый режим служит для настройки, из него вы можете заменить PK (Platform Key, по умолчанию стоит от OEM), KEK (Key Exchange Keys), db (база разрешенных ключей) и dbx (база отозванных ключей). KEK может и не быть, и все может быть подписано PK, но так никто не делает, вроде как. PK — это главный ключ, которым подписан KEK, в свою очередь ключами из KEK (их может быть несколько) подписываются db и dbx. Чтобы можно было запустить какой-то подписанный .efi-файл из-под User-режима, он должен быть подписан ключом, который в db, и не в dbx.
Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.
Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!
Enable Secure Boot in Windows¶
This document shows how to enable secure boot to launch Windows 10 as a guest through OVMF on ACRNGT, including:
Generate Platform Key
Get KEK and DB from Microsoft
Inject PK, KEK and DB into OVMF
Generate Platform Key (PK)¶
In UEFI secure boot, the Platform Key establishes a trust relationship between the platform owner and the platform firmware. According to Microsoft’s secure boot documentation, section 1.5, the PK is a self-signed certificate owned by the OEM, and the OEM can generate their own PK.
Here we show two ways to generate a PK: openssl and Microsoft tools.
Generate PK Using OpenSSL¶
Generate a Self-Signed Certificate as PK from a new key using the openssl req command. You will need to answer the Certificate Signing Request (CSR) information prompts to complete the process; use your country, state, and other information as appropriate.
You can also generate the self-signed certificate from an existing key, using the openssl req command, for example:
View the content of certificate using the openssl x509 command:
Convert certificate from PEM to DER using the openssl x509 command.
Only a DER format encoded certificate is supported. After conversion, save PK.der for use:
Using Microsoft Tools¶
Microsoft documents explain how to use Microsoft tools to generate a secure boot key, which we’ll summarize below.
Using certutil.exe to list the Cryptographic Service Providers (CSP)
For the detailed information of each Microsoft Cryptographic Service Provider, check the Microsoft CRP document
Here, we chose “Microsoft Strong Cryptographic Provider” for example:
Create request inf file, for example:
Generate the Platform Key using certreq.exe :
Validate the Platform Key certificate has been generated correctly:
Download KEK and DB From Microsoft¶
DB (Allowed Signature database):
Microsoft Windows Production CA 2011: This CA in the Signature Database (DB) allows Windows to boot.
Microsoft Corporation UEFI CA 2011: Microsoft signer for third party UEFI binaries via DevCenter program.
Compile OVMF With Secure Boot Support¶
Edit the Conf/target.txt file and set these values:
Then continue doing the build:
-
source edksetup.sh , this step is needed for compilation every time a shell is created.
-
This will generate the fw section at Build/OvmfX64/DEBUG_GCC5/FV/OVMF_CODE.fd or Build/OvmfX64/RELEASE_GCC5/FV/OVMF_CODE.fd
This will also generate an empty template VARS file at Build/OvmfX64/DEBUG_GCC5/FV/OVMF_VARS.fd or Build/OvmfX64/RELEASE_GCC5/FV/OVMF_VARS.fd
Both OVMF_CODE.fd and OVMF_VARS.fd will be used later.
-
Make sure your GCC is 5.X. GCC 6 and above is NOT supported.
Use QEMU to Inject Secure Boot Keys Into OVMF¶
We follow the openSUSE: UEFI Secure boot using qemu-kvm document to import PK, KEK, and DB into OVMF, Ubuntu 16.04 used.
Install KVM, QEMU
Prepare the environment
Create a OVMFKeys working directory:
Copy the build out OVMF binary into OVMFKeys:
copy OVMF_CODE_QEMU.fd into OVMFKeys:
Make a working directory for hda-contents:
Copy PK, KEK and DB into hda-contents:
Use QEMU to inject secure boot keys
Run qemu-system-x86_64 to launch virtual machine:
After booting, you can see the UEFI shell.
Enter “exit” to close UEFI shell and enter UEFI configuration menu.
Go to secure boot configuration (Device Manager / Secure Boot Configuration / Secure Boot Mode) and change from “Standard Mode” to “Custom Mode”.
After change to “Custom Mode”, “Custom Secure Boot Options” will show up, click and enter.
PK Options / Enroll PK / Enroll PK Using File: select the only one HD, space select PKtestDer.cer . (Note: only DER format certificate is supported.)
Then, select “Commit Changes and Exit”, PK will be imported into OVMF.
The process is the same as import PK, bit select “KEK options” to inject “Microsoft Corporation KEK CA 2011”.
KEK Options / Enroll KEK / Enroll KEK Using File: select the only one HD, space select MicCorKEKCA2011_2011-06-24.crt . Commit Changes and Exit.
Use the same process to inject “Microsoft Windows Production CA 2011”.
DB Options / Enroll Signature / Enroll Signature Using File: select the only one HD, space select MicWinProPCA2011_2011-10-19.crt . Commit Changes and Exit.
Repeat the steps to inject “Microsoft Corporation UEFI CA 2011”.
DB Options / Enroll Signature / Enroll Signature Using File: select the only one HD, space select MicCorUEFCA2011_2011-06-27.crt . Commit Changes and Exit.
After import PK, KEK and DB, the secure boot state is now “Enabled”.
Generate OVMF.fd for ACRN with the updated keys manually:
Update OVMF.fd into ACRNGT+OVMF+Win10 to start Windows.
-
According to Microsoft documentation, after enabling secure boot, the kernel mode driver must be signed by a trusted certification authority (CA). Specify the acrn-dm parameter —windows to use the Windows ORACLE virtio device driver. The default REDHAT virtio device driver is not signed and may lead to problems in the secure boot process.
-
A cross-signed driver using a SHA-1 or SHA-256 certificate issued after July 29th, 2015 is not recommended for Windows 10.
-
After enable secure boot, standard mechanisms such as kernel debugging and test signing will not be permitted.
-
https://docs.microsoft.com/en-us/windows/desktop/w8cookbook/secured-boot-signing-requirements-for-kernel-mode-drivers
-
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-code-signing-certificate
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. Last updated on Sep 21, 2021. Published on Aug 10, 2023
Platform Key (PK)
Раздел операций над ключом платформы — основным ключом доверенной среды вычислений.
Platform Key (PK) — ключ шифрования, который создается производителем аппаратного обеспечения. Он требуется для обновления UEFI и загрузки новых ключей KEK (Key Enrollment Key).
Возможные варианты значений:
Details — показывает подробности о ключе,
Export — экспорт ключа,
Update — обновление ключа,
Delete — удаление ключа.
КОММЕНТАРИИ к «Platform Key (PK)»
ДРУГИЕ МАТЕРИАЛЫ ПО ТЕМЕ
Проявления неисправностей, связанных с данным параметром (0)
IT-WIKI (1)
ID материала: 7903 / Дата публикации: 27.06.2018 / Просмотров: 895
Технология Intel Trusted Execution (Intel TXT, ранее известная как LaGrande Technology) — это компьютерная аппаратная технология, основными задачами которой являются:
— Подтверждение подлинности платформы и ее операционной системы.
— Гарантия того, что подлинная операционная система запускается в доверенной среде, которую затем можно считать надежной.
— Предоставление доверенной операционной системы с дополнительными возможностями безопасности, недоступными непроверенной.
Intel TXT использует доверенный.
Параметры BIOS (71)
Параметр включает/отключает загрузку компьютера только в том случае, если в компьютер вставлен специальный USB-носитель, который можно подготовить при помощи функции БИОС Make U-key at: на флешку записывается ключ, который не виден пользователю и наличие которого система проверяет перед загрузкой. Если такой носитель информации не вставлен, или ключа нет, система не загрузится.
Описание значений параметров:
Disabled — U-key отключен.
Enabled — U-key включен.
Особенности:
Обойти загрузку системы только при наличии специальной USB-флешки можно сбросив БИОС (UEFI). Функция U-key отключится.
— TPM
— Security Device Support
— AMD Platform Security Processor
Параметр включает/отключает чип Intel Trusted Platform Module (TPM) на материнской плате. Чип TPM — это специализированный процессор, являющийся частью технологии Intel Trusted Execution (Intel TXT, ранее известная как LaGrande Technology). TPM либо распаян на материнской плате, либо устанавливается через одноименный разъем с 19-ю или 11-ю контактами.
Intel TXT — это компьютерная аппаратная технология, задачами которой являются:
— Подтверждение подлинности платформы и ее операционной системы.
— Гарантия того, что подлинная операционная система запускается в доверенной среде, которую затем можно считать надежной.
— Предоставление доверенной операционной системы с дополнительными возможностями безопасности, недоступными непроверенной.
AMD Platform Security Processor — аналогичный сопроцессор от компании AMD.
Описание значений параметров:
Enabled — TPM включен,
Disabled — TPM отключен.
Описание значений параметров:
TCG_1_2 — Включена версия 1.2. Обеспечивается совместимость с WIndows 8 — 10,
TCG_2 — Включена версия 2.0 Работает с WIndows 10, 11 или старше.
Особенности:
Данный параметр актуален для TPM 2.0
Описание значений параметров:
Discrete TPM — в качестве основы будет использоваться аппаратный модуль TPM — специальная микросхема на материнской плате,
Firmware TPM — в качестве основы будет использоваться программная эмуляция TPM.
Раздел с настройками TCG.
TCG (Trusted Computing Group) — это группа, созданная в 2003 году как преемница Альянса доверенных вычислительных платформ, который ранее был сформирован в 1999 году для реализации концепции доверенных вычислений на персональных компьютерах. В состав группы входят такие компании как Intel, AMD, IBM, Microsoft и Cisco.
В частности, на компьютере, на котором встречаются такие настройки можно реализовать доверенную вычислительную среду, которая будет гарантировать безопасность работы за счет недопущения запуска приложений, не имеющих цифровой подписи.
Иерархия хранилища предназначена для использования владельцем платформы, либо ИТ-отделом предприятия, либо конечным пользователем. Иерархия хранилища TPM 2.0 равнозначна иерархии хранилища TPM 1.2. У него есть политика владельца и значение авторизации, которые сохраняются после перезагрузки. Цель состоит в том, чтобы они были установлены и редко изменялись.
Владелец может отключить иерархию хранилища, не затрагивая иерархию платформы. Это позволяет программному обеспечению платформы использовать TPM, даже если владелец отключает его иерархию. В TPM 1.2 отключение иерархии единого хранилища отключило TPM. Точно так же эту иерархию можно очистить (изменив первичное семя и удалив постоянные объекты) независимо от других иерархий.
Иерархия хранения предназначена для операций, не зависящих от конфиденциальности, тогда как иерархия одобрения (Endorsement Hierarchy) с отдельными элементами управления обеспечивает конфиденциальность.
Описание значений параметров:
Enabled — Иерархия хранилища включена,
Disabled — Иерархия хранилища отключена.
Особенности:
Данный параметр актуален для TPM 2.0
Описание значений параметров:
Disabled — USB — носители информации могут использоваться без каких-либо ограничений.
Read Only — USB — носители информации используются только для чтения. Копировать на них что-либо запрещено
No Access — Запрещено любое использование USB — накопителей.
Описание значений параметров:
Disabled — если компьютер будет запущен по сигналу из локальной сети, то нужно будет ввести пароль,
Enabled — при запуске компьютера из сети пароль вводить не потребуется,
— SHA-256 PCR Bank
— SHA-384 PCR Bank
Параметр включает/отключает банк для хранения хэшей системы Trusted Platform Module (TPM) — модуля доверенной загрузки.
SHA-1, SHA-256, SHA-384 — это методы получения хэшей. Это не единственные перечисленные методы, их существует большое количество.
Хэш — это уникальная последовательность символов, длиной от 8 и выше байт, которая получается путем математического преобразования некоторых входных данных (пароль, содержимое файла(файлов), загрузочных областей) и предназначенная для проверки истинности этих данных. Например, если в содержимом файла поменять хотя бы один бит, то хэш, полученный от этого файла будет сильно отличаться от того, который получили до изменения файла.
PCR (Platform Configuration Registers) — регистры конфигурации платформы. Хранят хэши, полученные от данных, полученных от компонентов платформы(компьютера). Это параметры всего оборудования (процессор, память, материнская плата, накопители и прочее), контрольная сумма UEFI (BIOS), системные файлы операционной системы и другие компоненты.
Каждый полученный хэш участвует в расчете последующего хэша, следовательно, если произойдут хотя бы малейшие изменения хоть в одном компоненте системы, то кардинально изменится итоговый хэш. И, загрузка компьютера не произойдет. Именно так, в общих чертах, работает система доверенной загрузки — Intel Trusted Execution (Intel TXT).
Технология шифрования диска Microsoft BitLocker имеет прямую зависимость от Intel TXT. Поэтому любые изменения в конфигурации компьютера со включенным TPM и BitLocker-шифрованием данных приведут к невозможности расшифровке данных.
Описание значений параметров:
Enabled — Банк хранения хэшей включен,
Disabled — Банк хранения хэшей отключен.