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 Jan 19, 2023
Как исправить проблему «Запуск Windows 11 на этом компьютере невозможен»
Проблема «Запуск Windows 11 на этом компьютере невозможен» наблюдается даже на устройствах, которые отвечают минимальным системным требованиям для установки Windows 11. В большинстве случаев данная проблема связана с модулем TPM 2.0, установленным на материнской плате — он должен быть активирован. Включение Secure Boot в настройках Secure Boot также поможет избавиться от данной ошибки.
24 июня 2021 года компания Microsoft официально анонсировала Windows 11 и предложила инструмент под названием «Проверка работоспособности ПК» (PC Health Check) для проверки совместимости устройств с Windows 11.
Тем не менее, многие пользователи, которые уже успели воспользоваться новой утилитой, жалуются на то, что инструмент выдает ошибку «Запуск Windows 11 на этом компьютере невозможен» (This PC can’t run Windows 11).

К сожалению, данная проблема происходит даже на компьютерах, которые отвечают минимальным системным требованиям, установленным Microsoft.
Данная ошибка появляется также на странице сайта Microsoft с системными требованиями после того, как вы выполнили сканирование.

Проблему удалось воспроизвести на тестовом высокопроизводительном устройстве Dell XPS 17. Несмотря на мощную современную начинку приложение PC Health Check сообщает о том, что устройство не совместимо с Windows 11.
Проблема редко связана со стандартными аппаратными компонентами самого компьютера. Она заключается в наличии микросхемы TPM 2.0 на материнской плате и параметром BIOS под названием Secure Boot.
Примечание: Для выяснения причин несовместимости с Windows 11, вы можете воспользоваться альтернативным инструментом для проверки совместимости ПК с Windows 11 – WhyNotWin11

Как исправить проблему «Запуск Windows 11 на этом компьютере невозможен»
Прежде всего, убедитесь, что на материнской плате вашего устройства действительно присутствует микросхема TPM 2.0. Данный модуль есть на большинстве современных устройств, но может отсутствовать на старых компьютерах. Чтобы проверить наличие TPM 2.0, выполните следующие шаги:
- Нажмите сочетание Win + R , чтобы открыть окно «Выполнить».
- Введите tpm.msc и нажмите ОК. Должна открыться консоль «Управление доверенным платформенным модулем (TPM) на локальном компьютере».

- В секции Сведения об изготовителе TPM значение параметра Версия спецификации должно равняться 2.0, как на скриншоте ниже.

Если данная секция панели не отображается и вы получаете ошибку «Не удается найти совместимый доверенный платформенный модуль», то микросхема TPM отсутствует на материнской плате устройства или отключена в BIOS.

В этом случае вам нужно будет включить модуль TPM в настройках BIOS. TPM также может называться как PTT, Intel Platform Trust Technology или fTPM.
Проверьте статус Secure Boot
В системных требованиях Windows 11 указано, что компьютер должен поддерживать безопасную загрузку (Secure Boot). Однако, на многих компьютерах данная функция отключена в настройках BIOS.
Чтобы активировать безопасную загрузку, вам необходимо перезагрузить компьютер и войти в меню загрузки. В зависимости от модели компьютера перед загрузкой Windows нужно нажать F2, F11 или Del.
Найдите поиск параметра Secure Boot в меню загрузки и включите его. Подробные инструкции различаются в зависимости от версии BIOS, но в целом у вас не должны возникнуть трудности.
После этого снова запустите сканирование в приложении «Проверка работоспособности ПК». Теперь вы должны получить сообщение «На этом компьютере можно запустить Windows 11».

Аналогичное сообщение появится на странице с системными требованиями на сайте Microsoft.
Как включить безопасную загрузку в Windows 11?
Сразу обозначим такой момент — безопасную загрузку в Windows 11 включить не то чтобы невозможно, это, скажем так, нелогично. Ведь требования к компьютеру со стороны данной версии операционной системы гласят, что для ее установки тот должен поддерживать Secure Boot (это и есть «Безопасная загрузка»). Т.е. если установка Windows 11 прошла успешно, это значит, что функция Secure Boot уже и так активна.
Потому мы будем рассматривать вопрос, как включить безопасную загрузку для последующей установки Windows 11. А это уже можно сделать через Windows 10, точнее — из среды восстановления (WinRE). Есть и «традиционный» способ активации Secure Boot — из пользовательского интерфейса (настроек) чипа BIOS/UEFI.
Зачем включать режим безопасной загрузки на Windows 11?
Если вкратце функция Secure Boot предназначена для защиты Windows и, как следствие, компьютера от вредоносных программ, способных загружаться вместе с операционной системой. Подобные вирусы считаются наиболее опасными, т.к. они загружаются до антивируса, благодаря чему последний не может их обнаружить. Обычно так действуют самые изощренные вирусы — шифровальщики данных (и по совместительству — вирусы-вымогатели), руткиты (открывают удаленный доступ к компьютеру), майнеры («добывают» криптовалюту, используя мощности компьютера) и т.д.
И, конечно, безопасная загрузка просто необходима для пользователей Windows 10, решивших обновиться до Windows 11 через «Центр обновлений» либо путем записи на загрузочную флешку оригинального образа системы (у неоригинальных, т.е. пиратских/модифицированных образов эта функция проверки наличия Secure Boot может быть отключена).
Как проверить, включена ли безопасная загрузка?
Невозможность обновиться с 10-ки до Windows 11 может быть связана с несколькими причинами. Потому сначала не мешало бы убедиться, действительно ли на компьютере отключена безопасная загрузка. Для этого:
- Вызовите сочетанием клавиш «Win + R» окно «Выполнить», введите в него без кавычек команду «msinfo32» и нажмите «ОК»:
- Откроется окно «Сведения о системе». В правой его части найдите элемент «Состояние безопасной загрузки»:

