Как показывает практика, загрузка и установка обновления для Windows 7 не всегда заканчивается успешно. Очень часто такой процесс сопровождается если не крахом нелицензионной операционной системы, то появлением в ее работе различных проблем, например, выскакиванием системных сообщений об ошибке. Бывают они самыми разными. Однако анализируя компьютерные форумы, стоит признать, что чаще всего после попытки обновления операционной системы возникает ошибка с кодом 80070308. С ней-то мы и попробуем побороться. Благо, методов решения этой проблемы предостаточно.
Содержание
- Способ № 1: Исправление проблем в редакторе реестра
- Способ № 2: Выполняем проверку и отладку системы
- Способ № 3: Отладка с помощью настройки службы
- Способ № 4: Откат операционной системы
Способ № 1: Исправление проблем в редакторе реестра
После появления на экране монитора сообщения об ошибке 80070308 при установке обновления для Windows 7, в первую очередь, нужно проверить реестр системы. Сделать это можно так:
- с помощью нажатия клавиш
и R на клавиатуре вызываем утилиту «Выполнить», вводим для нее команду regedit и жмем OK:
- Далее в редакторе реестра Windows 7 находим папку HKEY_LOCAL_MACHINE, открываем COMPONENTS и удаляем в появившемся перечне файл PendingRequired:
- Теперь закрываем редактор реестра и отправляем компьютер на перезагрузку. После того как ОС полностью загрузится, входим в меню «Пуск», выбираем раздел «Панель управления», а в нем вкладку «Центр обновления Windows».
- После этого в открывшемся окошке слева жмем пункт «Поиск обновлений». Если все действия выполнены верно, сообщение об ошибке 80070308 при загрузке и установке обновлений на компьютер появится уже не должно.
Способ № 2: Выполняем проверку и отладку системы
Справиться с ошибкой 80070308 можно также с помощью сканирования и автоматической отладки работы операционной системы. Для этого указанным выше способом входим в утилиту «Выполнить», прописываем для нее команду sfc /scannow и жмем на клавиатуре Enter. В результате запустится процесс проверки Windows 7 на наличие ошибок и отладки ее работы:
После того как сканирование системы завершится, перезагружаем компьютер и повторно скачиваем апдейт.
Способ № 3: Отладка с помощью настройки службы
Справиться с ошибкой 80070308 на компьютерах с ОС Windows 7 можно также с помощью настройки соответствующей службы системы. В этом случае очередность действий будет такой:
- Открываем «Пуск», вводим в поисковую строку слово «Службы» и выбираем первый предложенный вариант:
- В открывшемся окошке находим службу «Центр обновления Windows» и останавливаем ее нажатием соответствующей кнопки слева:
- Сворачиваем системное окошко «Службы», входим в папку С:WindowsSoftwareDistribution и удаляем все данные, которые в ней находятся.
- Теперь повторно открываем окно «Службы», запускаем при помощи нажатия кнопки «Запустить» службу обновления Windows» и закрываем окошко.
- Последний шаг – входим в «Центр обновления Windows», загружаем обновления и устанавливаем их на компьютер.
В результате операционка обновится в автоматическом режиме, минуя все сообщения об ошибках.
Способ № 4: Откат операционной системы
Если ни один из указанных выше способов не сработал, для отладки работы ОС Windows 7 можно воспользоваться предусмотренной для нее компанией Microsoft функцией восстановления системы. Для этого:
- Открываем любым известным способом меню «Пуск», вбиваем в поисковую строку слово «Восстановление» и кликаем мышкой первый вариант из предложенного списка.
- В появившемся окошке нажимаем кнопку «Далее», затем выбираем нужную точку восстановления и вновь выбираем вариант «Далее»:
- В итоге для запуска процесса восстановления ОС Windows 7 жмем «Готово».
- После завершения процесса, входим в Центр обновлений и повторяем попытку загрузки и установки апдейтов.
Как показывает практика, ошибка 80070308 в результате таких настроек должна исчезнуть.
Пользователи различных версий ОС Windows могут сталкиваться с ошибкой 80070308. Возникает эта ошибка, как правило, во время установки обновлений для системы. Столкнулись с точно таким же кодом? Тогда вам жутко повезло, ведь сегодня мы рассмотрим с вами несколько методов решения этой ошибки.
Содержание
- Решение ошибки 80070308 при обновлении Windows
- Метод №1 Отключите сторонний антивирус
- Метод №2 Установка Microsoft .NET Framework
- Метод №3 Восстановление системы
- Метод №4 Сброс компонентов Центра обновления
Решение ошибки 80070308 при обновлении Windows
Сразу же хочется посоветовать вам выполнять нижеуказанные методы в том порядке, в котором они указаны. Начнем с чего-нибудь попроще и закончим уже «тяжелой артиллерией».
Метод №1 Отключите сторонний антивирус
Некоторые из вас многократно слышали, что антивирус может быть виновником в появлении различных проблем на ОС Windows. Антивирус легко может вызвать затруднения при обновлении системы. Отключите сторонний антивирус, если у вас такой установлен, а затем еще раз попробуйте запустить апдейт системы. На этот раз никакой ошибки 80070308 может и не быть.
Метод №2 Установка Microsoft .NET Framework
Если вы хотите получать все последние обновления для Windows, то у вас обязательно должна быть установлена последняя версия Microsoft .NET Framework. Перейдите по этой ссылке, дабы скачать к себе на компьютер веб-установщик Microsoft .NET Framework 4.7.
Далее дважды кликните на загруженный установщик и следуйте инструкциям на экране. Закончили? Теперь нам нужно проверить, установились ли все необходимые компоненты. Нажмите Win+R и выполните значение control panel. Откройте раздел «Параметры и компоненты» и кликните на строчку «Включение и отключение компонентов Windows».
Теперь найдите в списке NET Framework 4.7. и убедитесь, что он отмечен, а если нет — отметьте. Сохраните изменения и перезагрузите компьютер. Попробуйте запустить обновление Windows и проверьте, была ли исправлена ошибка 80070308.
Метод №3 Восстановление системы
А не устанавливали ли вы что-то на компьютер перед обновление Windows? Возможно, это «что-то» как раз и мешает нормальному апдейту системы. К счастью, тут на выручку идет точка восстановления, которая автоматически создается ОС, когда вы что-то устанавливаете в нее.
Нажмите Win+R и выполните значение rstrui. Перед вами покажется окошко восстановление системы. Выберите в нем точку, на время создания которой с вашей Windows не наблюдалось никаких проблем, и запустите процесс восстановления. Знайте, что ваш ПК может перезагружаться — это нормально.
Как только система будет восстановлена, зайдите в Центр обновления Windows и проверьте наличие ошибки 80070308.
Метод №4 Сброс компонентов Центра обновления
Сброс компонентов Центра обновления Windows — самый сложный и эффективный метод для решения подобных проблем. На его выполнение вам потребуется некоторое время и много терпения. Итак, нажмите Win+R, впишите значение cmd и нажмите комбинацию Ctrl+Shift+Enter.
Открыв перед собой Командную строку, планомерно начинайте вводить в нее все нижеуказанные команды:
- net stop bits
- net stop wuauserv
- net stop appidsvc
- net stop cryptsvc
- Del «%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat»
- Ren %systemroot%SoftwareDistribution SoftwareDistribution.bak
- Ren %systemroot%system32catroot2 catroot2.bak
- del /f /s /q %windir%windowsupdate.log
- 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)
- cd /d %windir%system32
- regsvr32.exe /U /s vbscript.dll
- regsvr32.exe /U /s mshtml.dll
- regsvr32.exe /U /s msjava.dll
- regsvr32.exe /U /s msxml.dll
- regsvr32.exe /U /s actxprxy.dll
- regsvr32.exe /U /s shdocvw.dll
- regsvr32.exe /U /s Mssip32.dll
- regsvr32.exe /U /s wintrust.dll
- regsvr32.exe /U /s initpki.dll
- regsvr32.exe /U /s dssenh.dll
- regsvr32.exe /U /s rsaenh.dll
- regsvr32.exe /U /s gpkcsp.dll
- regsvr32.exe /U /s sccbase.dll
- regsvr32.exe /U /s slbcsp.dll
- regsvr32.exe /U /s cryptdlg.dll
- regsvr32.exe /U /s Urlmon.dll
- regsvr32.exe /U /s Oleaut32.dll
- regsvr32.exe /U /s msxml2.dll
- regsvr32.exe /U /s Browseui.dll
- regsvr32.exe /U /s shell32.dll
- regsvr32.exe /U /s atl.dll
- regsvr32.exe /U /s jscript.dll
- regsvr32.exe /U /s msxml3.dll
- regsvr32.exe /U /s softpub.dll
- regsvr32.exe /U /s wuapi.dll
- regsvr32.exe /U /s wuaueng.dll
- regsvr32.exe /U /s wuaueng1.dll
- regsvr32.exe /U /s wucltui.dll
- regsvr32.exe /U /s wups.dll
- regsvr32.exe /U /s wups2.dll
- regsvr32.exe /U /s wuweb.dll
- regsvr32.exe /U /s scrrun.dll
- regsvr32.exe /U /s msxml6.dll
- regsvr32.exe /U /s ole32.dll
- regsvr32.exe /U /s qmgr.dll
- regsvr32.exe /U /s qmgrprxy.dll
- regsvr32.exe /U /s wucltux.dll
- regsvr32.exe /U /s muweb.dll
- regsvr32.exe /U /s wuwebv.dll
- regsvr32.exe /s vbscript.dll
- regsvr32.exe /s mshtml.dll
- regsvr32.exe /s msjava.dll
- regsvr32.exe /s msxml.dll
- regsvr32.exe /s actxprxy.dll
- regsvr32.exe /s shdocvw.dll
- regsvr32.exe /s Mssip32.dll
- regsvr32.exe /s wintrust.dll
- regsvr32.exe /s initpki.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 Urlmon.dll
- regsvr32.exe /s Oleaut32.dll
- regsvr32.exe /s msxml2.dll
- regsvr32.exe /s Browseui.dll
- regsvr32.exe /s shell32.dll
- regsvr32.exe /s Mssip32.dll
- regsvr32.exe /s atl.dll
- regsvr32.exe /s jscript.dll
- regsvr32.exe /s msxml3.dll
- regsvr32.exe /s softpub.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 scrrun.dll
- regsvr32.exe /s msxml6.dll
- regsvr32.exe /s ole32.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
- netsh winsock reset
- netsh winhttp reset proxy
- net start bits
- net start wuauserv
- net start appidsvc
- net start cryptsvc
Да, ввести нужно буквально все команды. Как только закончите, откройте Центр обновления Windows и запустите автоматический апдейт системы. На этот раз ошибка 80070308 определенно должна была исчезнуть.
30.01.2016
Просмотров: 6700
Загрузка обновлений для операционной системы Windows 7 является достаточно простой и не вызывает вопросов у пользователей. А вот установка, которая не всегда заканчивается успехом, может вызвать панику. Одной из распространённых ошибок Windows 7, возникнувшей в результате некорректного обновления, является 80070308. Как же её исправить и вернуть к работоспособности операционную систему?
Читайте также: Что делать, если в Windows 10 возникла ошибка 0х80070057?
Содержание:
- Решаем проблему с помощью редактора реестра
- Сканируем систему на наличие ошибок
- Отладка системы
- Восстановление системы
Решаем проблему с помощью редактора реестра
Если во время обновления системы появилось сообщение с указанием кода ошибки 80070308, стоит выполнить следующие действия.
Жмём «Win+R» и вводим «regedit».
Откроется редактор реестра. Переходим по ветке «HKEY_LOCAL_MACHINE», «COMPONENTS» и удаляем файл «PendingRequired».
Перезагружаем компьютер, чтобы изменения вступили в силу. После открываем «Панель управления», «Система и безопасность», «Центр обновления Windows» и запускаем установку обновлений повторно.
Сканируем систему на наличие ошибок
Сбой обновления может произойти из-за некорректной загрузки файла или его повреждения. Также система может иметь повреждённые системные файлы, что также является причиной сбоя обновления. Поэтому запускаем командную строку с правами администратора и вводим «sfc /scannow».
После проверки перезагружаем ПК и пробуем запустить обновление.
Отладка системы
Исправить ошибку 80070308 можно с помощью настройки специальной службы. Для этого жмём «Пуск» и в поисковую строку вводим запрос «Службы».
Находим «Центр обновления Windows».
Сворачиваем службу. Открываем «Мой компьютер», далее диск С, папку «Windows», «SoftwareDistribution». Удаляем все папки и файлы, которые в ней находятся.
Теперь разворачиваем окно «Службы» и запускаем «Центр обновления Windows». Для этого кликаем на службу, в новом окне выбираем «Автоматически» и «Запустить».
Переходим в «Центр обновления…» и запускаем процесс.
Восстановление системы
В случае, когда вышеуказанные способы не помогли решить проблему, стоит запустить восстановление системы. Для этого жмём «Win+R» и вводим «cmd».
Вводим команду «rstrui.exe».
Запустится восстановление системы. Следуем подсказкам, выбираем точку восстановления.
По завершении процесса, пробуем вновь запустить установку обновлений.
Get rid of the Windows update error 80070308 easily
by Hasibul Kabir
Hasibul Kabir is a Tech-Enthusiast Blogger, Web Developer & Hobbyist Game Developer. Writing about Technology, mainly Windows, Mac, iOS, etc., is his main focus, besides doing some computer… read more
Updated on April 4, 2023
Reviewed by
Alex Serban
After moving away from the corporate work-style, Alex has found rewards in a lifestyle of constant analysis, team coordination and pestering his colleagues. Holding an MCSA Windows Server… read more
- No matter which version of Windows you are using, the update error code 80070308 may appear anytime and prevent you from updating your system.
- Internal problems with update components or the reasons mentioned in this article could be the reason behind this error.
- Even though you can try disabling your antivirus to solve this problem, you may also need to follow other methods mentioned in this article.
XINSTALL BY CLICKING THE DOWNLOAD FILE
Fortect is a tool that does not simply cleans up your PC, but has a repository with several millions of Windows System files stored in their initial version. When your PC encounters a problem, Fortect will fix it for you, by replacing bad files with fresh versions. To fix your current PC issue, here are the steps you need to take:
- Download Fortect and install it on your PC.
- Start the tool’s scanning process to look for corrupt files that are the source of your problem
- Right-click on Start Repair so the tool could start the fixing algorythm
- Fortect has been downloaded by 0 readers this month.
Is the Windows update process stuck due to an error code 80070308? This article is the place where you will get the most precise solutions.
Usually, Windows updates downloading and installation process should work smoothly. But, sometimes, it doesn’t happen due to some errors. This type of problem may occur in modern Windows 11, 10, and even in old Windows 7 systems. One of the most common issues is the error code 80070308.
Why does the update error 80070308 occur?
Usually, this type of problem occurs due to the following reasons:
- Corrupted Update component: Windows maintains some components which are responsible for handling the update process. If some of these things get corrupted, you will encounter update errors.
- Bad internet connection: Sometimes, a bad internet connection also can cause the update error 80070308.
- Third-party Antivirus: Third-party AV programs are often responsible for creating unexpected Windows update-related problems.
- Internal Windows problems: Some internal problems with Windows can also be why you are getting the update error.
How can I fix the Windows update error code 80070308?
Before trying out solutions, we recommend a few things. These are:
- Make sure that your internet connection is OK.
- Disable your antivirus or uninstall it temporarily to see if it helps.
If, after doing these things, you are still getting the same Windows update error 80070308, go through these methods to fix your problem.
1. Run the Update troubleshooter
- Press Win + I on the keyboard to open Windows Settings.
- Go to System and click on Troubleshoot.
- Click on Other troubleshooters.
- Now, click on Run next to the Windows Update.
- Go ahead and complete any on-screen suggested steps.
- Restart your PC.
Troubleshooting is a ubiquitous way to solve update error code 80070308 on Windows. If you are using an old Windows OS, you will need to find the troubleshooting option on Control Panel.
2. Reset update component
- Open the Start Menu and type CMD.
- Right-click on Command Prompt and choose Run as Administrator.
- Run the following commands one by one:
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
- Now, navigate to the following location using File Explorer:
C:Windows
- Find the SoftwareDistribution folder.
- Rename the Software Distribution folder to something like SoftwareDistribution.bak.
- Similarly, go to the following location:
C:WindowsSystem32
- Rename the Catroot2 folder.
- Now, run these commands:
net start wuauserv
start stop cryptSvc
net start bits
net start msiserver
- Restart your PC.
3. Repair .Net component
- Press Win + R to open Run.
- Type the following command and hit Enter:
optionalfeatures
- Uncheck the .Net Framework-related services and click on OK.
- Restart your PC.
- Again, open the optional features Window and re-enable these services.
- Restart Windows again.
Often, resetting the .Net components solves update-related problems like update error 80070308. So, you can try it.
- What is Makecab.exe & How to Fix its High CPU Usage
- 0x80073cf6 Error Code: How to Fix It in 5 Steps
- How to disable website recommendation from browsing history
- Voice commands & cloud sync gain a huge boost in Windows 11
- Bugcheck 0x0000012B: How to Fix This BSoD
4. Try fixing using the registry
- Open the Start Menu, type Regedit, and hit Enter.
- Go to HKEY_LOCAL_MACHINE and expand Components.
- Now, find the DWORD value called pendingrequired and delete it or rename it to something else like pendingrequired.bak.
- Restart your PC.
Some PC issues are hard to tackle, especially when it comes to missing or corrupted system files and repositories of your Windows.
Be sure to use a dedicated tool, such as Fortect, which will scan and replace your broken files with their fresh versions from its repository.
If you don’t find that DWORD value, skip this method and follow the next ones.
5. Update manually
- Go to the Windows Update Catalog page.
- Find and download the relevant update.
- Install it on your PC.
In this way, you will be able to bypass the annoying Windows update error code 80070308. If you are facing this issue on Windows 7, learn how to download Windows 7 updates manually.
6. System Restore
- Open the Start Menu, search for Create a restore point, and click on System Properties.
- Click on the System Restore.
- Check the Choose a different restore point and click on Next.
- Select the restore point and click on Next.
- Click on Finish.
- Go ahead and follow the onscreen steps to complete the process.
If necessary, learn how to solve if the restore point is not working on Windows. Additionally, you also can take steps to repair corrupted Windows system files using SFC and DISM commands. It will help if any internal system file problems cause this update error.
Is the problem still bugging you? You can consider installing the latest Windows build manually using the media creation tool. If you are using Windows 7 or other old operating systems, We suggest you upgrade to the latest ones if your PC hardware can support it.
Microsoft has stopped supporting these operating systems. So, consider upgrading to Windows 11 or at least 10.
Is your Antivirus program the main culprit? You can switch to a different one, as you should not leave the system unprotected. We suggest you try any of these best Antivirus and Security programs.
This article has shown you how you can fix Windows update error code 80070308. Do you know any other method that can help others? You can let us know in the comment box.
Still experiencing issues?
SPONSORED
If the above suggestions have not solved your problem, your computer may experience more severe Windows troubles. We suggest choosing an all-in-one solution like Fortect to fix problems efficiently. After installation, just click the View&Fix button and then press Start Repair.
Время на прочтение
6 мин
Количество просмотров 254K
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 у нее есть единственное и очень специфическое решение — удалить ключ
HKLMComponentsPendingRequired=1
Перезагрузиться. Здесь важно не переусердствовать, не следует удалять никакие другие ключи в этом разделе, даже если они вам очень не нравятся, потому что после этого обновления прекратят ставиться навсегда.
Ошибка #3. Все другие ошибки
Практически 100% других ошибок может решить System Update Readiness Tool (SURT) из статьи support.microsoft.com/en-us/kb/947821
Скачиваете пакет для вашей системы, устанавливаете, читаете лог %windir%LogsCBSCheckSUR.log
и если он заканчивается примерно так:
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
Пользователя от работы отвлекать не потребуется, все сделаем удаленно. Создаем следующий командный файл и запускаем его:
set machine=BUHWKS02
xcopy Windows6.1-KB947821-v34-x64.msu \%machine%admin$temp
psexec -s \%machine% wusa "c:windowstempWindows6.1-KB947821-v34-x64.msu" /quiet /norestart
pause
где BUHWKS02 – целевая машина.
Когда скрипт отработает и встанет на паузу, проверяем %windir%LogsCBSCheckSUR.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:
winsxsmanifestswow64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.19091_none_c19fa2719495aca9.manifest
winsxsmanifestsamd64_microsoft-windows-capi2-weakcrypto_31bf3856ad364e35_6.1.7601.23290_none_5e936c9c5ce2e8e6.manifest
winsxsmanifestswow64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.23290_none_c22840d8adb43043.manifest
winsxsmanifestsamd64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.19091_none_b74af81f6034eaae.manifest
winsxsmanifestsamd64_microsoft-windows-capi2-weakcrypto_31bf3856ad364e35_6.1.7601.19091_none_5e0ace3543c4654c.manifest
winsxsmanifestsamd64_microsoft-windows-gdi32_31bf3856ad364e35_6.1.7601.23290_none_b7d3968679536e48.manifest
servicingpackagesPackage_2_for_KB3123479~31bf3856ad364e35~amd64~~6.1.1.0.mum
servicingpackagesPackage_2_for_KB3123479~31bf3856ad364e35~amd64~~6.1.1.0.mum
servicingpackagesPackage_for_KB3123479_SP1~31bf3856ad364e35~amd64~~6.1.1.0.mum
то будем исправлять.
2. Копируем эталонные файлы на целевую машину
Microsoft предлагает нам длинную, путанную процедуру с извлечением хороших файлов из обновлений и размещением их в определенные каталоги средства SURT. При этом пути в статьях неверные. Где-то и вовсе рекомендуют подкладывать оригинальные msu файлы.
Самый простой и правильный вариант следующий — скопировать эталонные файлы с рабочей системы:
*.mum and *.cat из C:WindowsservicingPackages складываются в %windir%TempCheckSURservicingpackages
*.manifest из C:WindowswinsxsManifests складываются в %windir%TempCheckSURwinsxsmanifests
Проблема в том, что битых файлов обычно десятки, и их очень сложно выбрать и скопировать. Тогда на помощь приходит следующий скрипт PowerShell (эталонной считается машина, с которой вы запускаете скрипт)
cls
$flag = $false
$destPC = "\BUHWKS02"
$log=get-content $($destPC + "admin$LogsCBSCheckSUR.log")
$MUMCATSource = "C:WindowsservicingPackages"
$MUMCATDest = $destpc + "admin$TempCheckSURservicingPackages"
$MANIFESTSource = "C:WindowswinsxsManifests"
$MANIFESTDest = $destpc + "admin$TempCheckSURwinsxsManifests"
If ((Test-Path -Path $MUMCATDest -PathType Container) -eq $false) {New-Item -Path $MUMCATDest -ItemType directory }
If ((Test-Path -Path $MANIFESTDest -PathType Container) -eq $false) {New-Item -Path $MANIFESTDest -ItemType directory}
foreach ($line in $log) {
if ($flag -eq $True){
if ($line.trim().Length -ne 0) {
$fileArray=$($line.Split(""))
$file = $FileArray[$FileArray.Length-1]
$extArray = $file.split(".")
$ext = $extArray[$extArray.length-1]
if ($ext -eq "manifest") {
Write-Warning $("Copying " + $($MANIFESTSource+$file)+" to " + $MANIFESTDest)
Copy-Item $($MANIFESTSource+$file) $($MANIFESTDest+$file)
}
if (($ext -eq "mum") -or ($ext -eq "cat") ) {
Write-Warning $("Copying " + $($MUMCATSource+$file)+" to " + $MUMCATDest)
Copy-Item $($MUMCATSource+$file) $($MUMCATDest+$file)
}
}
}
if ($line -eq "Unavailable repair files:") {$flag = $true}
}
Как видите, скрипт прост и может быть легко заточен напильником под вашу инфраструктуру.
3. Запускаем второй проход Windows6.1-KB947821-v34-x64.msu
После копирования файлов мы повторно запускаем SURT, используя командный файл из первого шага. При повторном запуске средство сможет подхватить скопированные нами эталонные файлы из %windir%TempCheckSUR и заменить ими испорченные.
Если мы сделали все правильно, то %windir%LogsCBSCheckSUR.log примет следующий вид:
=================================
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. Любопытная ошибка, связанная с неправильным клонированием машин и задвоением (затроением и т.д.) идентификаторов клиентов. Решается так:
net stop wuauserv
REG DELETE "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate" /v SusClientId /f
REG DELETE "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate" /v SusClientIdValidation /f
net start wuauserv
wuauclt /resetauthorization /detectnow /reportnow
Ошибка #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».
Удачного администрирования!