Исправляем ошибки установки обновлений Windows 7
Windows 7 по-прежнему остается популярной операционной системой в корпоративной среде, несмотря на то, что уже вышли две новые версии клиентских ОС. Расширенная поддержка «семёрки» закончится лишь 14 января 2020 г., а это значит, что ближайшие 4 года для нее будут выходить обновления, исправляющие обнаруженные уязвимости.
Существует правило – если есть обновления, то есть и проблемы с их установкой. Давайте разберем, какие основные проблемы возникают при обновлении Windows 7 через Windows Server Update Services (WSUS) и как их исправить с наименьшими затратами.
Ошибка #1. Failed to find updates with error code 80244010
Эту ошибку вы практически гарантированно будете наблюдать на любой системе, впервые обратившейся к серверу WSUS. В WindowsUpdate. log также встретится предупреждение:
WARNING: Exceeded max server round trips
Причина проблемы в том, что список обновлений стал слишком большим, и клиент не может принять его за один заход. Подробности — blogs. technet. microsoft. com/sus/2008/09/18/wsus-clients-fail-with-warning-syncserverupdatesinternal-failed-0x80244010
Какое решение предлагает Microsoft? Если после ошибки запустить повторный поиск обновлений, то процесс загрузки метаданных продолжится с момента возникновения ошибки. Терпение господа, терпение. Три, пять попыток wuauclt /detectnow – и все образуется. Не забудьте при повторном поиске дождаться окончания предыдущего цикла поиска, иначе магия не сработает!
Ошибка #2. Не устанавливаются обновления Windows с ошибкой 0x80070308
Встречается эпизодически, и в одном случае из 100 у нее есть единственное и очень специфическое решение — удалить ключ
HKLM\Components\PendingRequired=1
Перезагрузиться. Здесь важно не переусердствовать, не следует удалять никакие другие ключи в этом разделе, даже если они вам очень не нравятся, потому что после этого обновления прекратят ставиться навсегда.
Ошибка #3. Все другие ошибки
Проблема заключается в том, что во время установки обновлений в системе могут появиться битые файлы. Что является причиной — неисправная сеть, диск, оперативная память, сам Windows Update – выяснить не получится, а исправить ошибки для установки последующих обновлений придется.
Как правило, повреждаются *.cat, *.mum, *.manifest файлы. У кого-то повреждаются *.dll, но я на практике не сталкивался. И вроде бы средство SURT должно само исправить ошибки, поскольку внутри него есть огромный каталог эталонных файлов. Только в последний раз SURT обновлялся в октябре 2014 года, а исправлений на операционную систему с тех пор вышло бесчисленное множество, и многих файлов в каталоге не хватает.
Ниже я опишу последовательность действий, необходимых для исправления ошибок установки обновлений на Windows 7 x64 с использованием SURT. Для редакции x86 просто потребуется другой пакет SURT из KB947821.
Последовательность действий будет следующая.
1. Запустить первый проход Windows6.1-KB947821-v34-x64.msu
Пользователя от работы отвлекать не потребуется, все сделаем удаленно. Создаем следующий командный файл и запускаем его:
где BUHWKS02 – целевая машина.
Когда скрипт отработает и встанет на паузу, проверяем %windir%\Logs\CBS\CheckSUR. log
Если ошибок не найдено – дело не в битых обновлениях.
Если он заканчивается
то будем исправлять.
2. Копируем эталонные файлы на целевую машину
Microsoft предлагает нам длинную, путанную процедуру с извлечением хороших файлов из обновлений и размещением их в определенные каталоги средства SURT. При этом пути в статьях неверные. Где-то и вовсе рекомендуют подкладывать оригинальные msu файлы.
Самый простой и правильный вариант следующий — скопировать эталонные файлы с рабочей системы:
*.mum and *.cat из C:\Windows\servicing\Packages складываются в %windir%\Temp\CheckSUR\servicing\packages
*.manifest из C:\Windows\winsxs\Manifests складываются в %windir%\Temp\CheckSUR\winsxs\manifests\
Проблема в том, что битых файлов обычно десятки, и их очень сложно выбрать и скопировать. Тогда на помощь приходит следующий скрипт PowerShell (эталонной считается машина, с которой вы запускаете скрипт)
Как видите, скрипт прост и может быть легко заточен напильником под вашу инфраструктуру.
3. Запускаем второй проход Windows6.1-KB947821-v34-x64.msu
Теперь можно продолжить установку обновлений на целевую машину, например, следующими командными файлами:
set machine= BUHWKS02
psexec — i — s \\%machine% wuauclt /detectnow
pause
set machine= BUHWKS02
psexec — i — s \\%machine% wuauclt /updatenow
pause
Ошибка #4. Если SURT отработал нормально, а обновления все равно не ставятся
Попробуйте прибегнуть к старому приему – сбросить службу Windows Update в исходное состояние. Для этого необходимо удалить каталог %windir%\SoftwareDistribution.
Создаем файл WU-cleanupCMD. cmd:
net stop wuauserv
rmdir /s /q %windir%\SoftwareDistribution
net start wuauserv
wuauclt /detectnow
Запускаем:
set machine= BUHWKS02
psexec — c — s \\%machine% WU-cleanupCMD. cmd
pause
После этого возникнет Ошибка #1, но как бороться с ней мы уже знаем.
Ошибка #5
Клиент исчезает из консоли WSUS. Любопытная ошибка, связанная с неправильным клонированием машин и задвоением (затроением и т. д.) идентификаторов клиентов. Решается так:
Ошибка #6
Ошибка связана с нехваткой ресурсов в AppPool WSUS. Решение — снять лимит на потребляемую память. Как это сделать — статья.
Коротко: Открываем IIS, Application Pools, WsusPool, Advanced Settings.
Параметр Private Memory Limit устанавливаем в 0.
Продолжение темы настройки WSUS — в моей следующей статье: https://habrahabr. ru/post/329440/
PS:
Многие ошибки решены в новом клиенте WSUS:
1. KB3125574 «Windows 7 post SP1 Convenience Rollup Update». Внимательно ознакомьтесь с разделом Known issues!
Предварительно необходимо установить KB3020369 «April 2015 servicing stack update for Windows 7 and Windows Server 2008 R2».
Записки IT специалиста
Устраняем ошибки Windows Update при работе через прокси-сервер Squid
При работе с прокси-сервером Squid вы можете столкнуться с ситуацией, когда служба Windows Update или WSUS перестанут получать обновления. Ситуация действительно неприятная и проявляется она чаще всего уже «по факту», когда клиентские машины перестают получать обновления и нужно срочно принимать меры. Однако такое поведение службы обновления давно известно и отражено в документации. Сегодня мы разберем подробно причину возникновения ошибки и покажем возможные действия по ее устранению.
Внешнее проявление неисправности сводится к тому, что служба Windows Update не может загрузить обновления и сопровождается одним из кодов ошибки:
- 0x80244017
- 0x80244018
- 0x80244019
- 0x8024401B
- 0x80244021
Для ее возникновения требуется сочетание нескольких факторов: наличия в сети прокси-сервера с аутентификацией пользователей и службы WPAD. Неподготовленного администратора данная ошибка застает врасплох, однако существует статья KB896226, которая подробно проливает свет на проблему и способы ее решения:
Чтобы устранить эту проблему, убедитесь, что прокси-сервер или брандмауэр настроены для анонимного доступа к веб-сайту Центра обновления Windows.
Если коротко, то суть происходящих событий следующая: для доступа к серверам Центра обновлений система использует службу Windows HTTP (WinHTTP), которая в свою очередь поддерживает автоматическое получение настроек прокси через WPAD. Т. е. все запросы к серверам обновлений будут автоматически направлены на прокси, это не доставляет проблем до тех пор, пока прокси-сервер не начинает требовать аутентификации клиентов. Службы Windows Update не могут пройти аутентификацию и возникает проблема с получением обновлений.
Чтобы избавиться от этой ошибки следует выполнить рекомендации Microsoft и обеспечить анонимный доступ к серверам обновлений. Сделать это можно достаточно просто и несколькими способами. Рассмотрим их подробнее.
Squid
Система контроля доступа Squid дает в руки администратора мощный инструмент управления и этим следует пользоваться. Тем более что стоящая перед нами задача ничем не отличается от URL-фильтрации по спискам, о которой мы рассказывали ранее.
Создадим отдельный список для служб Windows Update:
и внесем в него следующие записи:
За его основу мы взяли список из KB896226 который актуализировали и дополнили исходя из собственного опыта и наработок коллег.
Теперь создадим элемент ACL для работы со списком:
Для того, чтобы обеспечить анонимный доступ к указанным ресурсам следует создать список доступа и разместить его раньше списков, требующих аутентификацию или производящих авторизацию, лучше всего сделать его одним из первых.
После чего перезапустите прокси-сервер и проверьте доступ к серверам обновлений, он должен восстановиться.
Существует также еще один вариант — направить трафик к серверам обновлений минуя прокси-сервер. В этом нам поможет протокол WPAD, точнее специальные правила в PAC-файле. На наш взгляд этот метод менее предпочтителен, но вполне имеет право на существование.
Для его реализации добавьте в файл wpad. dat следующие инструкции:
Изменения вступают в силу сразу, перезапускать службы не требуется.
При использовании данного метода следует принять во внимание еще один момент — если вы принимали меры по запрету обхода прокси, например, при помощи iptables, то следует явно разрешить соединения к серверам обновлений. На текущий момент указанным серверам соответствуют следующие IP-адреса:
Собственно, поэтому не рекомендуем данный способ, так как поддерживать один список доменных имен для Squid проще, чем два, тем более что соответствие доменных имен IP-адресам может меняться. В любом случае теперь вы понимаете источник проблемы и можете самостоятельно выбрать наиболее предпочтительный способ ее решения.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Исправить ошибку 80072EFE обновления в Windows 10/7
Основной причиной ошибки 80072EFE в центре обновления Windows является разрыв соединения между вашим компьютером и серверами microsoft. Это означает, что ошибка может быть из-за плохого интернета с вашей стороны или сервер microsoft временно не работают. Если ваше интернет-соединение прерывается, то может быть так, что вирус-руткит может быть виновником этой проблемы. Также, сторонние антивирусы и брандмауэры могут блокировать подключение к серверам по обновлению и тем самым вызывать ошибку.
Ошибка 80072EFE может появляться на Windows 7 и Windows 10 и дополняться следующим сообщением «Соединение с сервером было разорвано» и иметь код:
- ERROR_INTERNET_CONNECTION_ABORTED
- WININET_E_CONNECTION_ABORTED
- ERROR_WINHTTP_CONNECTION_ABORTED
Как исправить ошибку 80072EFE в Windows 10/7
- Подождите минут 7. Дело может быть в самих серверах Microsoft.
- Перезагрузите роутер (модем) и ПК.
- Отключите сторонний антивирус и брандмауэр и проверьте обновления.
- Воспользуйтесь антивирусным сканером .
- Если у вас есть программа или расширение в браузере VPN/Прокси, то отключите или удалите на время.
- Местные провайдеры дают свой нестабильный DNS. Измените DNS-адрес и сбросьте Winsock, TCP/IP, DNS .
Вы должны понимать, что ошибка 80072EFE по большей части связана с прерыванием интернет соединения, когда ваш компьютер не может стабильно подключаться к серверам Microsoft. По этому, уделите внимание сторонним программ, которые работают с сетевым соединением. Если выше, быстрые пункты не помогли вам решить проблему, то приступим к более радикальным способам.
1. Устранение неполадок
Запустите устранение неполадок сетевого адаптера и центра обновления Windows 10. Откройте «Параметры» > «Обновление и безопасность» > «Устранение неполадок» > справа «Дополнительные средства устранения неполадок«. В списке запустите следующую диагностику:
- Подключение к Интернету
- Сетевой адаптер
- Центр обновления Windows
2. Исправление для Windows 7, Windows 8 и Server
Если вы используете старые операционные системы как Windows 7, Windows 8.1 или серверные Windows Server 2012, Windows Server 2008 R2 SP1, то нужно вручную обновить агент обновления Windows, скачав с официального сайта Microsoft.
Для Windows 8 и Windows Server 2012:
- 32-разрядные версии Windows 8 ( KB2937636 )
- 64-разрядные версии Windows 8 ( KB2937636 )
- 64-разрядные версии Windows Server 2012 ( KB2937636 )
Для Windows 7 (SP1) и Windows Server 2008 R2 (SP1)
- 32-разрядные версии Windows 7 (SP1)
- 64-разрядные версии Windows 7 (SP1)
- 32-разрядные версии Windows Server 2008 R2 (SP1)
- 64-разрядные версии Windows Server 2008 R2 (SP1)
- Windows Server 2008 R2 (SP1) с архитектурой Itanium
3. Удаление папки Catroot2
В системной папке Catroot2 находятся подписи обновлений Windows. Любое повреждение подписи может вызвать ошибку 80072EFE в центре обновлений Windows. По этой причине нужно удалить эту папку. Чтобы удалить папку Catroot2 нужно сначала отключить службу, которая работает в этой папке. Приступим.
Шаг 1. Нажмите Win+R и введите services. msc, чтобы открыть службы. Далее найдите службу «Службы криптографии» и нажмите по ней два раза. В новом коне свойств нажмите на «Остановить«. Не закрывает это окно и перейдите ниже к шагу 2.
Шаг 2. Откройте проводник (Этот компьютер) и перейдите по пути C:\Windows\System32\. Найдите папку Catroot2 и удалите её.
Шаг 3. Мы остановили службу в шаге 1, чтобы была возможность удалить папку. Теперь нужно эту службу включить обратно. Приступите к шаг 1 и включите службу криптографии. Далее проверьте обновления.
4. Сброс папки SoftwareDistribution
Мы создадим новую папку SoftwareDistribution, которая отвечает за обновления в Windows 10. Только мы пойдем другим и более быстрым путем, чем выше с папкой Catroot2. Запустите командную строку от имени администратора и введите команды по очереди:
https://habr. com/ru/post/278439/
https://interface31.ru/tech_it/2016/06/ustranyaem-oshibki-windows-update-pri-rabote-cherez-proksi-server-squid. html
https://mywebpc. ru/windows/80072efe-update/