- Если здесь указано «Откл.», значит, Secure Boot либо не включен, либо вообще не поддерживается компьютером.
Другой способ — использование бесплатной программы WhyNotWin11, которая предназначена для определения совместимости компьютера с Windows 11:
- Скачать программу WhyNotWin11 можно на нашем сайте.
- Просто запустите ее и посмотрите, что указано напротив «Secure Boot»:

Теперь, когда мы выяснили, что причина невозможности обновления до Windows 11 кроется в отключенной функции Secure Boot, можно приступать к ее включению.
Включение безопасной загрузки из-под Windows 10
Для начала откройте окно «Параметры» сочетанием клавиш «Win + I» (или кликнув по значку «Параметры» с изображением шестеренки в меню «Пуск»). Далее откройте в этом окне вкладку «Восстановление», затем в правой его части в блоке «Особые варианты загрузки» кликните по кнопке «Перезагрузить сейчас»:

Дальнейшие действия будут выполняться после перезагрузки компьютера:
- После включения компьютера операционная система войдет в режим восстановления «WinRE». Кликните по кнопке «Поиск и устранение неисправностей»:

- Далее выбираем «Дополнительные параметры»:

- Далее «Параметры встроенного ПО UEFI»:

Включение безопасной загрузки из настроек BIOS/UEFI
Для начала нам нужно попасть в сами настройки (пользовательский интерфейс) чипа BIOS/UEFI. Обычно это можно сделать путем нажатия функциональной клавиши (от F1 до F10, а чаще всего — F2) или клавиши Del/Delete сразу после включения компьютера. Но существуют и другие варианты открытия настроек BIOS/UEFI — здесь все зависит от модели материнской платы.
Это можно выяснить самому — при включении компьютера на экране обычно присутствует надпись с указанием клавиши, нажатие на которую приведет к открытию настроек BIOS/UEFI. Например, «Press <Del> to enter setup», «Press <F2> to run setup» или «Press F1 to continue, DEL to enter SETUP», как здесь:

После входа в пользовательский интерфейс BIOS/UEFI, предстоит немного «покопаться» в нем (мы не может точно сказать, где находится нужная опция, т.к. данный интерфейс может иметь разную структуру). Нам требуется найти опцию, которая отвечает за активацию безопасной загрузки. В большинстве случаев она находится во вкладке/в разделе «Boot», но не всегда. Опция, как правило, прямо так и называется — «Secure Boot».
Вот пример пользовательского интерфейса BIOS/UEFI, в котором нужная опция расположена в разделе «System Configuration»:

А в этом конкретном случае нужная нам опция находится в меню «Security»:

Вот пример расположения опции «Secure Boot» в современном графическом интерфейсе UEFI материнской платы Asus:

Если опцию «Secure Boot» не удается найти, возможно, что предварительно нужно активировать или перенастроить какой-либо другой параметр BIOS/UEFI. Об этом можно узнать из документации к материнской плате или просто в интернете. Но чтобы начать поиски, потребуется сначала определить модель платы. Это можно сделать из рассмотренного раньше системного приложения «msinfo32», т.е. «Сведения о системе»:
Как установить Windows 11: проверяем системные требования, активируем TPM и Secure Boot

Получить Windows 11 можно тремя способами: бесплатно обновиться с Windows 10, купить готовый компьютер с предустановленной Windows 11 или купить систему отдельно.

