Установка обновлений на «устаревшие» ОС Windows
Microsoft в соответствии с жизненным циклом своих операционных систем постоянно отбрасывает тянущийся за ней хвост поддержки устаревших ОС — уже давно «отстреляна» Windows XP (8 апреля 2014) и Windows Vista (11 апреля 2017), и даже Windows 7 в этом году удостоился той же судьбы (14 января 2020). Ну и по серверным версиям: 14 июня 2015 прекращена поддержка Windows Server 2003 , и в то же 14 января 2020 г. завершилась поддержка Windows Server 2008 и 2008 R2 .
Единственной актуальной десктопной версией Windows остаётся Windows 10 , хотя для Windows 8.1 ещё действует расширенная поддержка (до 10 января 2023 г.), но основная уже прекращена ещё 9 января 2018 г. Также и по серверным версиям, актуальной ещё остаётся Windows Server 2016 (основная поддержка закончится только 11 января 2022) и, естественно, новая Windows Server 2019 (она же по сути 2016 R2).
Естественно, работать на устаревших ОС, не получающих новых обновлений безопасности попросту опасно, но для домашнего использования многие на это забивают — мол, ничего страшного не случиться. Опасное заблуждение, но, в принципе, при соблюдении определённых правил (антивирус, брандмауэр, подключение к интернету через роутер со своей защитой, регулярный бэкап собственных данных в «облака» и на оффлайновые носители) жить можно. Вот и мне тут принесли древний ноутбук от ASUS, который хотелось бы вернуть замусоренную разными программами Windows Vista в нормальное, изначально чистое состояние.
Я-то, конечно, сразу предложил установить на него ради эксперимента Linux Mint , но предложение было отвергнуто: нужно было специальное ПО, которое есть только под Windows, т.е. предполагалось не совсем домашнее применение. Хотя какая там работа может быть на Core 2 Duo P8400 с 3 Гб оперативной памяти (ОС 32 битная) — ну не знаю.
Восстановить систему удалось быстро и легко: сохранился комплект из DVD-диска восстановления и диска с драйверами для ноутбука. Всё отлично отработало и представило Windows Vista с первым сервис-паком. Вот всё бы ничего, но мало того, что сама система древняя, так и практически чистая, даже без второго сервис-пака. Ну Service Pack 2 удалось скачать с официального сайта (попробуйте, кстати, найти на официальном сайте дистрибутив самой Висты), и даже Internet Explorer 9 удалось скачать и установить. А вот дальше начались сложности: Центр обновления Windows показывал фигу (точнее ошибку с кодом 80244019). Точнее сначала он обновился до версии 7.6.7600.256 ( последней для Windows Vista ), а потом стал уже показывать эту ошибку:
Я и до этого сталкивался с проблемами обновления свежеустановленных ОС: и с Windows 7 и с Windows Server 2012, но там ошибка была в другом — центр обновления никак не мог за вменяемое время собрать хотя бы список этих обновлений и помогал иногда сброс настроек центра обновлений , а иногда накатка определённого количества обновлений вручную (по списку), а затем и центр обновления начинал с трудом, но ворочаться, выполняя свою функцию. Но тут подобный подход не помог: ни установка рекомендуемых кем-то патчей , ни обновления корневых сертификатов, ни установка обновлений часового пояса и перехода на летнее время .
Ну и это логично, если полезть в логи и почитать что там написано. А написано там про ошибку доступа (404 код ошибки) к определённому адресу интернет-службы:
Вот она, ключевая точка:
PT + ServiceId = <9482F4B4-E343-43B6-B170-9A65BC822C77>, Server URL = https://www.update.microsoft.com/v6/ClientWebService/client.asmx
PT WARNING: GetConfig failure, error = 0x80244019, soap client error = 10, soap error code = 0, HTTP status code = 404
PT WARNING: PTError: 0x80244019
Я сначала подумал что из-за каких-то сетевых проблем ноутбук не может достучаться до службы обновлений, но поскольку картина на ПК с Windows 10 такая же:
То, похоже, проблема именно в том, что ресурса такого уже нет: вот что значит — прекращение поддержки — даже центр обновлений уже не работает. Но может быть проблема в этом:
Улучшения в версии 7.6.7600.256 агента Центра обновления Windows
* Усиленная инфраструктура, в которой клиент Центра обновления Windows доверяет только файлам, подписанным с помощью нового сертификата. Сертификат используется только для защиты обновлений для клиента Центра обновления Windows.
* Более безопасный канал связи для клиента Центра обновления Windows
Хотя я обновлял корневые сертификаты и списки отзывов, да и на другом ПК такая же картина, так что мимо. Но версию поновее установить уже не получится, поскольку:
Последняя версия агента Центра обновления для Windows 7, Windows Vista и Windows XP — 7.6.7600.256.
В интернете я не смог найти информацию по данной проблеме, поэтому пришлось разбираться самому. Что делать-то? Надо устанавливать обновления вручную, все по списку, от начала и до конца. Но руками это делать долго, да и где взять полный список нужных обновлений? Если же просто идти в каталог Центра обновлений Майкрософт и искать там всё, что связано с Windows Vista, то он отобразит только 1000 строк и далее уже не пролистать.
Так что нужен какой-то автоматизированный способ, который и найдёт, и закачает и установит необходимые обновления. Для Windows 7 и Windows Server 2008 R2 такую программу я использовал и использовал удачно: UpdatePack7R2 , но вот для Windows Vista она не подходит. Зато нашлась более универсальная: WSUS Offline Update . В версии 12 я не нашёл Windows Vista:
Зато в версии 11 ESR нужная версия была (пусть и под названием серверной ОС Windows Server 2008, для нас главное что «w60»):
Поэтому ставим нужные галки и сохраняем всё в отдельную папку (например, c:\wsus ). После завершения закачки идём в эту папку и с правами администратора запускаем файл Update.cmd :
После длительного процесса установок пачки патчей (у меня получилось примерно 150 штук и 4 Гб), перезагружаем ПК и получаем Windows Vista обновлённую максимально возможным способом.
Windows — как принудительно запустить автоматическое обновление
Чтобы в Windows XP принудительно запустить автоматическое обновление, вводим в командной строке
Эта команда инициирует агента WSUS для проверки имеющихся обновлений и немедленной установки.
Очищаем все данные и настройки, принудительно запускаем обновление:
Другие ключи
Поиск обновлений
Посмотреть какие обновления установлены на компьютере можно командой:
Поиск определенного обновления:
Get-WmiObject
PowerShell также позволяет просмотреть установленные обновления. Сделать это можно с помощью командлета Get-WmiObject, например:
Как видите, команда несколько сложнее и требуется дополнительно отформатировать вывод, однако результат такой же, как и у утилиты wmic. Что неудивительно, так как в обоих случаях данные получаются путем обращения к WMI классу win32_quickfixengineering. Обратите внимание, что он содержит данные только об обновлениях операционной системы и ее компонентов. Получить информацию об обновлениях для других продуктов MS (Office, Exchange и т.п) таким образом не получится.
Get-SilWindowsUpdate
В Windows Server 2012 R2 имеется модуль SoftwareInventoryLogging, предназначенный для инвентаризации установленного ПО. В состав этого модуля входит командлет Get-SilWindowsUpdate, с помощью которого также можно посмотреть установленные обновления. Например:
Этот командлет также использует WMI запрос к классу MsftSil_WindowsUpdate. Get-SilWindowsUpdate очень прост и удобен в использовании, но к сожалению доступен он далеко не везде. Модуль SoftwareInventoryLogging присутствует только в серверных ОС начиная с Windows Server 2012 R2 с установленным обновлением KB3000850.
Microsoft Update Client Install History
Еще один вариант поиска обновлений — просмотр истории клиента обновления. Например:
Способ (в отличие от предыдущих) достаточно громоздкий, однако позволяет найти информацию об всех обновлениях обновления (как самой ОС, так и доп. приложений). Таким образом можно найти обновления, которые были установлены с помощью системы автоматического обновления. Если обновления были загружены и установлены вручную (или с помощью каких либо пользовательских сценариев), то таким образом найти их не удастся.
- software/microsoft/automatic-updates.txt
- Последние изменения: 2019/02/21 12:46
- —
fireball
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
Как переустановить службу обновлений в Windows XP / Vista / 7 / 8 / 2003 / 2008 / 2012
Если у Вас не загружаются обновления в Windows, выдавая различные ошибки, то Вы можете попробовать переустановить службу обновлений Windows, т.е. вернуть к исходному состоянию Windows Update.
Для этого Вам необходимо пройти несколько этапов:
1. Остановите службы обновления Windows
Для остановки службы Windows Update (и связанных с ней служб) выполните из командной строки от имени администратора:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
2. Удалите файлы обновлений Windows
2.1 Удалите файлы qmgr*.dat.
Удалите файлы qmgr*.dat. Для этого в командной строке введите следующую команду:
Del «%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat»
2.2 Удалите загруженные обновления (не обязательно)
Этот пункт выполнять не обязательно, поскольку все эти файлы будут удалены при выполнении следующего (3-го) этапа.
Del %systemroot%\SoftwareDistribution\DataStore\DataStore.edb
Del /Q %systemroot%\SoftwareDistribution\DataStore\Logs\*.*
Del /Q /S %systemroot%\SoftwareDistribution\Download\*.*
3. Переименуйте резервные копии папок распространения программного обеспечения
Если это первая попытка устранить проблемы с Центром обновления Windows, выполняя действия, описанные в этой статье, следует пропустить этот этап и переходить к следующему этапу. Необходимо выполнить этот этап только в том случае, если Вам не удается разрешить ваши проблемы с Центром обновления Windows после выполнения всех действий, за исключением данного этапа.
Выполните из командной строки (от имени администратора):
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
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. Перерегистририруйте файлы службы BITS и центра обновления Windows
Повторно зарегистрируйте файлы службы BITS и центра обновления Windows. Для этого выполните в командной строке от имени администратора:
cd /d %windir%\system32
regsvr32 /s atl.dll
regsvr32 /s urlmon.dll
regsvr32 /s mshtml.dll
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s jscript.dll
regsvr32 /s vbscript.dll
regsvr32 /s scrrun.dll
regsvr32 /s msxml.dll
regsvr32 /s msxml3.dll
regsvr32 /s msxml6.dll
regsvr32 /s actxprxy.dll
regsvr32 /s softpub.dll
regsvr32 /s wintrust.dll
regsvr32 /s dssenh.dll
regsvr32 /s rsaenh.dll
regsvr32 /s gpkcsp.dll
regsvr32 /s sccbase.dll
regsvr32 /s slbcsp.dll
regsvr32 /s cryptdlg.dll
regsvr32 /s oleaut32.dll
regsvr32 /s ole32.dll
regsvr32 /s shell32.dll
regsvr32 /s initpki.dll
regsvr32 /s wuapi.dll
regsvr32 /s wuaueng.dll
regsvr32 /s wuaueng1.dll
regsvr32 /s wucltui.dll
regsvr32 /s wups.dll
regsvr32 /s wups2.dll
regsvr32 /s wuweb.dll
regsvr32 /s qmgr.dll
regsvr32 /s qmgrprxy.dll
regsvr32 /s wucltux.dll
regsvr32 /s muweb.dll
regsvr32 /s wuwebv.dll
6. Сбросьте Winsock
Сбросьте Winsock. Для этого в командной строке введите следующую команду (от имени администратора):
netsh winsock reset
7. Настройте параметры прокси-сервера (в WinHTTP)
7.1 Windows XP
Если используется Windows XP, необходимо настроить параметры прокси-сервера. Для этого в командной строке введите следующую команду:
proxycfg.exe -d
7.2 Windows Vista/7/8/2008/2012
Для сброса настроек прокси-сервера WinHTTP выполните следующую команду от имени администратора:
netsh winhttp reset proxy
8. Запустите службы BITS, центра обновления Windows и криптографии
Для запуска служб, связанных с обновлением Windows, выполните следующие команды:
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
9. Установите последнюю версию агента Центра обновления Windows
Для установки последней версией агента обновления Windows воспользуйтесь статьей Microsoft KB949104.
10. Перезагрузите компьютер
Итог: Автоматизируем процесс переустановки обновлений
Для автоматического выполнения всех вышеуказанных действий воспользуйтесь готовым BAT файлом, который выполняет ПОЛНУЮ переустановку всех компонентов Windows Update (включая 3-й этап — переименование/удаление папок распространения программного обеспечения).
В качестве источников для данной статьи использовались: