Для обеспечения стабильности и безопасности вашей Windows, вы должны регулярно устанавливать обновления безопасности (вручную с помощью msu / cab файлов или автоматически через службу Windows Update). Microsoft ежемесячно каждый второй вторник выпускает новые обновления Windows. В некоторых случаях новые обновления могут вызвать различные проблемы в системе (из-за плохого тестирования, ошибки инженеров, несовместимости с железом и т.д.), и установленное обновление нужно удалить (Способы удаления обновлений в Windows). Однако случается что операционная система Windows перестает загружаться (падает в BSOD с ошибками CRITICAL_PROCESS_DIED, INACCESSIBLE_BOOT_DEVICE, или автоматически перезагружается) и вы не можете штатно удалить проблемное обновление.
В этой статье мы рассмотрим, как корректно удалить обновления в Windows 10 и 11 (Windows Server 2019/2016/2012), если операционная система не загружается.
Использование среды восстановления Windows (WinRE) для удаления обновлений
Если Windows не загружается, вы можете попробовать использовать среду восстановления Windows (Windows Recovery Environment — WinRE) для исправления типовых ошибок и удаления последних обновлений.
Загрузчик Windows Boot Manager попытается автоматически загрузить компьютер в среде Windows Recover Environment, если три предыдущие попытки загрузки Windows были неудачными. Вы можете просто 3 раза подряд прервать загрузку системы кнопкой отключения питания.
На экране WinRE выберите Troubleshoot. Здесь будет представлено несколько опций, позволяющих исправить типовые проблемы загрузки Windows:
- Startup repair – попробуйте использовать эту опцию первой, чтобы Windows попыталась автоматически исправить типовые проблемы
- System Restore – позволяет откатиться к одной из предыдущих точек восстановления
- System Image Recovery – позволяет восстановить компьютер из созданной ранее резервной копии вашего образа Windows
- Uninstall Updates – данный режим позволяет удалить последние обновления безопасности или обновления билда Windows 10.
Выберите Uninstall Updates. Выберите один из режимов:
- Uninstall latest quality updates – используется для удаления последнего ежемесячного обновления Windows;
- Uninstall latest feature update – используется для удаления билда Windows 10.
Выберите нужную вам опцию, дождитесь удаления обновления, перезагрузите компьютер в обычном режиме.
В некоторых случаях при удалении обновлений вы можете увидеть ошибку:
You have pending update actions and we won’t be able to uninstall the latest quality/feature update of Windows. Try running Startup Repair instead.
В этом случае нужно вручную удалить файл pending.xml (описано в следующем разделе).
Совет. Если компьютер перестал загружаться после обновления билда Windows 10 с ошибкой «Компьютер неожиданно перезагрузился. Невозможно продолжить установку Windows», нужно воспользоваться способом восстановления ОС по ссылке.
Как удалить обновления, если Windows не загружается?
Если Windows после установки обновлений не загружается в режиме восстановления, нужно загрузить компьютер с любого доступного диска или флешки. Это может быть как среда восстановления Windows (WinRE), установочный диск или флешка с Windows, ERD (он же MSDaRT 10) или другой загрузочный диск.
Примечание. В Windows 10 и 11 при проблемах с загрузкой ОС должна автоматически запускаться среда восстановления с командной строкой.
В этом примере, я загружу компьютер с установочной флешки с Windows 10 x64. При загрузке зайдите в BIOS/UEFI вашего компьютера и измените порядок загрузки, выбрав вашу USB флешку в качестве первичного загрузочного устройства.
Совет. Для загрузки подойдет любой установочный диск (главное условие – соблюдение разрядности ОС), с учетом совместимости. Так установочный образ Windows 10 можно использовать для восстановления Windows 7, но наоборот не удастся, т.к. в более старых версиях ОС могут поддерживаться не все команды и параметры.
На втором экране с приглашением начать установку Windows нужно нажать кнопку Repair Computer или нажать сочетание клавиш Shift+F10.
В первом случае выберите Troubleshoot -> Command Prompt (Командная строка).
В открывшемся окне командной строки среды Win PE нужно определить букву диска, которая назначена вашему системному разделу с Windows (это может быть не диск C:).
Выполите команду:
DISKPART
Выведите список разделов в системе:
list volume
В моем примере среда WinPE не назначила букву диска моему разделу с Windows. На моем скриншоте это Volume 1 с файловой системой NTFS и разделом 39 Гб (100 Мб раздел это загрузочный EFI раздел).
Чтобы назначить ему букву диска V, выполните команды:
Select volume 1
Assign letter=v
Еще раз выполните команду
list vol
, чтобы убедится, что разделу с Windows назначена буква диска.
Завершите сеанс diskpart командой:
exit
В нашем примере мы назначили системному разделу Windows букву V: (используйте свою букву диска в следующих командах).
Выведите список обновлений (пакетов), установленных в офлайн образе Windows с помощью DISM:
DISM /Image:V: /Get-Packages /format:table
Если вы знаете какое конкретное обновление (KB) вызвало проблему, его номер можно использовать в качестве фильтра:
DISM /Image:V: /Get-Packages /format:table | find “4056887”
Или можно отфильтровать список по дате установке:
DISM /Image:V: /Get-Packages /format:table | find “10/25/2021”
(формат даты зависит от настроек локализации Windows, в моем примере используется американский формат даты)
Примечание. Если список обновлений очень большой, и вы точно не знаете, какое из последних обновлений вызвало BSOD, можно выгрузить полный список в текстовый файл и открыть его с помощью блокнота (в нем можно пользоваться поиском).
DISM /Image:V: /Get-Packages /format:table > d:updates.txt
Notepad V:updates.txt
Теперь нужно скопировать идентификатор проблемного пакета в буфер (выделить название пакета в командной строке и нажать Enter; чтобы вставить текст – просто щёлкните правой кнопкой мыши).
С помощью следующей команды можно удалить обновление:
DISM /Image:V: /Remove-Package /PackageName:Package_for_KB4056887~31bf3856ad364e35~amd64~~10.0.1.0
Если вы точно не знаете, какое конкретное обновление вызвало проблему, п удалите все недавно установленные пакеты о очереди.
После удаления обновления попробуйте загрузить Windows в обычном режиме.
Если вам нужно удалить обновления, ожидающие установки (со статусом Pending), нужно удалить файл pending.xml.
Для этого в коммандой строке выполните следующие команды:
del V:WindowsWinSxSpending.xml
del V:WindowsWinSxScleanup.xml
(файл может отсутствовать)
del V:WindowsSoftwareDistributionDownload*.*
Также для очистки некорректных обновления со статусом Pending можно использовать DISM:
dism /image:v: /ScratchDir:v: /cleanup-image /RevertPendingActions
Эта операция отменяет все отложенные действия предыдущих операций обслуживания, так как эти действия могут быть причиной сбоя при загрузке.
Затем вы можете воспользоваться DISM, чтобы проверить и исправить хранилище компонентов Windows в офлайн режиме (понадобится установочный диск Windows):
Dism /image:V: /Cleanup-Image /RestoreHealth /Source:D:sourcesinstall.wim
Если у вас есть диск восстановления MSDaRT, то удалить проблемные обновления можно еще проще. Достаточно загрузится с диска MSDaRT (разрядность должна совпадать), выбрать Диагностика -> Microsoft Diagnostics and Recovery Toolset. В списке утилит выберите Hotfix Uninstall (Удаление исправлений).
Выделите какие обновления нужно удалить, и нажимаете Далее.
Если при загрузке компьютера у вас появляется ошибка An operating system wasn’t found, проверьте состояние загрузчика Windows.