Если у вас есть лицензионная копия Windows 10 и компьютер соответствует минимальным системным требованиям, то обновление вы получите бесплатно. По словам Microsoft, распространение обновлений начнется позднее в этом году и продолжится в 2022 году. Обновление не будет одновременным для всех. Уведомление о доступном обновлении появится в «Центре обновления Windows». Обратите внимание, что у вас должны быть установлены все последние обновления для Windows 10. Кроме того, позднее в этом году можно будет приобрести готовый персональный компьютер с предустановленной Windows 11. Точные сроки не называются.
Гайды по Windows 11
Проверьте системные требования
Официальные системные требования указаны на сайте Microsoft:
- процессор: 64-битный двухъядерный с тактовой частотой не менее 1 ГГц;
- оперативная память: 4 гигабайта;
- накопитель: 64 гигабайта;
- видео: с поддержкой DirectX 12 или более поздней версии и драйвером WDDM 2.0;
- дисплей: не менее 9 дюймов;
- прочее: модуль TPM 2.0 и поддержка Secure Boot.
Несмотря на довольно скромные требования по процессору, компания представила список официально поддерживаемых CPU. В него не входят довольно распространенные AMD Ryzen первого поколения (с архитектурой Zen) и процессоры Intel до восьмого поколения (Coffee Lake). Но паниковать не стоит, скорее всего, это просто официальные рекомендации компании, а не исчерпывающий список. Полный список процессоров можно найти по ссылкам: Intel и AMD.
![]()
Тем не менее программа PC Health Check, которая предназначена для проверки совместимости вашей системы с Windows 11, вряд ли даст зеленый свет официально незаявленным процессорам. У автора этой статьи так и не вышло «получить разрешение» на процессоре Ryzen 1600.
Активируйте программный модуль TPM
TPM — это криптографический модуль для шифрования данных и защиты от взлома. Он представляет собой отдельный чип на материнской плате. На большинстве моделей, продающихся в России, такого модуля нет из-за необходимой сертификации такого оборудования. Но может быть специальный слот для его подключения. Также многие материнские платы поддерживают программную реализацию TPM.
Обратите внимание, в системных требованиях Windows 11 указан TPM версии 2.0. Напомним, ранее компания заявляла, что будет достаточно более старой версии 1.2.
![]()
Чтобы проверить наличие модуля, нажмите сочетание клавиш Win + R и выполните команду tpm.msc. Откроется окно «Управление доверенным платформенным модулем на локальном компьютере». Если высветилось предупреждение «Не удается найти совместимый доверенный платформенный модуль», значит модуль не активен.
![]()
Рассмотрим активацию модуля на примере материнской платы ASUS с логикой от AMD. Сначала нужно попасть в BIOS (при загрузке нажмите Del или F2). Затем нажмите F7, чтобы перейти к расширенным настройкам. Переключитесь на вкладку Advanced и выберите строку AMD fTPM configuration. Далее активируйте (enabled) строку AMD fTPM switch. Подробнее об активации модуля TPM на других материнских платах читайте в нашем гайде «Как настроить TPM 2.0 для установки Windows 11».
Кроме того, в сети уже научились обходить требование Windows 11 по TPM путем замены файла appraiserres.dll, который можно взять из образа Windows 10.
Активируйте Secure Boot
Secure Boot — это режим безопасной загрузки, который является частью UEFI. Если говорить проще, то UEFI представляет собой более современную и продвинутую реализацию BIOS. В системных требованиях Windows 11 обязательно наличие UEFI и Secure Boot. Проверить наличие UEFI и Secure Boot можно так: нажмите сочетание клавиш Win + R и введите команду msinfo32. Обратите внимание на две строчки: в пункте «Режим BIOS» должно стоять UEFI, а «Состояние безопасной загрузки» должно быть включено.
![]()
Также проверить эти параметры можно через программу HWiNFO 64. Откройте главное окно программы — это корневая папка с названием вашего компьютера в левой части экрана. В правой части экрана должны быть строчки UEFI Boot: Present и Secure Boot: Present.
![]()
Если безопасная загрузка не работает, то нужно включить ее в BIOS. Разберем активацию Secure Boot на примере материнской платы ASUS. Во время загрузки системы нажмите клавишу Del или F2, чтобы зайти в BIOS. Перейдите в расширенные настройки, нажав клавишу F7. Далее перейдите на вкладку Boot и выберите строчку Secure Boot. Далее в строке Secure Boot State выставьте значение Enabled. В строке OS Type должно быть Windows UEFI mode.
![]()
Что еще нужно сделать
Также стоит попробовать выключить CSM. На примере материнской платы ASUS: зайдите во вкладку Boot и выберите строчку Launch CSM. Выставьте параметр Disabled. Обратите внимание, что в этом режиме работает только UEFI, который не поддерживает структуру разделов MBR. В этом случае загрузочный диск должен иметь структуру GPT, в противном случае вы не сможете загрузить систему.