Несколько последних накопительных обновлений безопасности для Windows 10 и Windows Server 2016 — KB4041676 и KB4041691 (для 1607), выпущенные 10 октября 2017 года, после установки могут вызывать синий экран смерти (BSOD) с ошибкой INACCESSIBLE BOOT DEVICE. По заявлениям Microsoft проблема коснулась только корпортаивных пользователей, компьютеры которых получают обновления не напрямую с сайта Windows Update, а с локального WSUS или SCCM сервера.
Проблема коснулась только тех конфигураций, управляемых WSUS, на котором были одновременно одобрены полные и дельта версии обновлений (вообще говоря во WSUS совсем не должно быть обновлений с пометкой Delta, тут явный промах MSFT). В том случае, если эти дельта обновления были одобрены и установленны одновременно с основными патчами, на компьютерах с Windows 10 это вызвало ошибку INACCESSIBLE BOOT DEVICE.
Вот так выглядит список обновлений на компьютере, загрузивший Delta обновление.
В первую очередь необходимо отклонить установку delta обновлений на WSUS.
На затронутых системах проблемные обновления придется удалить, загрузившись в среде восстановления (или с загрузочного диска). Запустите командную строку (Command Prompt).
Затем выведите список установленных обновлений:
Dism /image:C:\ /get-packages /format:table
Затем с помощью следующих команд DISM нужно удалить обновления, находящиеся в статусе Install Pending.
Dism /Image:C:\ /Remove-Package /PackageName: Package_for_Rollupfix_wrapper~31bf3856ad364e35~amd64~~14393.1770.1.6
Dism /Image:C:\ /Remove-Package /PackageName:Package_for_Rollupfix~31bf3856ad364e35~amd64~~14393.1770.1.6
Dism /Image:C:\ /Remove-Package /PackageName:Package_for_Rollupfix~31bf3856ad364e35~amd64~~14393.1715.1.10
Удаление обновлений может занять 20-30 минут.
У некоторых пользователей при удалении исправления появляется ошибка 0x800f082f. В этом случае рекомендуется загрузить куст реестра C:\WINDOWS\system32\config\Software (в том же MSDART 10) и в ветке HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\SessionsPending исправить значение ключей Exclusive и TotalSessionPhases на 0. После этого можно попробовать удалять обновления.
По последним сообщения, Microsoft исправила проблему и дельта обновления будут отклонены после повторной синхронизации WSUS.
В коде поправьте e35~amd64~14393 — две тильды после amd64
Поправил, спасибо.
Если клиенты закачали и установили кривые обновления, но не перезагрузились, чтобы не удалять обновления в режиме восстановления, можно удалить эти обновления так:
@echo off
REM Stop all update related services net stop usosvc net stop wuauserv net stop trustedinstaller
REM Delete pending.xml if it exists takeown /f %windir%\winsxs\pending.xml >NUL 2>&1 icacls %windir%\winsxs\pending.xml /grant Everyone:F >NUL 2>&1 del %windir%\winsxs\pending.xml >NUL 2>&1
REM Modify the components hive reg unload HKLM\Components >NUL 2>&1 reg load HKLM\ComponentsHive %windir%\system32\config\COMPONENTS reg delete /f HKLM\ComponentsHive /v PendingXmlIdentifier >NUL 2>&1 reg delete /f HKLM\ComponentsHive /v PoqexecFailure >NUL 2>&1 reg delete /f HKLM\ComponentsHive /v ExecutionState >NUL 2>&1 reg delete /f HKLM\ComponentsHive /v RepairTransactionPended >NUL 2>&1 reg delete /f HKLM\ComponentsHive /v AIFailureInformation >NUL 2>&1 reg delete /f HKLM\ComponentsHive\Installers\RegKeySDTable /v Install >NUL 2>&1 reg delete /f HKLM\ComponentsHive\Installers\RegKeySDTable /v Uninstall >NUL 2>&1 reg delete /f HKLM\ComponentsHive\Installers\RegKeySDTable /v Uninstall >NUL 2>&1 reg unload HKLM\ComponentsHive
REM Stop Poqexec from running reg delete /f HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\Configuration /v DontRunPoqexecInSmss >NUL 2>&1 reg delete /f HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\Configuration /v PoqexecCmdline >NUL 2>&1 reg delete /f «HKLM\System\CurrentControlSet\Control\Session Manager» /v SETUPEXECUTE >NUL 2>&1 REG ADD «HKLM\System\CurrentControlSet\Control\Session Manager» /v SETUPEXECUTE /t REG_MULTI_SZ /d /f
dism /online /remove-package /PackageName:Package_for_RollupFix_Wrapper~31bf3856ad364e35~amd64~~15063.674.1.8 /norestart >NUL 2>&1 dism /online /remove-package /PackageName:Package_for_RollupFix_Wrapper~31bf3856ad364e35~x86~~15063.674.1.8 /norestart >NUL 2>&1 dism /online /remove-package /PackageName:Package_for_RollupFix_Wrapper~31bf3856ad364e35~amd64~~14393.1770.1.6 /norestart >NUL 2>&1 dism /online /remove-package /PackageName:Package_for_RollupFix_Wrapper~31bf3856ad364e35~x86~~14393.1770.1.6 /norestart >NUL 2>&1
По инструкции, к сожалению удалить, не получилось. Точнее через DISM удалились 2 строчки со статусом Pending, а одна из них выдавала ошибку 0x8000ffff. Получилось удалить, используя MSDaRT с графической оболочкой. Смотрите по ссылке 3 пункт — Microsoft Diagnostics and Recovery Toolset:
https://interface31.ru/tech_it/2015/04/kak-udalit-paket-obnovleniya-esli-zagruzit-sistemu-nevozmozhno.html
Может быть, кому-то это будет полезным.
В любом случай за инструкцию и сайт с полезными материалами большое человеческое спасибо!