Поддерживает ли windows 7 secure boot

Многие в курсе, что официально поддержка SecureBoot внедрена в операционные системы компании Microsoft начиная с Windows 8. Однако пользователи не спешат переходить с проверенной «семерки», благо расширенная поддержка этой ОС будет осуществляться до 2020 года. Поскольку 64-битные версии Windows 7 способны загружаться в режиме UEFI, возникает вопрос: что нужно сделать, чтобы включение SecureBoot не сломало загрузку?

Ответ на этот вопрос в технической части полностью раскрыт вот здесь. Если вкратце, в UEFI есть несколько хранилищ сертификатов шифрования: PK, KEK, db и dbx. Сертификатом из PK проверяются KEK, сертификатами из KEK проверяются db и dbx, а сертификатами из db и dbx проверяются загрузчики. Если ключ, которым подписан загрузчик, содержится в db и не содержится в dbx, то загрузка разрешается. Изначально ваш новенький (или старенький, но раз уж вы читаете эту статью, поддерживающий SecureBoot) компьютер находится в режиме настройки, т. е. в PK, KEK, db и dbx находятся ключи, которые туда заранее положил производитель вашего ПК. При сбросе настроек SecureBoot они восстановятся, но в принципе обычно вы можете сохранить их куда-нибудь при помощи интерфейса вашего UEFI.

Поскольку мы немного параноики (если совсем не параноики, можно отключить SecureBoot и прочитать эту статью просто для развлечения), мы хотим доверять только нашим ключам, а не каким-то чужим. Поэтому нам нужно прописать свои сертификаты в PK и KEK, и подписать нашим KEK-сертификатом сертификат загрузчика. Как и чем это всё можно сделать, включая создание сертификатов, прекрасно и подробно описано в уже упомянутой статье. Если нет линукса, можно взять лайв-образ или виртуалку, но у меня уже была готовая ОС, так что с подготовкой сертификатов и файлов PK и KEK проблем не возникло. А вот при создании DB мы натыкаемся на одну маленькую загвоздку: в поиске не удается найти сертификат от Microsoft, которым подписан загрузчик от Windows 7 (файл называется bootmgfw.efi).

В принципе, ничего страшного в этом нет. С ходу в голову приходят несколько вариантов решения проблемы без отключения БезопаснойЗагрузки и не имея сертификата:

  1. Создать свой собственный сертификат DB и подписать им загрузчик
  2. Взять загрузчик от Windows 8
  3. Погуглить еще
  4. В принципе в db и dbx можно кроме сертификатов запихать также хэш от файла загрузчика, как описано вот здесь. Правда, описан способ только для dbx, но для db должно быть аналогично.

Первый способ, как самый очевидный, был тут же и опробован. Однако оказалось, что не все так просто: в процессе загрузки выдается предупреждение, что файл загрузчика не подписан или подписан неверной подписью, и его нужно восстановить. Так как в момент загрузки наверняка используется не системное хранилище сертификатов, а что-то еще, замену сертификата на свой осуществить простым способом, видимо, не удастся.

Второй способ я серьезно не рассматривал, т. к. образа восьмерки у меня не было, а качать N Гб ради файла размером порядка мегабайта было лень. Да и после первого пункта были определенные сомнения относительно того, поймет ли Windows 7 сертификат от загрузчика Windows 8.

Третий способ в очередной раз не дал результатов.

Четвертый способ у меня так и не получилось «добить» — видимо, я проигнорировал фразу о том, что хэш нужно брать от неподписанного файла, сейчас уже нет смысла проверять. Но в процессе изучения команд, описанных на той странице, с целью понять, что происходит, я заметил, что в detached подписи загрузчика есть ссылки на файлы .crt на сайт microsoft.com. Вы можете достичь того же результата, выполнив команду:

strings bootmgfw.efi | grep -Po 'http.*crt'

В результате вы получите следующие ссылки на сертификаты:
http://www.microsoft.com/pki/certs/MicrosoftTimeStampPCA.crt
http://www.microsoft.com/pki/certs/MicrosoftWinPCA.crt
http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt
К слову, даже зная, что искать, я так и не смог найти какие-то ссылки на сайте Microsoft, которые бы указывали на эти файлы.

RootCert и TimeStampPCA нам вряд ли интересны, а вот WinPCA я обработал и добавил в db. В результате Windows 7 в режиме SecureBoot загрузилась и работает успешно.

