Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 121

Как исправить ошибки Центра обновлений Windows

Windows-WU-Reset.jpg

При возникновении ошибок при загрузке или установке обновлений чаще всего помогает сброс центра обновления Windows 10. В данной статье мы опишем стандартные методы, как сбросить Центр обновления и решить проблемы с обновлениями.

Существует несколько известных способов сбросить Центр обновления Windows 10:

  • Используя средство устранения неполадок
  • Удаление папки SoftwareDistibution
  • Выполнение скрипта

Разберем данные способы по порядку.

Средство устранения неполадок

Помогает в 2 случаях из 10 и может указывать на ошибки хранилища компонентов и самого ЦО, без наличия таковых. Не самое лучше средство решение проблемы, но иногда помогает. Редко, но помогает. Учитывая заявление Microsoft, что все траблшутеры (а именно так называются эти средства устранения неполадок) совершенствуются и «учатся на ошибках», этого не было замечено за всё время использования системы.

Windows-WU-Reset4.jpg

Если Вам требуется запустить средство устранения неполадок Центра обновления Windows, пройдите в Панель управления — Устранение неполадок — Все категории и запустите нужное средство от имени Администратора.

Удаление папки SoftwareDistibution

Решает 5 из 10 проблем с обновлениями. SoftwareDistibution – папка, где хранятся загруженные обновления, кэш Центра обновления и его логи. Удаление данной папки решает вопросы ошибок установки, но не загрузки обновлений.

Папка располагается по пути C:WindowsSoftwareDistribution

Windows-WU-Reset1.jpg

Перед тем, как её удалить, необходимо остановить службу Центр обновления Windows или выполнить следующую команду в Командной строке от имени Администратора:

net stop wuauserv

Windows-WU-Reset2.jpg

Выполнение скрипта

Универсальное средство для решения проблем обновлений, как для Windows 10, так и для Windows 8.1 и 7. Решает 8 из 10 проблем связанных с центром обновления. Есть 2 варианта использования скрипта:

  1. Загрузить скрипт с форума Microsoft

Пройдите на страницу загрузки Technet Microsoft или загрузите архив по прямой ссылке. Распакуйте архив и запустите скрипт ResetWUEng от имени Администратора.

Первая страница предостерегает о возможных последствиях (скрипт умеет не только сбрасывать ЦО), для согласия нажмите клавишу «. На выбор будет предложено 17 действий, но нам нужно только одно, под цифрой 2. Нажимаем 2 и клавишу Enter. На экране будут отображаться выполняемые процессы и по завершению возникнет окно в 17 вариантами. Выберите 17 для перезагрузки и нажмите Enter.

Windows-WU-Reset-script.jpg

Примечание: Некоторые антивирусы могут «ругаться» на данный скрипт, но открыв Блокнотом, Вы можете удостовериться, что ничего подозрительного в его содержимом нету.

  1. Создание скрипта самостоятельно

Сделать скрипт для сброса Центра обновления Windows довольно просто, нам потребуется для начала открыть Блокнот (notepad.exe) и скопировать туда данный текст:

