Содержание
Центр обновления Windows является механизмом операционной системы, который имеет множество точек потенциального отказа: ошибки в структуре зависимостей (связности) обновлений друг с другом, нестабильная среда передачи данных (клиент-сервер), превышение жестко заданного размера различных внутренних структур (к примеру: списков обновлений), повреждение файлов хранилища компонентов, повреждение базы/каталога распространения, задвоение идентификаторов клиентов и многое многое другое. Ошибок, возникающих в процессе работы Центра обновления Windows, более чем достаточно, по самым скромным подсчетам имеется порядка 700 событий отказа. На различных этапах функционирования центра обновлений Windows: получения, обработки и установки обновлений, данные пакетов обновлений могут повреждаться, либо сами обновления могут переходить в неустанавливаемое состояние из-за отсутствующих/поврежденных зависимостей. На основании изложенного, к слову сказать, далеко не полного перечня проблем центра обновления Windows, можно прийти к выводу, что вероятность сбоев в его работе довольно высока, что фактически и подтверждается миллионами сообщений на данную тематику с официальных форумов Microsoft. Результатом сбоев для конечного пользователя является возникновение разного рода отказов (ошибок) в процессе установки обновлений операционной системы.
Приведенный в данной статье метод сброса центра обновления Windows помогает устранить, как минимум, следующие ошибки: 0x80004015, 0x8000FFFF, 0x80070002, 0x8007000B, 0x80070246, 0x80070424, 0x80070490, 0x80070514, 0x80070643, 0x80070646, 0x80070652, 0x800A0046, 0x800A01AD, 0x800B0100, 0x80200013, 0x80200053, 0x80240020, 0x80240030, 0x8024401B, 0x80244021, 0x8024402C, 0x80245003, 0x80246008, 0x80246009, 0х80248011, 0x80242006, 0x8024400В, 0x8DDD0018.
В практике устранения инцидентов, возникающих при работе центра обновления Windows, приведенная в таблице выше группа ошибок имеет следующие причины:
- повреждение/рассинхронизированное состояние содержимого, располагающегося в структуре каталога распространения (SoftwareDistribution);
- проблемы функционирования ключевых служб центра обновления Windows;
- проблемы в работе Фоновой интеллектуальной службы передачи (BITS) (Queue Manager), производящей подкачку обновлений;
- некорректные идентификаторы (привязки) клиента локального WSUS;
- некорректная настройка параметров (дескрипторов) безопасности служб центра обновления Windows;
- ошибки в регистрации компонентов служб (ключевых системных библиотек);
- проблемы соединения клиента-сервера (проблемы в работе транзитных/локальных прокси-серверов);
Естественно, самым надежным алгоритмом поиска причины отказа было бы проведение анализа деталей при помощи файлов журнала %Windir%WindowsUpdate.log и %Windir%LogsCBSCBS.log, тем не менее это очень долгий и кропотливый путь, итогом которого, с большой вероятность, будет набор методик, описанных в данной статье. Разработчики все это уже сделали за нас 🙂 Поэтому логичнее воспользоваться уже опубликованным, официально-рекомендованным разработчиками методом, носящем название сброс центра обновления Windows (Windows Update Reset).
Сброс в ручном режиме
Следующие команды выполнять из-под учетной записи с правами локального администратора (с повышенными привилегиями).
Итак, для исправления ситуации, возникающей при повреждении/рассинхронизации содержимого папки %Windir%SoftwareDistribution, Microsoft рекомендует восстановить «исходное» состояние компонентов Центра обновления Windows, для этого нам предлагается выполнить следующую последовательность действий:
- Откройте окно командной строки. Для этого нажмите и удерживайте (или щелкните правой кнопкой мыши) кнопку с эмблемой Windows на панели задач, а затем выберите пункт Командная строка (Администратор). Если включен Контроль учетных записей (UAC), то в появившемся окне Контроль учетных записей нажмите кнопку Да. Либо нажмите клавишу Пуск -> в строке поиска и введите команду cmd. В результатах поиска щелкните правой кнопкой мыши на пункте, в ниспадающем меню выберите пункт Запуск от имени администратора. Либо нажмите клавишу с эмблемой Win + R, введите в поле ввода открывшегося окна команду cmd и нажмите клавишу ВВОД.
- Остановите работу следующих служб: Фоновая интеллектуальная служба передачи (BITS), Центр обновления Windows, Удостоверение приложения, Служба криптографии и Узел агента SMS (если используется). Для этого в командной строке введите (последовательно) следующие команды:
- Удалите файлы очередей Фоновой интеллектуальной службы передачи (BITS) (файлы вида qmgr?.dat). Для этого введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:del «%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat»
- Установите для служб Фоновая интеллектуальная служба передачи (BITS) и Центр обновления Windows разрешения по умолчанию (делается это на случай, если разрешения для службы были изменены). Для этого в командной строке введите следующие команды:
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
- Только для систем, использующих SCCM (System Center Control Manager): удалите содержимое папки C:CACHEccmcache;
- Повторно зарегистрируйте файлы служб Фоновая интеллектуальная служба передачи (BITS) и Центр обновления Windows. Для этого в командной строке введите следующую команду:
cd /d %windir%system32
затем выполните серию команд:
- Перезапустите Windows Sockets (Winsock). С этой целью введите в командной строке приведенную ниже команду:netsh winsock reset
- Установите прямой (в обход прокси-сервера) доступ в Сеть для приложений, работающих через функции интерфейса WinHTTP (фактически протокол HTTP/1.1). Для этого измените параметры локальной настройки прокси-сервера. Если у вас операционная система Windows XP:proxycfg.exe -dЕсли у вас установлена другая (более новая) версия Windows:netsh winhttp reset proxy
- Запустите следующие службы: Узел агента SMS, Фоновая интеллектуальная служба передачи (BITS), Центр обновления Windows, Удостоверение приложения и Служба криптографии. Для этого в командной строке последовательно выполните следующие команды:
- Только для Windows Vista: очистите «список ожидания» Фоновой интеллектуальной службы передачи (BITS). Для этого выполните в командной строке команду:bitsadmin.exe /reset /allusers
- Установите последнюю версию агента Центра обновления Windows;
- Перезагрузите компьютер (операционную систему).
Автоматический сброс (скрипт)
Понятное дело что не всегда хочется вот так вот сидеть и руками вколачивать в командную строку кучу команд. Для самых ленивых (в том числе и для меня) предназначается следующий фрагмент скрипта:
Еще один вариант скрипта для операционной системы Windows 10:
Его можно закопипастить и сохранить в виде файла с именем (например) WindowsUpdateReset.bat.
Похожие записи:
В этой инструкции опишу, как исправить большинство типичных ошибок обновления Windows (любой версии — 7, 8, 10) с помощью простого скрипта, который полностью сбрасывает и очищает настройки Центра обновлений. См. также: Что делать, если не скачиваются обновления Windows 10.
С помощью данного метода можно исправить большинство ошибок, когда центр обновления не загружает обновления или пишет, что произошли ошибки при установке обновления. Однако, стоит учитывать, что все-таки не все проблемы могут быть решены этим способом. Дополнительную информацию по возможным решениям можно найти в конце руководства.
Обновление 2016: если проблемы с Центром обновления у вас возникли после переустановки (или чистой установки) Windows 7 или сброса системы, то рекомендую сначала попробовать поступить следующим образом: Как установить все обновления Windows 7 одним файлом Convenience Rollup Update, а если не поможет — вернуться к этой инструкции.
Сброс центра обновлений Windows для исправления ошибок
Для того, чтобы исправить многие ошибки при установке и загрузке обновлений Windows 7, 8 и Windows 10, бывает достаточно полностью сбросить параметры центра обновлений. Я покажу, как сделать это автоматически. В дополнение к сбросу, предложенный скрипт запустит необходимую службу, если вы получаете сообщение о том, что Центр обновления не запущен.
Кратко о том, что происходит при выполнении нижеследующих команд:
- Останавливаются службы: Центр обновления Windows, Фоновая интеллектуальная служба передачи BITS, Службы криптографии.
- Служебные папки центра обновления catroot2, SoftwareDistribution, downloader переименовываются в catrootold и т.д. (которые, если что-то пошло не так, можно использовать как резервные копии).
- Все ранее остановленные службы снова запускаются.
Для того, чтобы использовать скрипт, откройте блокнот Windows и скопируйте в него команды, представленные ниже. После этого сохраните файл с расширением .bat — это и будет сценарий для остановки, сброса и перезапуска Центра обновлений Windows.
@ECHO OFF echo Sbros Windows Update echo. PAUSE echo. attrib -h -r -s %windir%system32catroot2 attrib -h -r -s %windir%system32catroot2*.* net stop wuauserv net stop CryptSvc net stop BITS ren %windir%system32catroot2 catroot2.old ren %windir%SoftwareDistribution SoftwareDistribution.old ren "%ALLUSERSPROFILE%application dataMicrosoftNetworkdownloader" downloader.old net Start BITS net start CryptSvc net start wuauserv echo. echo Gotovo echo. PAUSE
После того, как файл создан, кликните по нему правой кнопкой мыши и выберите пункт «Запуск от имени администратора», вам будет предложено нажать любую клавишу для начала, после чего по порядку будут выполнены все необходимые действия (еще раз нажимаем любую клавишу и закрываем командную строку).
И, наконец, обязательно перезагрузите компьютер. Сразу после перезагрузки снова зайдите в Центр обновления и посмотрите, исчезли ли ошибки при поиске, скачивании и установке обновлений Windows.
Другие возможные причины ошибок при обновлении
К сожалению, не все возможные ошибки обновления Windows можно решить вышеописанным способом (хотя и многие). Если способ вам не помог, то обратите внимание на следующие возможные варианты:
- Попробуйте установить DNS 8.8.8.8 и 8.8.4.4 в параметры Интернет-соединения
- Проверьте, запущены ли все необходимые службы (их список приводился ранее)
- Если у вас не работает обновление с Windows 8 до Windows 8.1 через магазин (Установка Windows 8.1 не может быть завершена), попробуйте сначала установить все доступные обновления через Центр обновлений.
- Выполните поиск в Интернете по сообщаемому коду ошибки, чтобы узнать, в чем именно проблема.
На самом деле, разных причин, по которым не ищутся, не загружаются и не устанавливаются обновления, может быть множество, но, по моему опыту, представленная информация сможет помочь в большинстве случаев.
Любое обновление, особенно если оно затрагивает системные файлы — потенциальная угроза стабильности системы. Несмотря на то, что обновления тестируются как самой компанией Microsoft, так и администраторами самостоятельно, ситуации, когда установка обновления приводит к полной неработоспособности системы, время от времени случаются. Что делать в этом случае? Об этом мы расскажем в данной статье.
Основная проблема, она же несомненное достоинство, Windows-систем — это их разнообразие. Количество возможных сочетаний аппаратного обеспечения и работающего на нем ПО подсчитать практически нереально, поэтому, как тщательно не тестируй обновления, всегда может найтись такая комбинация железа и софта, которая окажется несовместимой с данным обновлением. Чаще всего проблемы связаны со сторонними драйверами или низкоуровневым ПО, работающем на уровне ядра.
Отдельный разговор — нелицензионные системы. Чаще всего обход активации осуществляется патчем и заменой ядра. Это уже само по себе небезопасно и чревато потенциальными проблемами, а при обновлениях, затрагивающих ядро вы рискуете получить отказ системы, что уже не раз происходило. Также подвержены этому недостатку и различные любительские сборки, доступные в сети интернет, многие сборщики сразу включаю в систему патченное ядро или принудительно запускают активатор сразу после установки, не проверяя наличие и валидность ключа системы.
Так произошло и в минувший вторник патчей. Очередное обновление безопасности KB3045999 для Windows 7 при перезагрузке приводило к «синему экрану смерти» (BSOD).
Пользователи разразились очередными упреками к Microsoft, выпускающей «глючные» обновления, но очень скоро выяснилось, что ошибке подвержены только системы с патченным ядром. Тем не менее проблема затронула и вполне законопослушных пользователей, которые поленились собрать собственный дистрибутив и, чтобы не выкачивать гигабайты обновлений, просто скачали из сети подходящую сборку.
Не будем обсуждать моральные и юридические аспекты использования нелицензионного ПО, пусть каждый решает этот вопрос самостоятельно, а лучше рассмотрим способы восстановления работы системы.
Установочный диск или Windows PE
Это самый доступный, хотя и не самый простой способ. Подойдет любой диск от совместимой системы, единственное условие — соблюдение разрядности. Также следует помнить об обратной совместимости, т.е. для восстановления Windows 7 вы можете использовать диски не только от Windows 7 и Server 2008 R2, но и Windows 8 / Server 2012. В ряде случаев можно попробовать использовать диск от более ранней системы, но при этом не все возможности могут быть доступны, например, реализовать нижеприведенные инструкции с диском от Windows Vista / Server 2008 не получится.
Если вы используете Windows PE, то он также должен быть создан на базе текущей версии ОС или более поздней, разрядность также должна совпадать.
Загрузимся с установочного диска и на экране, предлагающем установку ОС выберем пункт Восстановление системы.
Утилита определит установленную ОС и предложит перейти к автоматическому восстановлению системы, вариантов здесь немного, поэтому нажимаем Далее.
А вот дожидаться окончания работы мастера совершенно необязательно, тем более что помочь он нам не сможет, поэтому на следующем экране нажимаем Отмена.
Затем не спешим и в появившемся окне выбираем ссылку Показать дополнительные возможности восстановления системы.
Теперь у вас появилась возможность выйти в командную строку, чем и следует воспользоваться.
Если вы загрузились с Windows PE, то попадете в командную строку сразу.
После чего следует уточнить какую букву получил системный диск. При стандартной разметке это будет буква D, букву С получит служебный раздел. Для проверки выполним:
dir d:
Убедившись, что это действительно системный диск, можно переходить к следующим шагам. Перед этим было бы неплохо уточнить наименование проблемного обновления, как правило это несложно сделать при помощи сети интернет. Затем получим список всех установленных пакетов следующей командой:
DISM /Image:D: /Get-Packages
В выводе находим номер необходимого обновления и копируем имя пакета, если оно неизвестно, то удалите все пакеты с датой последнего обновления.
Для того, чтобы скопировать наименование пакета в командной строке выделите его и нажмите клавишу Enter, для вставки достаточно щелкнуть правой кнопкой мыши.
Для удаления пакета выполните команду:
DISM /Image:D: /Remove-Package /PackageName:Package_for_KB3045999~31bf3856ad364e35~amd64~~6.1.1.1
где в качестве опции PackageName укажите имя пакета, полученное на предыдущем шаге.
Microsoft Diagnostics and Recovery Toolset
Набор инструментов диагностики и восстановления (Microsoft Diagnostics and Recovery Toolset, MSDaRT) — средство, основанное на ERD Commander от Sysinternals и доступное по подписке Software Assurance (SA), однако его несложно найти в сети. Для работы с Windows 7 потребуется MSDaRT не ниже версии 6.5, актуальной является версия 8.0
Загружаемся с диска MSDaRT, помните, что обязательным требованием является соблюдение разрядности, и на первом экране, после выбора языка (в нашем случае используется версия 8.0), выбираем Диагностика:
Затем Microsoft Diagnostics and Recovery Toolset:
После чего перед вами откроется окно с выбором доступных инструментов, нас интересует Hotfix Uninstall или Удаление исправлений.
Работа с мастером не представляет сложности, выбираем одно или несколько обновлений и удаляем их:
Как видим, работа с MSDaRT гораздо удобнее, чем с командной строкой, но требует подготовиться к возможным нештатным ситуациям заранее.
В обоих случаях после удаления проблемного обновления следует перезагрузиться и тщательно проанализировать причины сбоя. Надеемся, что данный материал поможет вам быстро восстановить работоспособность системы после неудачного обновления.
Используемые источники:
- http://datadump.ru/windows-update-reset/
- https://remontka.pro/windows-update-reset/
- https://interface31.ru/tech_it/2015/04/kak-udalit-paket-obnovleniya-esli-zagruzit-sistemu-nevozmozhno.html