Удаление обязательных обновлений.

Довольно часто бывает так, что после какого-то обновления перестает работать видеокарта, или пропадает звук, или еще какие-нибудь сюрпризы. С компьютером никогда не соскучишься, разве что не включать его вовсе. Если вы привыкли только работать на компьютере, а не искать приключения на свою пятую точку, такие сюрпризы вряд ли вас порадуют. В таком случае вам необходимо либо все обновления, либо научиться удалять проблемные.

Отключать обновления я вам не советую, если конечно у вас лицензионная версия Windows, т.к. бывают очень нужные и полезные, особенно обновления по безопасности. Разработчики не сидят на месте, и постоянно делают так называемые «заплатки» для «дырявых» приложений. Иногда такие «заплатки» лучше всяких антивирусов, поэтому пренебрегать ими не стоит.

Но если после очередного обновления что-то пошло не так, то это всегда можно исправить. Достаточно просто удалить то обновление, после которого пошли сбои в работе вашей системы. Тем более, что делается это легко и быстро.

Как удалить обновления в Windows 7

Для этого необходимо перейти в меню Пуск , кликнуть по ссылке Панель управления .

В открывшемся окне Панели управления находим ссылку Система и безопасность , и кликаем по ней левой кнопкой мыши.

Откроется список обновлений с их описанием и датой установки. Находим то обновление, после которого у наша система заартачилась (обычно это последнее обновление), выделяем мышкой эту запись, и нажимаем выше (на сером фоне) на кнопку Удалить .

Пока не выделите строку с обновлением, у вас эта кнопка Удалить не будет видна.

Если что-то не понятно, то посмотрите видеоролик Как удалить обновление в Windows 7:

Как видите, все действительно легко и просто. Так что, если вас «достало» какое-то из обновлений, то можете смело перейти в Панель управления и удалить его.

Если есть необходимость, то можете удалить все обновления. От этого ваша система не пострадает, работала же она без обновлений. Но лучше этого не делать. Возможно, что на этих обновлениях уже установлена какая-то ваша игра или программа, и после удаления всех обновлений, опять же, что-то может пойти не так.

Вообще старайтесь делать только то, в чем вы уверены, и что точно знаете, что вам это надо. И перед каждым своим шагом, не забывайте создавать , чтобы потом не кусать локти и не обвинять кого-то в своих неудачах.

