Что делать, если не устанавливаются обновления на Windows 7
Каждый продукт Windows имеет свой жизненный цикл. Он начинается, когда систему только выпустили и заканчивается, когда ее поддержка и исправления ошибок прекращаются. Не исключение и ОС Windows 7, которая будет получать обновления ещё пару лет. В этой статье мы подробно разберем основные причины, по которым не устанавливаются обновления в Windows 7 и как исправить эту проблему.
Описание проблемы
Компания Microsoft завершила поддержку ОС Windows 7 в 2015 году. Но несмотря на это, выход обновлений безопасности и исправлений системных ошибок продлится до января 2020 года. Поэтому проблема, когда обновления не запускаются, не загружаются или появляется их бесконечный поиск, довольно распространена и популярна.
Зачастую она связана с системными неполадками или сбоями разных компонентов или служб системы, но также не стоит исключать вирусы. Полная проверка компьютера на наличие угроз и дальнейшая очистка может помочь, но не дает 100% гарантии.
Почему не устанавливаются обновления Windows 7
Основные причины неисправностей загрузки и установки обновлений на ОС:
- Проблемы со скачиванием. Изначально файлы загружаются в кэш-память и сохраняются там, пока пользователь не разрешит их установку или не перезагрузит компьютер. При скачивании их с ошибками, установка обновлений на компьютер невозможна. К сожалению, при новой загрузке файлов апдейтов данные не обновляются.
- Неполадки реестра ОС Windows. Часто при инсталляции обновлений проблема скрывается в сбое настроек реестра или некорректных параметрах установленных в реестре.
- Сбой службы «Центр обновлений Windows».
- Отсутствие или ограниченный объем свободной памяти на системной диске. Довольно частая проблема, ведь при малом количестве необходимого пространства на жестком диске обновление не будет установлено или будет инсталлировано с ошибками.
- Отсутствие интернета или блокировка установленным антивирусом. Очень часто антивирус блокирует неизвестные ему файлы. Отключение его на время загрузки обновления решит данную проблему.
- Блокировка вирусом.
Что делать, если Windows 7 не обновляется
Если в Windows 7 не устанавливаются обновления или происходит их бесконечный поиск, первым делом необходимо воспользоваться утилитой от Microsot «Fix It». После ее запуска она автоматически исправит все неполадки, связанные с центром обновлений. Скачать утилиту можно с официального сайта по ссылке.
Рассмотрим основные методы исправления проблемы.
Очистка файлов в кэше
Если причина в скачивании обновлений с ошибками, необходимо очистить скачанные файлы апдейта, находящиеся в кэш-памяти. И только потом заново их скачать. Чтобы исправить ошибку, когда не устанавливаются обновления windows 7:
- Кликните по кнопке «Пуск» → напишите в поле поиска «Командная строка» → ПКМ по этому приложению → «Запуск от имени администратора».
- В появившемся окне введите по очереди команды:
net stop wuauserv
ren %windir%\SoftwareDistribution SoftwareDistribution.OLD
net start wuauserv - Выполните перезагрузку ПК, заново скачайте обновления и установите их.
Настройка реестра
Неполадка с реестром ОС решается с помощью удаления компонента, отвечающего за обновления. Выполните следующие действия:
- С помощью одновременного нажатия комбинации клавиш «Win+R» вызываем команду «Выполнить» → вводим «regedit» → «OK».
- Открываем раздел «HKEY_LOCAL_MACHINE» → ищем раздел «COMPONENTS» → клацаем ПКМ по пункту «PendingRequired» → «Удалить».
- Перезагружаем компьютер. Выполняем инсталляцию обновлений.
Запуск служб ОС
Если появляется отказ на установку обновления в Windows 7, проблема может находиться в службе системы и решается с помощью выполнения следующих действий:
- Нажмите «Пуск» → в поиск пишем «Службы» → открываем это окно.
- В появившемся окне ищем службу с названием «Центр обновления Windows». Если служба отключена, нажимаем «Запустить» и проблема будет решена.
- Если же служба запущена и работает, нажимаем «Остановить».
- Запускаем «Командную строку» нажатием «Win+R» → набираем команду «SoftwareDistribution» → «OK».
- В появившемся окне удаляем все папки и файлы.
- Далее запускаем службу «Центр обновления Windows» (пункт 2) и перезагружаем ПК.
- Переходим в центр обновлений и устанавливаем апдейты без предыдущих ошибок.
Если у вас какое-то определенное обновление не устанавливается (рассмотрен пример апдейта «kb2999226»), необходимо ввести название обновления в поле поиска на сайте, скачать его и установить на ваш компьютер.
В завершение статьи, если не устанавливаются обновления Windows 7 с пакетом sp1, самым действенным способом будет скачать его с сайта Microsoft по ссылке.
Если появились вопросы или данные способы не дали положительного результата, пишите в комментариях.
Исправляем ошибки установки обновлений 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. Все другие ошибки
Summary:
Seconds executed: 1164
Found 16 errors
Fixed 4 errors
Проблема заключается в том, что во время установки обновлений в системе могут появиться битые файлы. Что является причиной — неисправная сеть, диск, оперативная память, сам 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
Если ошибок не найдено – дело не в битых обновлениях.
Если он заканчивается
Summary:
Seconds executed: 1164
Found 16 errors
Fixed 4 errors
CSI Manifest All Zeros Total count: 6
CSI Catalog Corrupt Total count: 3
Fixed: CSI Catalog Corrupt. Total count: 3
CBS MUM Corrupt Total count: 3
CBS Catalog Corrupt Total count: 3
CSI Catalog Thumbprint Invalid Total count: 1
Fixed: CSI Catalog Thumbprint Invalid. Total count: 1
Unavailable repair files:
winsxs\manifests\wow64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.19091_none_c19fa2719495aca9.manifest
winsxs\manifests\amd64_microsoft-windows-capi2-weakcrypto_31bf3856ad364e35_6.1.7601.23290_none_5e936c9c5ce2e8e6.manifest
winsxs\manifests\wow64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.23290_none_c22840d8adb43043.manifest
winsxs\manifests\amd64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.19091_none_b74af81f6034eaae.manifest
winsxs\manifests\amd64_microsoft-windows-capi2-weakcrypto_31bf3856ad364e35_6.1.7601.19091_none_5e0ace3543c4654c.manifest
winsxs\manifests\amd64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.23290_none_b7d3968679536e48.manifest
servicing\packages\Package_2_for_KB3123479
то будем исправлять.
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
=================================
Checking System Update Readiness.
Binary Version 6.1.7601.22471
Package Version 26.0
2016-03-03 09:15
Checking Windows Servicing Packages
Checking Package Manifests and Catalogs
Checking Package Watchlist
Checking Component Watchlist
Checking Packages
Checking Component Store
Summary:
Seconds executed: 1435
No errors detected
Теперь можно продолжить установку обновлений на целевую машину, например, следующими командными файлами:
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
GetCookie failure, error = 0x8024400D, soap client error = 7, soap error code = 300, HTTP status code = 200
SyncUpdates failure, error = 0x80072EE2, soap client error = 5, soap error code = 0, HTTP status code = 200
Windows Update Client failed to detect with error 0x80072ee2
Ошибка связана с нехваткой ресурсов в 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».