Еще хотел бы заметить, что на самом деле существует пятый способ: взять загрузчик наподобие grub2, умеющий загружать что угодно, и загружать Windows 7 им. Но тут сразу несколько препятствий: если загрузчик не проверяет подписи, то проще и осмысленней отключить SecureBoot, а если проверяет, то ему все равно нужно с чем-то сравнивать подпись. Grub2, кстати, по крайней мере в убунте, отказывается загружать винду, хотя с отключенным SecureBoot тот же пункт меню работает.

В России доля Windows 7 достигает 20,1%

Компания Microsoft предприняла неожиданный шаг — реализовала полноценную новую функцию для операционной системы Windows 7, изрядно удивив пользователей. 

Лучше поздно: Microsoft добавила безопасную загрузку в 13-летнюю Windows 7 перед полным прекращением поддержки

Речь идёт о функции безопасной загрузки UEFI Secure Boot, которая дебютировала с запуском Windows 8. Справедливости ради отметим, что это было реализовано ещё в сентябрьском пакете «обновлений по вторникам» (Patch Tuesday), однако сама Microsoft об этом факте не упомянула и новшество оставалось незамеченным до недавнего времени. 

Лучше поздно: Microsoft добавила безопасную загрузку в 13-летнюю Windows 7 перед полным прекращением поддержки

Безопасная загрузка в основном гарантирует, что устройство может быть загружено только с программным обеспечением, подписанным производителем, защищая от выполнения «несанкционированного» кода. 

Напомним, для Windows 7 бесплатная поддержка Microsoft уже давно не предоставляется, а платная расширенная завершится уже сегодня, 10 января 2023 года, после выпуска финального обновления.

Согласно данным StatCounter по состоянию на декабрь 2022 года, доля Windows 7 сейчас составляет 11,2% среди всех пользователей десктопных ОС Microsoft, а в России её доля достигает 20,1%.

10 января 2023 в 19:00

| Теги: Windows, Microsoft

| Источник: Neowin

Introduction

This article explains how to get Secure Boot to work on Windows 7 with EfiGuard. This is for all intents and purposes a pointless (and dangerous) exercise unless you are using a locked down device that requires Secure Boot to be enabled. Another use case could be to disable the CSM to get fast boot on Windows 10. In the second case it is only necessary to follow the steps in ‘disabling the CSM’. Secure Boot should be left disabled if possible to avoid needing EfiGuard for every boot.

Note that this article will presume Windows 7 to already be installed, which is of course not possible on a Secure Boot-locked device. Extra steps (slipstreaming graphics drivers and registry settings into installation media, …) are left as an exercise for the reader.

Requirements

  • A BIOS that allows entering Secure Boot Setup Mode (sometimes called ‘Audit Mode’), and optionally a ‘custom’ or ‘expert’ mode.
  • A Windows 8 or higher boot manager (Windows 10 recommended). Note that you do not need to buy or activate said Windows, only obtain its boot manager files. Example source: Windows 10 Enterprise Evaluation ISOs.
  • A graphics adapter with current drivers installed.
  • A bootable Linux DVD or USB stick with efitools (or at least the option to install it) available. Example: Ubuntu.

Disabling the CSM

Upgrading the boot manager

  1. Run mountvol X: /S to mount the EFI partition at X:.
  2. (After making a backup) Copy and overwrite all files under /EFI, excluding any files starting with BCD, from a newer Windows EFI partiton over to X:\EFI.
  3. Overwrite X:\EFI\Boot\bootx64.efi with X:\EFI\Microsoft\Boot\bootmgfw.efi.
  4. Reboot to see if your system still works.

Windows 7 configuration

WARNING: This will disable all graphical output (other than EfiGuard) during boot, including checkdisk.

  1. Rename %systemroot%\system32\drivers\vgapnp.sys and %systemroot%\system32\drivers\vga.sys to *.bak.sys.

  2. Disable the vga.sys and vgapnp.sys services.

    reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\VgaSave" /f /t REG_DWORD /v "Start" /d 4

    reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Vga" /f /t REG_DWORD /v "Start" /d 4

  3. Disable VGA output from winload.efi. The last two commands are optional but highly recommended.

    bcdedit.exe /set {current} novesa on

    bcdedit.exe /set {current} quietboot on

    bcdedit.exe /set {current} bootstatuspolicy IgnoreAllFailures

    bcdedit.exe /set {current} bootlog yes

  4. Reboot to see if your system still works.