В октябре Microsoft выпустила ряд обновлений для пользователей своих продуктов, некоторые из них привели к , но есть одно обновление, появление которого уже очень долгое время ждали все поклонники Windows 7. Речь идет об обновлении KB2852386 (http://support.microsoft.com/kb/2852386), позволяющем удалять устаревшие обновления (обновления, которые были заменены на более новые обновлений) с помощью нового параметра стандартного мастера очистки диска Windows 7 — Windows Cleanup Tool (cleanmgr.exe ) . Данное обновление не является обязательным, его можно установить через службу Windows Update или, скачав вручную с сайта Microsoft.

Напомним, что в Windows 7 при установке любого системного обновления, системные файлы заменяются новыми, а их старые версии сохраняются в каталоге WinSxS (C:\Windows\WinSxS). Благодаря такому подходу в любой момент можно безопасно удалить любое системное обновление. Однако, этот подход приводит к тому, что со временем по мере установки новых обновлений, каталог WinSxS существенно увеличивается в размерах (получается, что чем больше возраст системы и чем большее количество обновлений установлено – тем больше размер папки WinSxS), что не может не волновать пользователей, особенно счастливых обладателей SSD дисков и дисков с небольшим размером системного раздела. Ранее в Windows 7 отсутствовала штатная утилита удаления файлов устаревших обновление, поэтому чтобы уменьшить размер папки WinSxS приходилось прибегать к различным трюкам.

Примечание . В Windows 7/2008 можно было удалить неиспользуемые файлы, которые остались после установки SP1. Сделать это можно было с помощью следующей команды любимой нами утилиты DISM: dism /online /cleanup-image /spsuperseded

Естественно, что после выполнения данной команды откатить установку Windows 7 SP 1 станет невозможно.

Теперь благодаря обновленной версии мастера очистки Windows 7 можно удалить устаревшие обновления Windows, что позволит существенно уменьшить размер папки WinSxS.

Требования к установке обновления KB2852386

  1. Обновление предназначено только для
  2. Если вы скачиваете обновление самостоятельно с сайта Microsoft (ссылка есть в начале статьи), вас попросят запустить утилиту проверки подлинности Windows (Genuine Windows Validation). При установке обновления через центр установки обновлений, ручную валидацию выполнять не придется.

Как в Windows 7 очистить папку WinSxS, удалив устаревшие обновления

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

Как автоматизировать очистку папки WinSxS

В том случае, если необходимо провести удаление неиспользуемых обновлений Windows 7 сразу на множестве машин (не бегать же по всем и не выполнять все эти операции вручную!), прибегнем к простой автоматизации.

Для этого нам нужно внести определенные изменения в реестр и по расписанию запускать команду очистки.

В реестр нужно добавить параметр типа DWORD с именем StateFlags0011 (по сути две последние цифры могут быть любыми в диапазоне от 0 до 65535, главное запомнить их, т.к. в дальнейшем мы будет их использовать) и значением 2 в ветку реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Update Cleanup

Совет . Указанное изменение в реестр можно внести, например, с помощью групповых политик (логон скрипт, GPP и т.п.).

Осталось любым средством автоматизации (напрмиер, с помощью планировщика заданий schtasks, at, SCCM или logon скрипта) выполнить команду:

Cleanmgr /sagerun:11

Указанная команда запустит автоматическое удаление устаревших обновлений Windows 7 и удалит неиспользуемые файлы из каталога WinSxS

Совет . Логично было бы запускать данное обновление 1 раз в месяц, например каждый первый понедельник месяца, т.е. перед очередным .

А как же Windows 8?

В Windows 8 и 8.1 мастер очистки устаревших обновлений (Windows Update Cleanup) является штатной фичей.

Любой человек, услышавший в первый раз слово “обновления”, скажет, что это определённые меры, направленные на улучшение продукта. Их задача - исправление багов и недоработок в любой программе, необязательно в Windows 7. Например, спустя год после выпуска приложения, компания решила улучшить интерфейс и выпустила пакет обновлений, которые пользователь должен скачать и установить, после чего он увидит эти изменения.

Апдейты в Windows 7 обычно направлены на исправление проблем безопасности, совместимости операционной системы с драйверами и программами. Сюда же входят проблемы совместимости с программами, требующие установки программной платформы Microsoft .Net Framework и т.п.

К сожалению, без проблем с обновлениями не обойтись - спустя некоторое время они становятся неактуальными, поскольку появляются новые, заменяющие их. В связи с этим возникает “свалка” в разделе с установленными обновлениями, да и на жёстком диске хочется иметь побольше свободного места.

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

Проблемы, которые могут возникнуть при деапдейте

Рекомендуется создать точку восстановления системы , поскольку способы, рассмотренные в этой статье могут привести к неприятным последствиям, например, определённые программы могут отказать в работе, ОС может начать "тормозить", вследствие чего возможен сбой системы и т.п. Единственный способ исправить это: откатить Windows 7 до момента, когда апдейты были установлены.

Не все обновления будут удалены, а только те, которые не требуют действий от пользователя. Оставшиеся апдейты придётся деинсталлировать вручную.

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

Удаление обновлений Windows 7 через батник

Знаете метод удаления обновлений через командную строку? Так вот, этот способ упрощает его: теперь вы не будете каждый раз прописывать команду “wusa.exe/uninstall/ номер обновления” - все возможные апдейты будут автоматом удалены с вашего компьютера.

Создадим файл с расширением.bat (батник). Для этого в блокноте пропишите следующий код:

@echo off
color 0A
mode con: cols=40 lines=12
setlocal enabledelayedexpansion
Set templist=%TEMP%\listTMP.txt
set list=%USERPROFILE%\Desktop\uninstall_updates.cmd

echo.
echo.
echo Please wait
echo.
echo.

if exist %templist% del %templist%
if exist %list% del %list%

wmic qfe get hotfixid>>%templist%

call:1 "KB" "KB:"
echo DONE
timeout /t 3 /nobreak > nul
exit /b

:1
for /f "tokens=1* delims=]" %%a in ("find /v /n "" ^<"%templist%"") do (
if not "%%b"=="" (set line=%%b) else (set line=not)

set newline=!line:%~1=%~2!
set newline=!newline:not=!

echo wusa.exe /uninstall /!newline!/quiet /norestart>>%list%
::set templist=%list%
goto:eof

Затем сохраните, указав в конце имени файла.bat, выбрав “Все файлы”. После его запуска на рабочем столе появится uninstall_updates.exe. Для начала процедуры удаления обновлений запустите его и ждите завершения процесса (окно с командной строкой автоматически закроется).


В моём случае, когда программа закончила свою работу, осталось только 90 модификаций из 233. Можно смело говорить - частично её задача выполнена. Перезагрузите компьютер для перенастройки Windows.


Удаление обновлений с помощью Revo Uninstaller

Для завершения процесса удаления обновлений нам потребуется программа Revo Uninstaller. Можете купить её на сайте разработчика за $39 или же скачать где-нибудь, дело ваше.

После запуска Revo Uninstaller мы видим список программ, доступных для удаления, но апдейтов здесь нет. Чтобы исправить это, в верхнем меню щёлкните по вкладке “Инструменты” и выберите раздел с параметрами (Alt + O). В панели навигации слева щёлкните по пункту “Все программы” и отметьте флажком необходимые настройки: показывать системные обновления, показывать компоненты системы, нажмите “ОК” и можно заметить значительные изменения в списке программ - появятся приложения, название которых будет содержать номер обновления.

Выделите их и нажмите “Удалить”. Конечно, этот способ требует определённых действий от пользователя, но зато не придётся вручную кликать на каждом компоненте в центре апдейтов Windows 7.

Можно ли удалять обновления? По многим причина возникает необходимость в удалении обновлений Windows 7. Часто бывает так, что после автоматической установки обновления, перестаёт работать какая либо из программ, оборудование стало работать хуже из-за перегруза или стали появляться ошибки.

Причины могут быть разнообразными: бывают такие обновления которые вносят непосредственно изменения в ядро самой операционной системы Windows 7, что влечёт за собой сбой работы драйверов. Причин и вариантов может быть масса. Конечно, лучше не трогать обновления которые устанавливаются на ваш компьютер, они как правило полезные для операционной системы, но всё же для предотвращения негативных последствий мы рассмотрим основные способы их удаления.

Как удалить обновления

Удаление обновления через панель управления

Если вам необходимо удалить обновления в последних версиях Windows 7, вы можете это сделать в соответсвуещем пункте в Панели управления:

1. Вам необходимо зайти в панель управления и найти пункт «Центр обновления Windows ».

2. Вторым вашим шагом станет необходимость найти ссылку «Установленные обновления».

4. Вам необходимо выбрать обновления Windows 7, и нажимаете удалить, после вы подтверждаете удаление обновления.

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

Удалить обновление через командную строку

В системе Windows имеется специальный инструмент «Автономный установщик обновлений». Если вы его вызовите через командную строку (пуск, выполнить, cmd, Enter)

вы так же сможете удалить обновление из Windows 7. Для этого вам необходимо использовать команду следующего типа: wusa.exe /uninstall /kb:2222222. В данной команде kb:2222222 – это идентификационный номер обновления которые вам необходимо удалить.

В заключении я скажу — что мы рассмотрели основные принципы и этапы удаления обновления на вашей ОС, но если вы не хотите заморачиваться, а обновления для вас не столь важны — вы можете попытаться полностью отключить автоматическое обновления Windows 7.

Название Удаление обязательных обновлений не до конца раскрывает смысл описываемого в статье, поскольку не совсем понятно, что именно имеется в вижу под термином "обязательный". Материал можно было бы озаглавить как Удаление неудаляемых обновлений , но тогда не совсем понятно, по каким причинам они вдруг стали неудаляемыми: по воле разработчика или из-за ошибок с хранилищем компонентов. Есть еще вариант обозначить как удаление обновлений, не предназначенных для удаления, но это как-то избыточно, что ли.
Совсем недавно открыл для себя одну любопытную особенность некоторых обновлений: они не удаляются стандартными средствами операционной системы. На практике возникла ситуация, в которой я никак не мог удалить из системы "битое" обновление. По мере углубления в тематику вопроса выяснилось, что в Windows существуют разные типы обновлений, и что частный случай невозможности удаления некоторых из них вовсе не является следствием какой-либо локальной ошибки, а отражает скорее особенность. Судя по всему, объясняется это архитектурными нюансами механизма обновлений. На практике сложно создать такую систему взаимосвязей обновлений, в которой каждое обновление будет полностью автономно, то есть независимо от остальных, и, соответственно, может быть удалено без каких-либо последствий. Но еще более важно то, что некоторые обновления для системы действительно критичны, поскольку достаточно глубоко в неё интегрированы. Например сам механизм обновления (стек обслуживания) обеспечивается набором модулей (инсталлятор, библиотеки и прч), которые необходимы для установки последующих обновлений и от которых зависит работоспособность механизма в целом. Соответственно, все обновления стека обслуживания, вносящие алгоритмические изменения, не могут быть просто удалены, поскольку тогда станут недоступными некоторые особенности этих алгоритмов, при помощи которых уже были установлены последующие пакеты обновлений. Удаление подобных обновлений чревато для системы серьезными последствиями, такими как разрушение хранилища компонентов, и как следствие, потенциальные проблемы с работоспособностью самой операционной системы. На самом деле так уж всё страшно, поскольку подобных обязательных (неудаляемых) обновлений, например в системе Windows 7, насчитывается всего-то около десятка:) Но знать то об этом нюансе все же стоит, так же как и иметь понимание, как именно производить удаление обязательных обновлений .

Проблема

С точки зрения технического специалиста, установка и удаление системных обновлений относятся к типу тривиальных задач. В наш век глобальной сети Интернет, обновления в систему устанавливаются постоянно, часто вовсе незаметно для пользователя. Обновления представляют собой исправления безопасности различных компонентов, модули, содержащие дополнительный функционал уже существующих приложений, а так же новое программное обеспечение. Однако, наряду с задачами установки обновлений, зачастую встают и задачи удаления системных обновлений. Причины на то могут быть совершенно разнообразными, начиная от необходимости банально переустановить какое-либо из обновлений для достижения корректной работоспособности и заканчивая необходимостью исправления проблем зависимостей и целостности хранилища компонентов.
Система предоставляет несколько способов удаления обновлений из системы, например через компонент Центр обновления Windows , апплет Установленные обновления . В этом случае пользователь просто выделяет щелчком левой копки мыши (маркирует) интересующее его обновление и по щелчку правой кнопки мыши открывает меню Удалить , либо выбирает одноименный пункт из верхней панели:

тут всё тривиально. Но с обязательными обновлениями всё несколько сложнее, поскольку при аналогичных действиях мы не видим привычных элементов управления:

при попытке выполнить удаление данного компонента из командной строки при помощи утилиты wusa :

wusa /uninstall /kb:2522422

выдается ошибка: Обновление для Microsoft Windows является обязательным компонентом для этого компьютера, поэтому удаление невозможно.

В этом случае у специалиста возникает резонный вопрос: за что вы так со мной? :) Тот факт, что система считает некоторые обновления обязательными и не дает их удалять, вовсе не гарантирует, что эти обновления не могут повреждаться и являться причиной различного рода проблем. Поэтому, в некоторых случаях появляется необходимость удаления. Имеется ли возможность удалить подобные неудаляемые обновления из системы?