@echo off    ::Сброс центра обновлений  ::WindowsGuide.ru    :: Checking and Stopping the Windows Update services  set b=0    :bits  set /a b=%b%+1  if %b% equ 3 (     goto end1  )    net stop bits  echo Checking the bits service status.  sc query bits | findstr /I /C:"STOPPED"  if not %errorlevel%==0 (      goto bits  )  goto loop2    :end1  cls  echo.  echo Cannot reset Windows Update since "Background Intelligent Transfer Service" (bits) service failed to stop.  echo.  pause  goto Start    :loop2  set w=0    :wuauserv  set /a w=%w%+1  if %w% equ 3 (     goto end2  )  net stop wuauserv  echo Checking the wuauserv service status.  sc query wuauserv | findstr /I /C:"STOPPED"  if not %errorlevel%==0 (      goto wuauserv  )  goto loop3    :end2  cls  echo.  echo Cannot reset Windows Update since "Windows Update" (wuauserv) service failed to stop.  echo.  pause  goto Start    :loop3  set app=0  :appidsvc  set /a app=%app%+1  if %app% equ 3 (     goto end3  )  net stop appidsvc  echo Checking the appidsvc service status.  sc query appidsvc | findstr /I /C:"STOPPED"  if not %errorlevel%==0 (      goto appidsvc  )  goto loop4    :end3  cls  echo.  echo Cannot reset Windows Update since "Application Identity" (appidsvc) service failed to stop.  echo.  pause  goto Start    :loop4  set c=0    :cryptsvc  set /a c=%c%+1  if %c% equ 3 (     goto end4  )  net stop cryptsvc  echo Checking the cryptsvc service status.  sc query cryptsvc | findstr /I /C:"STOPPED"  if not %errorlevel%==0 (      goto cryptsvc  )  goto Reset    :end4  cls  echo.  echo Cannot reset Windows Update since "Cryptographic Services" (cryptsvc) service failed to stop.  echo.  pause  goto Start    :Reset  Ipconfig /flushdns  del /s /q /f "%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat"  del /s /q /f "%ALLUSERSPROFILE%MicrosoftNetworkDownloaderqmgr*.dat"  del /s /q /f "%SYSTEMROOT%LogsWindowsUpdate*"    if exist "%SYSTEMROOT%winsxspending.xml.bak" del /s /q /f "%SYSTEMROOT%winsxspending.xml.bak"  if exist "%SYSTEMROOT%winsxspending.xml" (      takeown /f "%SYSTEMROOT%winsxspending.xml"      attrib -r -s -h /s /d "%SYSTEMROOT%winsxspending.xml"      ren "%SYSTEMROOT%winsxspending.xml" pending.xml.bak  )    if exist "%SYSTEMROOT%SoftwareDistribution.bak" rmdir /s /q "%SYSTEMROOT%SoftwareDistribution.bak"  if exist "%SYSTEMROOT%SoftwareDistribution" (      attrib -r -s -h /s /d "%SYSTEMROOT%SoftwareDistribution"      ren "%SYSTEMROOT%SoftwareDistribution" SoftwareDistribution.bak  )    if exist "%SYSTEMROOT%system32Catroot2.bak" rmdir /s /q "%SYSTEMROOT%system32Catroot2.bak"  if exist "%SYSTEMROOT%system32Catroot2" (      attrib -r -s -h /s /d "%SYSTEMROOT%system32Catroot2"      ren "%SYSTEMROOT%system32Catroot2" Catroot2.bak  )    :: Reset Windows Update policies  reg delete "HKCUSOFTWAREPoliciesMicrosoftWindowsWindowsUpdate" /f  reg delete "HKCUSOFTWAREMicrosoftWindowsCurrentVersionPoliciesWindowsUpdate" /f  reg delete "HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdate" /f  reg delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesWindowsUpdate" /f  gpupdate /force    :: Reset the BITS service and the Windows Update service to the default security descriptor  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)    :: Reregister the BITS files and the Windows Update files  cd /d %windir%system32  regsvr32.exe /s atl.dll  regsvr32.exe /s urlmon.dll  regsvr32.exe /s mshtml.dll  regsvr32.exe /s shdocvw.dll  regsvr32.exe /s browseui.dll  regsvr32.exe /s jscript.dll  regsvr32.exe /s vbscript.dll  regsvr32.exe /s scrrun.dll  regsvr32.exe /s msxml.dll  regsvr32.exe /s msxml3.dll  regsvr32.exe /s msxml6.dll  regsvr32.exe /s actxprxy.dll  regsvr32.exe /s softpub.dll  regsvr32.exe /s wintrust.dll  regsvr32.exe /s dssenh.dll  regsvr32.exe /s rsaenh.dll  regsvr32.exe /s gpkcsp.dll  regsvr32.exe /s sccbase.dll  regsvr32.exe /s slbcsp.dll  regsvr32.exe /s cryptdlg.dll  regsvr32.exe /s oleaut32.dll  regsvr32.exe /s ole32.dll  regsvr32.exe /s shell32.dll  regsvr32.exe /s initpki.dll  regsvr32.exe /s wuapi.dll  regsvr32.exe /s wuaueng.dll  regsvr32.exe /s wuaueng1.dll  regsvr32.exe /s wucltui.dll  regsvr32.exe /s wups.dll  regsvr32.exe /s wups2.dll  regsvr32.exe /s wuweb.dll  regsvr32.exe /s qmgr.dll  regsvr32.exe /s qmgrprxy.dll  regsvr32.exe /s wucltux.dll  regsvr32.exe /s muweb.dll  regsvr32.exe /s wuwebv.dll  regsvr32.exe /s wudriver.dll  netsh winsock reset  netsh winsock reset proxy  :: Set the startup type as automatic  sc config wuauserv start= auto  sc config bits start= auto  sc config DcomLaunch start= auto      :Start  net start bits  net start wuauserv  net start appidsvc  net start cryptsvc

