- Уловка-32 — Windows, софт и железо без фанатизма/
- Статьи/
- «Не удалось завершить обновления — отмена изменений»: что проверить на LTSC 21H2/
«Не удалось завершить обновления — отмена изменений»: что проверить на LTSC 21H2
Содержание
Сообщение «Не удалось завершить обновления. Отмена изменений» — не диагноз, а откат: установка не завершилась, и система вернулась в прежнее состояние. Чтобы довести её до конца, сначала найдите код неудачной установки в журнале обновлений и C:\Windows\Logs\CBS\CBS.log, затем проверьте свободное место на системном диске и в системном зарезервированном разделе, целостность хранилища компонентов и вручную установите тот же кумулятивный пакет.
В исходном обращении о LTSC 21H2 нет ни кода, ни журналов, поэтому причина именно того случая неизвестна. Дальше путь начинается с кода.
«Отмена изменений» — это откат, а не причина #
При сбое установки компонента стек обслуживания откатывает установку целиком. Если файл или процесс занят и его нельзя заменить, команды установки записываются в %windir%\WinSXS\Pending.xml и применяются при следующей перезагрузке. Ход установки и отката виден в CBS.log.
Сначала код. Откройте журнал обновлений Центра обновления Windows и запишите код последней неудачной установки. Чтобы свести трассировки в читаемый файл, выполните в PowerShell:
Get-WindowsUpdateLog
Найдите тот же код в C:\Windows\Logs\CBS\CBS.log и проверьте журнал событий Setup: Microsoft предлагает проверить его при ошибках установки. Рядом с кодом в журнале обновлений также указан номер KB неудачного пакета.
Код указывает, что проверять, но не доказывает конкретную причину сбоя:
0x800F0922— у Microsoft описаны две возможности: компьютер не смог связаться с серверами обновлений, например из-за VPN, или в системном зарезервированном разделе не хватает места.0x80070070скорее всего означает нехватку места; в таблице Microsoft это описание дано для обновления версии.0x80073712означает, что нужный файл повреждён или отсутствует, а таблица Microsoft описывает состояние хранилища как несогласованное. Код связан с несогласованным состоянием хранилища компонентов.0x800f081fозначает, что исходный пакет или файл не найден.0x800f0831расшифровывается какCBS_E_STORE_CORRUPTION— повреждение хранилища CBS.
Две проверки, на которые указывает код: место и хранилище компонентов #
В проверенных страницах Microsoft отдельного требования к свободному месту для ежемесячного пакета нет: 16 ГБ для 32-разрядной и 20 ГБ для 64-разрядной системы относятся к обновлению версии. Заявленный и отображаемый объём диска различаются, поэтому смотрите на остаток свободного места, а не на размер тома.
Проверьте свободное место на системном томе и в разделе восстановления. Раздел Windows RE должен быть не меньше 300 МБ; для систем новее Windows 10 версии 2004 требуется минимум 200 МБ свободного места. Рекомендация иметь 250 МБ свободными относится к установке обновлений WinRE, а не к откату ежемесячного кумулятивного пакета.
Чтобы посмотреть свободное место, выполните в PowerShell от имени администратора:
Get-Volume | Where-Object DriveLetter | Format-Table DriveLetter, FileSystemLabel, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,1)}}
Значение FreeGB у системного тома — первое, что нужно посмотреть.
Для 0x800F0922 проверьте обе указанные Microsoft возможности: доступ к серверам обновлений и свободное место в системном зарезервированном разделе. В PowerShell от имени администратора посмотрите состояние Windows RE и доступного образа:
reagentc /info
Не переносите на LTSC 21H2 пороги свободного места ESP, описанные для Windows 11. Параметры раздела WinRE выше относятся именно к среде восстановления.
Порядок проверок не случаен: сначала зафиксируйте код из журнала и проверьте свободное место на системном томе и в системном зарезервированном разделе, затем переходите к хранилищу компонентов, потому что запускать восстановление до этих проверок бессмысленно и можно потерять исходную картину повреждений, важную для выбора следующего шага. Целостность проверяйте командами DISM в заданном порядке.
Коды 0x80073712 и 0x800f0831 указывают на проблему хранилища компонентов, а 0x800f081f — на отсутствующий исходный пакет или файл. Выполните команды ниже по порядку в командной строке от имени администратора и дождитесь завершения каждой:
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
/ScanHealth запускает проверку хранилища. /CheckHealth только показывает результат последней проверки: исправен ли образ, поддаётся ли восстановлению или не поддаётся. /RestoreHealth применяют, если образ ремонтопригоден; DISM может заменить некорректные манифесты, CAB-файлы и данные реестра CBS. sfc /scannow проверяет системные файлы. DISM записывает подробности в %windir%\Logs\CBS\CBS.log, получает файлы с серверов обновления, а источник восстановления определяется политикой.
Установите вручную тот же кумулятивный пакет #
Найдите в журнале обновлений номер KB рядом с кодом, затем в Каталоге Центра обновления Майкрософт (англ. Microsoft Update Catalog) выберите пакет для сборки 19044 и разрядности x64, чтобы вручную установить тот же кумулятивный пакет, который не прошёл при автоматической установке. С февраля 2021 года кумулятивное обновление включает последний стек обслуживания, поэтому отдельный SSU не нужен.
В PowerShell от имени администратора примените скачанный файл .msu, подставив вместо текста в кавычках его фактический путь:
Dism /Online /Add-Package /PackagePath:"путь к скачанному .msu"
Перезагрузите компьютер и проверьте, что запись в журнале обновлений успешна, а сборка и UBR выросли до значения из таблицы Microsoft. В таблице для LTSC 21H2 указана сборка 19044.7811 после внепланового пакета KB5134125 от 26 октября 2026 года. Windows 10 Enterprise LTSC 2021 получает обычные обновления безопасности до 12 января 2027 года; дата 13 января 2032 года относится только к IoT Enterprise.
Если пакеты раздаёт WSUS или Configuration Manager, ручная установка идёт мимо этого канала. Она не меняет источник обновлений и не отменяет политику организации.
Если откат повторяется #
Каждый шаг — только при своём условии.
- Если код
0x800F0922и компьютер подключён к рабочей сети через VPN → отключитесь от сети, выключите VPN и повторите установку. - Если
/RestoreHealthне может скачать файлы → укажите источник восстановления параметрами/Sourceи/LimitAccess. - Если образ не поддаётся восстановлению и пакет не встаёт → восстановите систему с сохранением файлов из образа LTSC 21H2, полученного в лицензионном портале организации.
Если нужна помощь по этой теме #
Помогаю сопоставить код из журнала обновлений с записями CBS.log и понять, что подтверждают логи, а что остаётся предположением. Проверю последовательность восстановления и результаты команд.
Также помогу довести ручную установку того же кумулятивного пакета до проверки результата. Для начала достаточно написать в чат на сайте и указать код ошибки и уже выполненные шаги.