Утилита POP4.2: установка Windows 11, версия 26H2 на неподдерживаемые процессоры

8924 комментарии
Приложение POP4.2 обходит проверку процессора в Windows 11 и позволяет установить систему на старые неподдерживаемые процессоры, в том числе без поддержки SSE4.2
Обновлено
Если компьютер не проходит проверку только из-за отсутствия TPM 2.0, отключённой безопасной загрузки или процессора не из списка поддерживаемых, утилита POP4.2 не нужна – достаточно ISO-образа с обходом ограничений установки. Мы проверили такой образ на стендах: с него идёт не только чистая установка, но и обновление поверх текущей системы с сохранением файлов, программ и учётной записи. Windows 10 Pro 22H2 и Windows 11 Pro 23H2 на машинах без TPM, с Legacy BIOS и разметкой MBR обновились до Windows 11 Pro 26H2 (сборка 26300.9550). Выпуск и язык системы должны совпадать с образом, а на шаге проверки обновлений нужно выбрать «Не сейчас»; предыдущая версия остаётся в папке C:\Windows.old, и откатиться можно в течение 10 дней.

На этой неделе Microsoft выпустила Windows 11, версия 26H2 для всех пользователей. Для чистой установки или обновления поверх текущей системы можно скачать официальные ISO-образы. Также перейти на новую версию за несколько минут можно с помощью активационного пакета.

Окно сведений о Windows: версия 26H2, сборка ОС 26300.9550

Пользователи неподдерживаемых компьютеров тоже могут обновиться до Windows 11, версия 26H2 с помощью сторонних приложений, например NTLite. Однако два года назад с выходом Windows 11, версия 24H2 Microsoft полностью заблокировала работу системы на части старых процессоров. Компания сделала поддержку инструкций SSE4.2 и PopCnt обязательным требованием. Если процессор их не поддерживал, установка Windows 11 блокировалась, и до сих пор обойти это ограничение не удавалось.

Окно CPU-Z со списком инструкций процессора, в котором выделены SSE4.1 и SSE4.2

Теперь появилась сторонняя утилита POP4.2, которая позволяет обойти это ограничение в Windows 11, версия 24H2 и 25H2. В новой версии приложения добавлена поддержка Windows 11, версия 26H2. По словам разработчика, утилита должна работать на процессорах, которые поддерживают PopCnt, но не поддерживают SSE4.2. Поскольку SSE4.2, судя по всему, не используется в большинстве файлов Windows, POP4.2 должна позволить установить Windows 11, версия 26H2 на процессоры, поддерживающие как минимум PopCnt. Эта инструкция входит в SSE4a.

Разработчик объясняет принцип работы утилиты так:

Хотя Windows 11 проверяет наличие и POPCNT, и SSE4.2, на самом деле SSE4.2 не требуется для 99% ее файлов – есть лишь несколько исключений, которые можно обойти. Для проверки Microsoft использует недокументированную функцию RtlDetectProcessorFeatures и считывает требования из секции .rdata. В ядре 26100.7171 нужные данные находятся по смещению 00000001400088C0 и в IDA имеют вид 01 00 00 00 00 00 00 00 00 00 10 00 02 00 00 00 0D 00 00 00. Чтобы обойти проверку, достаточно заменить 0D на 0C. В результате Windows фактически пропускает эту проверку и продолжает загрузку.

По сути, автор использовал Interactive Disassembler (IDA) для реверс-инжиниринга механизма блокировки Microsoft. Поскольку исходный код Windows 11 закрыт, разработчик загрузил ядро Windows (ntoskrnl.exe) в IDA, чтобы преобразовать машинный код в более понятное представление на языке ассемблера. Это позволило изучить структуру файла в памяти, найти участок, где Windows проверяет аппаратные требования к процессору, а затем изменить отдельные байты, чтобы обойти строгую проверку совместимости.

Разработчик POP4.2 вместе с энтузиастами протестировал приложение на AMD Phenom X4 9600 – четырехъядерном процессоре 2008 года на базе микроархитектуры AMD K10.

Запуск Windows 11 на процессоре без SSE4.2. Источник: видео канала Bob Pony, на машине которого разработчик тестировал утилиту

Утилита POP4.2 доступна в официальном репозитории на GitHub. Там же опубликованы подробные инструкции по ее использованию и видеоруководство.

Патчить систему можно двумя способами. Первый – собрать из оригинального образа Windows 11 загрузочный ISO с уже внесенными правками. Второй – пропатчить отдельные файлы: ядро ntoskrnl.exe, загрузчик winload.exe и средство подготовки provtool.exe. В обоих случаях разработчик требует заменить библиотеки WindowsCodecs.dll и msxml6.dll версиями из Windows 11, версия 23H2: Microsoft собрала их с инструкциями SSE4.1, и без замены установка завершается сбоем, а приложения не регистрируются в системе.