Затем, сохраните данный файл. При сохранении укажите Тип файла: Все файлы, а в названии укажите «название».bat (например, wu.bat), что бы этот файл был исполняемым и можно было воспроизвести скрипт.

Windows-WU-Reset3.jpg

После сохранения откройте файл от имени Администратора и дождитесь окончания процедуры, после чего перезагрузите компьютер.

Мы надеемся, что данная инструкция была Вам полезна и помогла решить вопрос Центра обновления Windows.

Будет интересно: Ошибка Windows 10: 0x80072f8f

—>

Как исправить ошибки обновлений WindowsВ этой инструкции опишу, как исправить большинство типичных ошибок обновления Windows (любой версии — 7, 8, 10) с помощью простого скрипта, который полностью сбрасывает и очищает настройки Центра обновлений. См. также: Что делать, если не скачиваются обновления Windows 10.

С помощью данного метода можно исправить большинство ошибок, когда центр обновления не загружает обновления или пишет, что произошли ошибки при установке обновления. Однако, стоит учитывать, что все-таки не все проблемы могут быть решены этим способом. Дополнительную информацию по возможным решениям можно найти в конце руководства.

Обновление 2016: если проблемы с Центром обновления у вас возникли после переустановки (или чистой установки) Windows 7 или сброса системы, то рекомендую сначала попробовать поступить следующим образом: Как установить все обновления Windows 7 одним файлом Convenience Rollup Update, а если не поможет — вернуться к этой инструкции.

Сброс центра обновлений Windows для исправления ошибок

Ошибка при обновлении Windows

Для того, чтобы исправить многие ошибки при установке и загрузке обновлений Windows 7, 8 и Windows 10, бывает достаточно полностью сбросить параметры центра обновлений. Я покажу, как сделать это автоматически. В дополнение к сбросу, предложенный скрипт запустит необходимую службу, если вы получаете сообщение о том, что Центр обновления не запущен.

Кратко о том, что происходит при выполнении нижеследующих команд:

  1. Останавливаются службы: Центр обновления Windows, Фоновая интеллектуальная служба передачи BITS, Службы криптографии.
  2. Служебные папки центра обновления catroot2, SoftwareDistribution, downloader переименовываются в catrootold и т.д. (которые, если что-то пошло не так, можно использовать как резервные копии).
  3. Все ранее остановленные службы снова запускаются.

Для того, чтобы использовать скрипт, откройте блокнот 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 

Сохранение bat файла в блокноте

После того, как файл создан, кликните по нему правой кнопкой мыши и выберите пункт «Запуск от имени администратора», вам будет предложено нажать любую клавишу для начала, после чего по порядку будут выполнены все необходимые действия (еще раз нажимаем любую клавишу и закрываем командную строку).

Запуск bat файла от имени Администратора

И, наконец, обязательно перезагрузите компьютер. Сразу после перезагрузки снова зайдите в Центр обновления и посмотрите, исчезли ли ошибки при поиске, скачивании и установке обновлений Windows.

Выполнение сброса Центра обновлений

Другие возможные причины ошибок при обновлении