Решение

Изменения, описываемые в данном разделе, могут привести к неработоспособности хранилища компонентов!! Приводимые в разделе действия Вы выполняете на свой страх и риск!!

Поэтому действуйте крайне аккуратно, желательно сделав полный бэкап системы либо создав точку восстановления. Главное понимать, зачем Вы всё это делаете. Если Вам необходимо исправить последствия кривого обновления, то удалите обязательное обновление, а затем установите его вновь. При удачном раскладе после удаления/переустановки неудаляемого обновления Вам удастся исправить последствия кривого обновления, однако при худшем сценарии развития событий, Вы приведете систему в нерабочее состояние, поскольку обновление может оказаться ключевым. Итогом может стать повреждение хранилища компонентов с ошибкой STATUS_SXS_COMPONENT_STORE_CORRUPT .
На каком уровне обеспечивается неудаляемость подобных обязательных обновлений? На уровне параметров в конфигурационных .mum -файлах.

Mum -файл (Microsoft Update Manifest/Манифест обновления Майкрософт) - конфигурационный файл обновления Windows формата XML, содержащий параметры пакета: наименование, идентификатор, язык установки, зависимости, флаги действий и прочие. Используется в качестве идентификатора (символического имени) сервиса (стека) обслуживания с целью выполнения над пакетом операций включения/отключения/удаления посредством различных сервисных утилит (например, Диспетчера пакетов (pkgmgr)). Файл манифеста содержит в своем имени наименование обслуживаемого обновления и размещается в каталоге %WinDir%\servicing\Packages ;

