Версии и сборки Windows: что ломается и когда
Почему ридер памяти зависит от сборки Windows, что меняют крупные обновления вроде 24H2 и 25H2, как узнать свою сборку и почему двум ПК нужны разные правила обновлений.
Коротко
Сборки Windows меняют раскладку структур ядра, поэтому крупное обновление на игровом ПК может сломать ридер памяти, пока его не пересоберут. Проверяйте сборку через winver, на втором ПК придерживайте обновления, пока текущая сборка проверенно работает, а игровой ПК ради античита держите в актуальном состоянии.
На странице10
- Почему для ридера важна сборка Windows?
- На каком ПК важна версия Windows?
- Как узнать точную сборку Windows
- Проверка сборки из командной строки
- Что меняет крупное обновление?
- Как обращаться с обновлениями на каждом ПК
- Как придержать обновления и всё равно получать патчи
- Проблемы, связанные со сборками и обновлениями Windows
- Частые вопросы о версиях Windows
- Источники
Почему для ридера важна сборка Windows?
Ридер памяти не запрашивает данные у Windows. Вместо этого он находит структуры ядра в физической памяти — таблицы страниц, список процессов и список модулей — и проходит по ним по смещениям. Это внутренние структуры ядра, и Microsoft вправе менять их раскладку в любом выпуске. Когда раскладка сдвигается, смещения, под которые собран ридер, начинают указывать не туда. Тогда софт спотыкается на самом первом шаге, потому что без базы таблиц страниц он не может найти ничего остального. Вот почему версия Windows — не дело вкуса: от неё реально зависит, будет ли всё работать.
На каком ПК важна версия Windows?
Структуры ядра, которые ищет ридер, лежат в памяти той машины, которую читают, а сам софт для чтения работает на втором ПК. Этому софту в основном нужна просто поддерживаемая Windows с установленными средами выполнения (рантаймами). Поэтому крупное обновление (feature update) на игровом ПК меняет устройство того, что читает ридер. Крупное обновление на втором ПК менее критично, но всё равно реально угрожает драйверам и рантаймам, поэтому решение об обновлениях для каждой машины принимается отдельно.
Как узнать точную сборку Windows
Версия, крупное обновление и сборка — три разных номера, и по тикету, где написано только «Windows 11», разобраться трудно, так что указывайте все три.
- Нажмите Windows + R, введите winver и нажмите Enter
- Посмотрите редакцию, метку крупного обновления (например, 24H2) и строку OS Build (Сборка ОС) вместе с числом после точки
- Чтобы получить текст, который можно скопировать, откройте Settings → System → About (Параметры → Система → О системе) и посмотрите раздел Windows specifications (Характеристики Windows)
- Записывайте сборку и ревизию обновления вместе: ревизия (часть после точки) указывает на конкретное накопительное обновление
- Храните эту запись там же, где записи о настройках BIOS, и обновляйте её после каждого обновления Windows
- Открывая тикет, указывайте полную строку сборки для обоих ПК, а не только для того, который, по-вашему, сломан
Проверка сборки из командной строки
Значения в реестре — самые достоверные, потому что на них опирается сам Windows Update. DisplayVersion — метка крупного обновления, CurrentBuild — номер сборки, а UBR — ревизия обновления, то самое число после точки в winver.
winver
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DisplayVersion
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuild
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBRЧто меняет крупное обновление?
Ежемесячное накопительное обновление обычно латает Windows, не сдвигая структуры, от которых зависит ридер. С крупными обновлениями иначе: их обозначают годом и полугодием, например 24H2 и 25H2, и каждое приносит новое ядро. Именно на них приходится основная часть изменений раскладки, и это объясняет знакомую картину. Месяцами всё работает, ночью ставится крупное обновление, а утром софт не может найти базу таблиц страниц. Никакого обнаружения не было, и с картой всё в порядке. Софту нужно обновление, собранное под новое ядро, и, возможно, придётся заново сгенерировать карту памяти (MMAP).
Как обращаться с обновлениями на каждом ПК
У каждой колонки свой профиль риска, поэтому применять одни и те же правила обновлений к обоим ПК — ошибка.
| Вопрос | Игровой ПК | Второй ПК |
|---|---|---|
| Обновлять до актуальной версии? | Да. Античиты и сама игра рассчитывают на актуальную поддерживаемую Windows, а на устаревшем игровом ПК игра может не запуститься уже по этой причине | Не автоматически. Если сборка уже проверена и работает с вашим софтом, есть веские причины на ней и остаться |
| Почему | Актуальных обновлений требует сама игра, в которую вы собираетесь играть, а неподдерживаемая сборка — проблема безопасности на машине, которой вы пользуетесь как обычно | На нём работает одна программа. Единственное, что здесь даёт обновление, — риск для драйвера и рантаймов |
| Чем рискует крупное обновление | Изменениями раскладки структур ядра — именно это ломает ридер, и остаётся только ждать обновления софта | Откатом драйвера USB-контроллера, изменениями драйвера FTDI и сменой версий рантаймов |
| Как придержать обновления | Не придерживайте дольше короткой паузы. Если нужно неделю подождать новостей о совместимости, используйте встроенную приостановку | Приостановите обновления и отдельно отложите крупное обновление встроенными настройками Windows |
| Если обновление что-то сломало | Прежде чем что-то менять на машине, проверьте страницу статуса для своей игры | Перепроверьте драйвер FTDI, согласованную скорость порта и рантаймы, прежде чем решать, что карта деградировала |
Ни одна из колонок не означает отключение обновлений навсегда: сборка Windows, которая перестала получать обновления безопасности, — это риск, даже на машине под одну программу.
Совет
Как придержать обновления и всё равно получать патчи
На втором ПК разумно откладывать обновления, а не отказываться от них. Используйте паузу и отсрочку крупных обновлений, которые уже есть в Windows, а накопительные обновления безопасности не блокируйте. Откладывайте крупное обновление, пока поставщик софта не сообщит, что новое ядро поддерживается. Так машина остаётся защищённой от того, что действительно важно, и при этом не получает тот единственный тип обновлений, который ломает ридер. Если полностью отключить Windows Update, вы останетесь на сборке, которая перестанет получать исправления, а это худший размен, чем выходные в ожидании.
Проблемы, связанные со сборками и обновлениями Windows
Если одна из этих проблем появилась наутро после обновления, проверьте эти причины, прежде чем смотреть на железо.
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Unable to locate valid DTB сразу после крупного обновления Windows | На читаемой машине изменилась раскладка структур ядра, и смещения софта больше не совпадают | Проверьте страницу статуса и дождитесь сборки софта с поддержкой нового ядра, а когда она выйдет, заново сгенерируйте карту памяти (MMAP) |
| Failed to find base address после обновления, без ошибки DTB | Обновилась игра, а не Windows, или карта памяти создана ещё до изменений в системе | Убедитесь, что сборка игры поддерживается, затем заново сгенерируйте карту памяти, но настройки BIOS ради этого не меняйте |
| Скорость чтения резко упала после обновления второго ПК | Windows заменила или откатила драйвер USB-контроллера или моста | Перепроверьте версию драйвера FTDI и согласованную скорость порта, затем переустановите версию драйвера, которая шла с вашим заказом |
| Лоадер не запускается после обновления, аппаратных ошибок нет | Рантайм заменён или удалён — распространяемые пакеты Visual C++ или среда выполнения WebView | Переустановите рантаймы, указанные рядом с вашей загрузкой, перезагрузитесь и попробуйте снова, прежде чем трогать что-то ещё |
| На одной машине всё работает, а на якобы идентичной — нет | Машины на разных сборках или на разных ревизиях обновлений | Сравните полные строки сборки с UBR на обеих машинах: они редко бывают настолько одинаковыми, как принято думать |
Частые вопросы о версиях Windows
Какую версию Windows ставить на второй ПК?
Ставьте 64-битную сборку Windows, которая всё ещё получает обновления безопасности и значится поддерживаемой в актуальных требованиях вашего софта. Проверьте документацию самого софта до установки, а не ставьте самый свежий выпуск в надежде, что заработает.
Обновление уровня 24H2 или 25H2 точно сломает мою связку?
Не обязательно, но изменения раскладки ядра сосредоточены именно в крупных обновлениях, поэтому из всех обновлений они сломают её с наибольшей вероятностью. Прежде чем ставить такое обновление на читаемую машину, проверьте статус у своего поставщика.
Может, полностью отключить Windows Update?
Нет. Откладывайте крупные обновления, но устанавливайте обновления безопасности: сборка, которая перестала получать исправления, — реальный риск. Ничто в этой связке не стоит того, чтобы сидеть на машине без патчей.
Можно ли откатиться, если обновление всё сломало?
После крупного обновления Windows даёт ограниченное окно для отката, и иногда это срабатывает, но считайте это краткосрочным способом восстановиться, а не планом. Прежде чем решать, прочитайте заметки о статусе от своего поставщика.
Нужна ли на втором ПК та же версия Windows, что и на игровом?
Нет, они друг от друга не зависят. Ридер должен понимать сборку игрового ПК, а сборке второго ПК достаточно запускать софт и его рантаймы.
Источники
Помимо указанного источника, это работа на стенде: команда наблюдала, как крупные обновления ломали ридеры, и записывала, какие сборки работали. Microsoft не публикует раскладку структур ядра, от которой зависит ридер.
- 01Windows Update and FTDI drivers (Hackaday, 2014)
случай, когда драйвер FTDI, пришедший через Windows Update, сломал рабочие устройства
hackaday.com
Читать дальше
Не получилось? Откройте тикет в Discord
Все гайды