Как исправить ошибку "there is a system repair pending which requires a reboot to complete" в Windows

Короткое пояснение: Windows иногда помечает систему как находящуюся в состоянии «ожидается восстановление» (repair pending). Это блокирует запуск System File Checker (sfc /scannow) и некоторых других диагностических утилит до завершения перезагрузки или удаления метки ожидания.
В этой статье — проверенные шаги по диагностике и устранению ошибки, варианты для загружаемой и незагружаемой системы, команды и контрольные списки для администратора и продвинутого пользователя.
Основные варианты решения
- Быстрая проверка: простая перезагрузка системы.
- Если перезагрузка не помогла: удалить pending.xml в C:\Windows\WinSxS.
- Восстановление образа с помощью DISM: /RestoreHealth.
- Если не загружается Windows: загрузиться в WinRE и выполнить DISM /revertpendingactions.
- Удаление ключа RebootPending в реестре при необходимости.
Важно: перед изменением реестра или системных файлов создайте точку восстановления или резервную копию важных данных.
1. Удаление файла pending.xml
Когда: используйте этот метод, если после перезагрузки SFC все ещё показывает сообщение о pending repair.
Что делает: pending.xml в папке WinSxS хранит метку ожидаемой операции обновления/восстановления. Удаление этого файла снимает метку и даёт возможность запустить SFC.
Шаги:
- Нажмите Win + E, чтобы открыть Проводник.
- Перейдите в папку C:\Windows\WinSxS
- Найдите файл pending.xml (если есть).
- Переименуйте его (например, pending.xml.bak) или удалите.
- Перезагрузите компьютер.
- В запущенной системе откройте командную строку от администратора и выполните:
sfc /scannow
Если при удалении возникает ошибка из‑за прав, выполните команду для получения прав собственности (от имени администратора) и повторите операцию:
takeown /f C:\Windows\WinSxS\pending.xml
icacls C:\Windows\WinSxS\pending.xml /grant Администраторы:F
del C:\Windows\WinSxS\pending.xml
Замените “Администраторы” на вашу локальную группу администраторов, если имя локализовано.
Примечание: если файл отсутствует, переходите к следующему разделу.
2. Запуск DISM с параметром /RestoreHealth
Когда: используйте, если SFC не может исправить файлы или вы подозреваете повреждение образа Windows.
Что делает: DISM проверяет и при необходимости загружает из Windows Update (или альтернативного источника) отсутствующие или повреждённые компоненты образа Windows.
Шаги:
- Нажмите Win, введите cmd.
- Правой кнопкой на “Командная строка” -> “Запуск от имени администратора”.
- Выполните:
DISM.exe /Online /Cleanup-Image /RestoreHealth
- Дождитесь завершения. Процесс может занять 10–60 минут в зависимости от скорости диска и соединения.
- Перезагрузите ПК и выполните снова:
sfc /scannow
Примечание: команда /RestoreHealth требует доступа к Интернету, если у вас нет локального репозитория образов (WIM/ESD).
3. Применение DISM /revertpendingactions в среде восстановления (WinRE)
Если Windows не загружается, используйте WinRE и выполните revertpendingactions.
Шаги (общий сценарий):
- Выключите компьютер.
- Включите и многократно нажимайте F11 (или F9/F12 на некоторых моделях) для входа в Среду восстановления Windows.
- Выберите “Поиск и устранение неисправностей” → “Дополнительные параметры” → “Командная строка”.
- В командной строке введите (если ОС на разделе C:):
DISM.exe /image:C:\ /cleanup-image /revertpendingactions
- Если Windows установлена на другом разделе — замените C: на соответствующую букву.
- После успешного выполнения закройте консоль и перезагрузите ПК.
- После загрузки выполните sfc /scannow от имени администратора.
О чём это: revertpendingactions отменяет незавершённые операции обслуживания образа, которые могли застрять и препятствовать дальнейшим процедурам.
4. Удаление записи RebootPending в реестре
Когда: если удаление pending.xml и DISM не помогли, возможно, в реестре осталась пометка о требующейся перезагрузке.
Риск: изменение реестра может повлиять на систему. Создайте точку восстановления или экспортируйте ветку перед удалением.
Шаги:
- Нажмите Win + R, введите regedit и OK.
- Разрешите запуск от имени администратора.
- Перейдите по пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
- Найдите ключ RebootPending.
- Правой кнопкой по ключу → Удалить.
- Подтвердите.
- Перезагрузите систему и запустите sfc /scannow.
Если появится ошибка “Cannot delete key” — отведите себе права владельца ключа через меню “Разрешения” в regedit: Advanced → Owner → Change → укажите администратора, установите флажок “Заменить владельца подконтейнеров и объектов” и примените.
Когда это не помогает и что делать в последнюю очередь
- Если все перечисленные шаги не устранили проблему, вероятно, образ Windows сильно повреждён.
- Варианты:
- Выполнить ремонтную установку (repair upgrade) — сохранит приложения и данные.
- Выполнить чистую установку Windows — удалит приложения и настройки, сохраните резервную копию данных.
Совет: сначала попробуйте repair upgrade с установочного ISO той же версии Windows.
Дополнительные рекомендации и запасные подходы
- Альтернативный источник для DISM: если доступ к Windows Update ограничен, используйте локальный WIM/ESD в качестве источника:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:WIM:X:\sources\install.wim:1 /LimitAccess
Где X:\ — носитель с ISO, а :1 — индекс образа.
- Если система регулярно попадает в состояние pending — проверьте сторонние антивирусы/защитные приложения и драйверы, недавно установленные обновления и утилиты обслуживания.
Чек-листы и шаблоны
Чек-лист для администратора (быстрая последовательность):
- Перезагрузите ПК.
- Удалите C:\Windows\WinSxS\pending.xml (если есть).
- Запустите DISM /RestoreHealth.
- Выполните sfc /scannow.
- Если не загружается — WinRE + DISM /revertpendingactions.
- Если нужно — удалите ключ RebootPending в реестре.
- Если всё не помогло — repair upgrade или чистая установка.
Чек-лист для обычного пользователя:
- Сохраните документы и сделайте резервную копию.
- Перезагрузите систему и повторите действие.
- По возможности обратитесь к администратору или в службу поддержки.
Шаблон команд (быстрое копирование):
takeown /f C:\Windows\WinSxS\pending.xml
icacls C:\Windows\WinSxS\pending.xml /grant Администраторы:F
del C:\Windows\WinSxS\pending.xml
DISM.exe /Online /Cleanup-Image /RestoreHealth
sfc /scannow
DISM.exe /image:C:\ /cleanup-image /revertpendingactions
Простая визуальная логика: что попробовать сначала
flowchart TD
A[Возникла ошибка pending repair] --> B{Система загружается?}
B -- Да --> C[Перезагрузка]
C --> D{Ошибка исчезла?}
D -- Да --> Z[Готово]
D -- Нет --> E[Удалить pending.xml]
E --> F[Запустить DISM /RestoreHealth]
F --> G[sfc /scannow]
G --> Z
B -- Нет --> H[Зайти в WinRE]
H --> I[DISM /revertpendingactions]
I --> G
G --> Z
Критерии приёмки
- После выполнения шагов команда sfc /scannow запускается без ошибки “there is a system repair pending”.
- DISM завершает операцию с сообщением об успешном выполнении.
- Система загружается в обычном режиме и нет повторяющихся сообщений об ожидании перезагрузки.
Когда этот метод не годится
- Если системные файлы физически повреждены (аппаратная проблема с диском) — восстановление ПО не поможет. Проверьте SMART и целостность диска.
- Если системная регистрация обновлений была частично перезаписана или отсутствует критическая часть прошивки — понадобится чистая установка.
Риски и предостережения
- Удаление системных ключей реестра и файлов без резервной копии может привести к нестабильности.
- Команды takeown/icacls и манипуляции с реестром требуют прав администратора.
Важно: перед серьёзными изменениями сделайте резервную копию важных данных.
Короткое резюме
- Ошибка означает, что предыдущая операция восстановления осталась незавершённой.
- Простая перезагрузка часто решает проблему.
- Если нет — удалите pending.xml, запустите DISM /RestoreHealth, используйте WinRE + /revertpendingactions и, при необходимости, удалите RebootPending в реестре.
- В крайнем случае выполните repair upgrade или чистую установку.
Дополнительный совет: документируйте последовательность действий и создавайте точку восстановления перед изменениями.