У приложения есть несколько известных ограничений, о которых предупреждает разработчик. На некоторых чипсетах NVIDIA nForce, которые были широко распространены в те годы, система может зависать. Кроме того, популярные процессоры Intel Core 2 с POP4.2 не работают, поскольку не поддерживают PopCnt.

Рабочий стол Windows 11 на ноутбуке с процессором AMD Athlon II M320 и окно CPU-Z с набором инструкцийWindows 11, версия 25H2 запустилась на ноутбучном AMD Athlon II M320: в списке инструкций CPU-Z есть SSE 4A, но нет SSE4.2. Источник: репозиторий POP4.2

Как пользоваться POP4.2

Готового установщика у POP4.2 нет: это набор файлов из репозитория, который запускается скриптом Python. Перед работой потребуется подготовить компьютер:

  • Windows 8 или новее;
  • Python версии 3.7 или новее с модулем pefile, он ставится командой pip install pefile;
  • утилита oscdimg.exe из Windows ADK – отдельно устанавливать пакет не нужно: если утилиты нет, POP4.2 сама загружает с сервера Microsoft небольшой пакет примерно на 74 КБ и распаковывает из него oscdimg версии 2.56;
  • библиотеки WindowsCodecs.dll (64-разрядная) и msxml6.dll (64- и 32-разрядная) из Windows 11, версия 23H2. Их нужно положить в папку blobs, а 32-разрядную версию msxml6.dll переименовать в msxml6_wow64.dll.

Основной способ, который рекомендует разработчик, – собрать из оригинального образа Windows 11 загрузочный ISO с уже внесенными правками. Образ получается двойным, то есть загружается и в режиме UEFI, и в режиме BIOS:

python pop42.py build -i C:\pop42\w11-26h2.iso -o C:\pop42\w11-26h2-patched.iso --clean --index 4

Команда сама запрашивает права администратора: они нужны для монтирования WIM-образа и работы с кустами реестра.

В этой команде -i – путь к исходному образу, -o – имя образа, который получится на выходе, --clean очищает рабочую папку от файлов прошлой сборки, а --index задает редакцию Windows, которую нужно пропатчить. Номер редакции зависит от конкретного образа: в примере разработчика Windows 11 Pro идет под номером 6, а в русском образе Windows 11, версия 26H2 с сайта Microsoft у этой редакции номер 4. Посмотреть список редакций можно средствами самой Windows, подставив букву смонтированного образа:

dism /Get-WimInfo /WimFile:F:\sources\install.wim

Консоль с началом сборки патченого образа POP4.2: загрузка oscdimg и монтирование исходного ISO

Начало сборки: POP4.2 читает badblobs.xml, догружает oscdimg и копирует файлы исходного образа

Оригинальный образ Windows 11, версия 26H2 для сборки можно взять со страницы официальных ISO-образов. Актуальные сборки и ссылки на образы собраны в таблице:

Сборка Версия Канал Обновление ISO-образы Доступно

Второй способ – пропатчить отдельные файлы, например для тестирования или для среды Windows PE. Для ядра, загрузчика и средства подготовки используются свои команды:

python pop42.py patch kernel_sse42 -i путь\ntoskrnl.exe -o путь\ntoskrnl_patched.exe
python pop42.py patch winload -i путь\winload.exe -o путь\winload_patched.exe
python pop42.py patch provtool_exit -i путь\provtool.exe -o путь\provtool_patched.exe

Если не указывать параметр -o, исходный файл будет изменен на месте. В репозитории есть и более старый патчер на языке C из папки patcher_legacy, но разработчик считает его устаревшим и советует пользоваться скриптом Python.

Проблемные файлы перечислены в badblobs.xml: для каждого указаны путь и действие – патчить, заменить или пропустить. При необходимости список можно дополнить своими файлами. Исходный код POP4.2 распространяется по лицензии MIT.

При сборке образа утилита правит больше файлов, чем при одиночном патче. Кроме ядра она обрабатывает загрузчик winload.efi и winload.exe, причем не только в основной системе, но и в образе среды восстановления winre.wim, и отключает в автономном реестре проверку целостности подписи.

Журнал POP4.2 с патчем загрузчика winload и пересчетом контрольных сумм

Патч загрузчика и правка автономного реестра в образе среды восстановления

Мы проверили сборку на официальном образе Windows 11, версия 26H2 с сайта Microsoft. Процесс занял около десяти минут, на выходе получился загрузочный образ размером 8,93 ГБ.

Сообщение об успешной сборке патченого образа Windows 11 и путь к готовому ISO-файлу

Готовый образ собирает oscdimg, в конце работы POP4.2 показывает путь к файлу

Автор:
Комментарии и отзывы

Нашли ошибку?

Новое на сайте