BIOS configuration

  1. If your BIOS has a CSM (sometimes called ‘compatibility mode’), disable it. Save.
  2. Reboot to see if your system still works.

Enabling Secure Boot

WARNING: This will make it impossible to boot Windows 7 without EfiGuard.

There are many guides on how to replace your Secure Boot PK, KEK and db contents, but by far the least insane of these is Sakaki’s EFI Install Guide. Yes, the least insane. Yes, it’s on Linux.

Follow all of the steps up to signing your own kernel (you will be signing EfiGuard instead). After you have created PK.crt, KEK.crt and db.crt, take a break to run openssl pkcs12 -export -out db.p12 -inkey db.key -name "My Certificate Name" -in db.crt to obtain a .p12 private key that can be imported on Windows for later use with signtool.exe.

The depravity of the Windows certificate manager is outside the scope of this article. Since you are on Linux anyway, instead sign EfiGuardDxe.efi and Loader.efi from there:

sbsign --key db.key --cert db.crt --output EfiGuardDxe.efi EfiGuardDxe.efi

sbsign --key db.key --cert db.crt --output Loader.efi Loader.efi

After installing EfiGuard on a secondary boot medium as per the README, enable Secure Boot in the BIOS.

Reboot to see if your system still works.

  • Microsoft has added support for Secure Boot on Windows 7.
  • The feature is available since September 2021 with the update KB5017361.
  • Secure Boot is only available for devices with UEFI Class 2.

Microsoft has quietly introduced native support for Secure Boot for UEFI systems running Windows 7. This isn’t a recent addition. According to a Chinese forum (via @TheBobPony), the company added the support back in September 2022 with the update KB5017361. However, the official update announcement didn’t mention the change.

On computing, Secure Boot is a module that ensures that the device starts only using the software that the manufacturer trusts.

Although it’s a welcome addition, the odd thing is the company released the feature three years after Windows 7 reached its mainstream support.

The only caveat about Secure Boot for Windows 7 is that it’s not fully implemented since UEFI Class 3 systems won’t be able to enable the feature in the motherboard’s firmware. For instance, users who tried to enable UEFI and Secure Boot on Class 3 systems didn’t go beyond the startup logo.

UEFI Class 3 systems offer only the modern firmware experience, while the UEFI Class 2 systems provide access to modern UEFI experience and legacy BIOS.

If you have a UEFI Class 3 system, you will need to use a workaround such as the UefiSeven available through GitHub to make it all work.

Furthermore, the update that brings Secure Boot to Windows 7 is only available for organizations with the Extended Security Update (ESU) subscription. This is not a free update.

Windows 7 officially reached the end of support on January 14, 2020, but the Extended Security Update (ESU) service offered paid security updates for businesses ended three years later on January 10, 2023.

Why You Can Trust Pureinfotech

The author combines expert insights with user-centric guidance, rigorously researching and testing to ensure you receive trustworthy, easy-to-follow tech guides. Review the publishing process.

Уже сегодня, 10 января 2023 года, Microsoft выпустит последнее обновление безопасности для Windows 7, и это событие ознаменует собой окончательное завершение жизненного цикла операционной системы. Расширенная поддержка Windows 7 завершилась ещё в 2020 году, однако для корпоративных клиентов Microsoft продолжила выпуск накопительных обновлений на платной основе.

Microsoft изначально заявляла, что платные накопительные обновления для Windows 7 будут исправлять лишь обнаруженные уязвимости безопасности, так что никаких новых функций в них быть не должно. Однако под конец жизненного цикла что-то пошло не так. Китайский портал CSDN заметил, что обновление от сентября 2022 года добавило в Windows 7 поддержку технологии Secure Boot.

Поддержка Secure Boot впервые появилась в Windows 8. На тот момент поддержка Windows 7 была ещё далека от завершения, однако Microsoft так и не внедрила функцию в операционную систему. Неизвестно, почему это случилось за несколько месяцев до окончательного завершения поддержки. В списках изменений от Microsoft это нововведение также не упоминается.

Отметим, что Secure Boot — это технология безопасности, которая проверяет целостность основных компонентов системы, включая драйверы прошивки UEFI, приложения EFI и операционную систему. Операционная система запускается только в том случае, если все эти компоненты прошли проверку.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows server check ntp server
  • Windows 10 значки рабочего стола далеко друг от друга
  • Intel smart sound technology oed driver windows 10
  • Установка windows на программный raid
  • Windows 10 dowland microsoft