Msu -файл (Microsoft System Update/Пакет обновления Майкрософт) - изолированный пакет Центра обновления Microsoft, содержащий в своем составе метаданные (описывающие каждой пакет обновления, содержащейся в.msu-файле), один или несколько.cab-файлов (каждый.cab-файл содержит модули отдельного обновления), .xml-файл (описывающий пакет обновления, используется Автономным установщиком обновлений Windows wusa.exe для выполнения процесса инсталляции обновления), файл свойств (файл содержит строки свойств, которые использует утилита wusa.exe .

В .mum -файле есть параметр с именем permanence , принимающий два значения: removable и permanent . Пакеты обновления, которые не желательно удалять из системы, разработчики Microsoft объявляют как "постоянный" (permanent), тогда как все остальные (обычные) пакеты обновления маркируются как "удаляемые" (removable). Поэтому, процесс изменения типа обновления с неудаляемого на удаляемое сводится к изменению данного параметра в соответствующем .mum -файле.

Общий алгоритм действий

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

  1. После инсталляции типового системного обновления соответствующие .mum -файлы размещаются внутри каталога %Windir%\servicing\Packages\ . Поэтому, открываем в C:\Windows\servicing\ , ставим курсор на подкаталог Packages .
  2. Зачастую наблюдается проблема с доступом к объектам в директории %Windir%\servicing\Packages\ , поскольку разрешения на полный доступ выставляются только для системной учетной записи TrustedInstaller . Поэтому, для внесения изменений в права доступа нажимаем на каталоге Packages правую кнопку мыши, выбираем пункт Свойства и затем переходим во вкладку Безопасность . В открывшемся окне сразу за разделом "Группы и пользователи" нажимаем кнопку Изменить, затем жмем Добавить, в открывшемся окне, в поле ввода пишем Все , жмем Проверить имена, выбираем из найденного, жмем OK , затем выставляем для вновь добавленной группы полные права. Закрываем окно, в основном окне Безопасность , в самом низу жмем кнопку Дополнительно, в открывшемся вновь окне, во вкладке "Разрешения" выделяем только что созданную группу (Все), жмем кнопку Изменить разрешения, далее в самом низу нового окна отмечаем чекбокс "Заменить все разрешения дочернего объекта на разрешения, наследуемые от этого объекта", везде нажимаем ОК, закрывая все окна.
  3. Заходим в директорию Packages , ищем в ней .mum -файл(ы), относящиеся к удаляемому обновлению. Обычно они имеют имя, содержащее в себе полное название искомого пакета:

  4. Открываем найденный файл на редактирование:

  5. Ищем строку, содержащую слово permanence , заменяя значение параметра на permanence="removable" . В приведенном выше примере это строка под номером 4 . Далее закрываем файл с сохранением произведенных изменений.
  6. Производим подобные действия для всех .mum -файлов, ассоциированных с требуемым неудаляемым пакетом обновления, поскольку с некоторыми обновлениями могут быть ассоциированы два и более.mum-файлов.
  7. После окончания процесса правки закрываем все окна, относящиеся к обновлениям. В некоторых случаях изменения вступают в силу мгновенно, то есть обновление станет доступным для удаления сразу после открытия и переиндексации в разделе