К сожалению, не все возможные ошибки обновления Windows можно решить вышеописанным способом (хотя и многие). Если способ вам не помог, то обратите внимание на следующие возможные варианты:

  • Попробуйте установить DNS 8.8.8.8 и 8.8.4.4 в параметры Интернет-соединения
  • Проверьте, запущены ли все необходимые службы (их список приводился ранее)
  • Если у вас не работает обновление с Windows 8 до Windows 8.1 через магазин (Установка Windows 8.1 не может быть завершена), попробуйте сначала установить все доступные обновления через Центр обновлений.
  • Выполните поиск в Интернете по сообщаемому коду ошибки, чтобы узнать, в чем именно проблема.

На самом деле, разных причин, по которым не ищутся, не загружаются и не устанавливаются обновления, может быть множество, но, по моему опыту, представленная информация сможет помочь в большинстве случаев.

Центр обновления 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, для этого нам предлагается выполнить следующую последовательность действий:

  1. Откройте окно командной строки. Для этого нажмите и удерживайте (или щелкните правой кнопкой мыши) кнопку с эмблемой Windows на панели задач, а затем выберите пункт Командная строка (Администратор). Если включен Контроль учетных записей (UAC), то в появившемся окне Контроль учетных записей нажмите кнопку Да. Либо нажмите клавишу Пуск -> в строке поиска и введите команду cmd. В результатах поиска щелкните правой кнопкой мыши на пункте, в ниспадающем меню выберите пункт Запуск от имени администратора. Либо нажмите клавишу с эмблемой Win + R, введите в поле ввода открывшегося окна команду cmd и нажмите клавишу ВВОД.
  2. Остановите работу следующих служб: Фоновая интеллектуальная служба передачи (BITS), Центр обновления Windows, Удостоверение приложения, Служба криптографии и Узел агента SMS (если используется). Для этого в командной строке введите (последовательно) следующие команды:
  3. Удалите файлы очередей Фоновой интеллектуальной службы передачи (BITS) (файлы вида qmgr?.dat). Для этого введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:del «%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat»
  4. Установите для служб Фоновая интеллектуальная служба передачи (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)

  5. Только для систем, использующих SCCM (System Center Control Manager): удалите содержимое папки C:CACHEccmcache;
  6. Повторно зарегистрируйте файлы служб Фоновая интеллектуальная служба передачи (BITS) и Центр обновления Windows. Для этого в командной строке введите следующую команду:

    cd /d %windir%system32

    затем выполните серию команд:

  7. Перезапустите Windows Sockets (Winsock). С этой целью введите в командной строке приведенную ниже команду:netsh winsock reset
  8. Установите прямой (в обход прокси-сервера) доступ в Сеть для приложений, работающих через функции интерфейса WinHTTP (фактически протокол HTTP/1.1). Для этого измените параметры локальной настройки прокси-сервера. Если у вас операционная система Windows XP:proxycfg.exe -dЕсли у вас установлена другая (более новая) версия Windows:netsh winhttp reset proxy
  9. Запустите следующие службы: Узел агента SMS, Фоновая интеллектуальная служба передачи (BITS), Центр обновления Windows, Удостоверение приложения и Служба криптографии. Для этого в командной строке последовательно выполните следующие команды:
  10. Только для Windows Vista: очистите «список ожидания» Фоновой интеллектуальной службы передачи (BITS). Для этого выполните в командной строке команду:bitsadmin.exe /reset /allusers
  11. Установите последнюю версию агента Центра обновления Windows;
  12. Перезагрузите компьютер (операционную систему).

Автоматический сброс (скрипт)

Понятное дело что не всегда хочется вот так вот сидеть и руками вколачивать в командную строку кучу команд. Для самых ленивых (в том числе и для меня) предназначается следующий фрагмент скрипта:

Еще один вариант скрипта для операционной системы Windows 10:

Его можно закопипастить и сохранить в виде файла с именем (например) WindowsUpdateReset.bat.

Похожие записи:

Используемые источники:

  • https://windowsguide.ru/guides/windows-update-reset/
  • https://remontka.pro/windows-update-reset/
  • http://datadump.ru/windows-update-reset/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации