Удаление обязательных обновлений
Название Удаление обязательных обновлений не до конца раскрывает смысл описываемого в статье, поскольку не совсем понятно, что именно имеется в вижу под термином «обязательный». Материал можно было бы озаглавить как удаление обновлений, которые не удаляются или удаление неудаляемых обновлений , но тогда не совсем понятно, по каким причинам они вдруг стали неудаляемыми: по воле разработчика или из-за ошибок с хранилищем компонентов. Есть еще вариант обозначить как удаление обновлений, не предназначенных для удаления, но это как-то избыточно, что ли.
Совсем недавно открыл для себя одну любопытную особенность некоторых обновлений: они не удаляются стандартными средствами операционной системы. На практике возникла ситуация, в которой я никак не мог удалить из системы «битое» обновление. По мере углубления в тематику вопроса выяснилось, что в Windows существуют разные типы обновлений, и что частный случай невозможности удаления некоторых из них вовсе не является следствием какой-либо локальной ошибки, а отражает скорее особенность. Судя по всему, объясняется это архитектурными нюансами механизма обновлений. На практике сложно создать такую систему взаимосвязей обновлений, в которой каждое обновление будет полностью автономно, то есть независимо от остальных, и, соответственно, может быть удалено без каких-либо последствий. Но еще более важно то, что некоторые обновления для системы действительно критичны, поскольку достаточно глубоко в неё интегрированы. Например сам механизм обновления (стек обслуживания) обеспечивается набором модулей (инсталлятор, библиотеки и прч), которые необходимы для установки последующих обновлений и от которых зависит работоспособность механизма в целом. Соответственно, все обновления стека обслуживания, вносящие алгоритмические изменения, не могут быть просто удалены, поскольку тогда станут недоступными некоторые особенности этих алгоритмов, при помощи которых уже были установлены последующие пакеты обновлений. Удаление подобных обновлений чревато для системы серьезными последствиями, такими как разрушение хранилища компонентов, и как следствие, потенциальные проблемы с работоспособностью самой операционной системы. На самом деле так уж всё страшно, поскольку подобных обязательных (неудаляемых) обновлений, например в системе Windows 7, насчитывается всего-то около десятка 🙂 Но знать то об этом нюансе все же стоит, так же как и иметь понимание, как именно производить удаление обязательных обновлений.
Проблема
С точки зрения технического специалиста, установка и удаление системных обновлений относятся к типу тривиальных задач. В наш век глобальной сети Интернет, обновления в систему устанавливаются постоянно, часто вовсе незаметно для пользователя. Обновления представляют собой исправления безопасности различных компонентов, модули, содержащие дополнительный функционал уже существующих приложений, а так же новое программное обеспечение. Однако, наряду с задачами установки обновлений, зачастую встают и задачи удаления системных обновлений. Причины на то могут быть совершенно разнообразными, начиная от необходимости банально переустановить какое-либо из обновлений для достижения корректной работоспособности и заканчивая необходимостью исправления проблем зависимостей и целостности хранилища компонентов.
Система предоставляет несколько способов удаления обновлений из системы, например через компонент Центр обновления Windows , апплет Установленные обновления . В этом случае пользователь просто выделяет щелчком левой копки мыши (маркирует) интересующее его обновление и по щелчку правой кнопки мыши открывает меню Удалить , либо выбирает одноименный пункт из верхней панели:
тут всё тривиально. Но с обязательными обновлениями всё несколько сложнее, поскольку при аналогичных действиях мы не видим привычных элементов управления:
при попытке выполнить удаление данного компонента из командной строки при помощи утилиты wusa :
wusa /uninstall /kb:2522422
выдается ошибка: Обновление для Microsoft Windows является обязательным компонентом для этого компьютера, поэтому удаление невозможно.
В этом случае у специалиста возникает резонный вопрос: за что вы так со мной? 🙂 Тот факт, что система считает некоторые обновления обязательными и не дает их удалять, вовсе не гарантирует, что эти обновления не могут повреждаться и являться причиной различного рода проблем. Поэтому, в некоторых случаях появляется необходимость удаления. Имеется ли возможность удалить подобные неудаляемые обновления из системы?
Решение
Поэтому действуйте крайне аккуратно, желательно сделав полный бэкап системы либо создав точку восстановления. Главное понимать, зачем Вы всё это делаете. Если Вам необходимо исправить последствия кривого обновления, то удалите обязательное обновление, а затем установите его вновь. При удачном раскладе после удаления/переустановки неудаляемого обновления Вам удастся исправить последствия кривого обновления, однако при худшем сценарии развития событий, Вы приведете систему в нерабочее состояние, поскольку обновление может оказаться ключевым. Итогом может стать повреждение хранилища компонентов с ошибкой STATUS_SXS_COMPONENT_STORE_CORRUPT .
На каком уровне обеспечивается неудаляемость подобных обязательных обновлений? На уровне параметров в конфигурационных .mum -файлах.
А где содержатся и откуда появляются в системе сами .mum -файлы? А они содержатся в .msu-файлах установки, которые приезжают в систему через Центр обновления Windows либо скачиваются и устанавливаются пользователем вручную в виде файлов с расширением .msu , например Windows6.1-KB2639308-x64.msu .
В .mum -файле есть параметр с именем permanence , принимающий два значения: removable и permanent . Пакеты обновления, которые не желательно удалять из системы, разработчики Microsoft объявляют как «постоянный» (permanent), тогда как все остальные (обычные) пакеты обновления маркируются как «удаляемые» (removable). Поэтому, процесс изменения типа обновления с неудаляемого на удаляемое сводится к изменению данного параметра в соответствующем .mum -файле.
Amd64 microsoft windows foundation package
Обновления для Windows (обсуждение и решение проблем)
Данная тема предназначена для обсуждения новостей, вопросов и проблем, связанных с обновлениями для Windows 7, Windows 8, Windows 8.1, Windows 10. Споры, разговоры, критика, аргументы за и против — всё здесь.
Обновления для Windows выявляют скрытые дефекты, а не служат причиной их появления. Это не всегда так, но как правило — именно так. Невозможно предугадать как поведет себя система конкретно на вашем железе после установки тех или иных обновлений, но в вашей власти проделать определенные манипуляции со своим ПК, чтобы выявить и устранить различные недостатки, которые в будущем действительно могут привести к проблемам после установки обновлений. Ниже будут описаны базовые действия и рекомендации, следуя которым, вы можете свести к минимуму вероятность возникновения каких-либо проблем, так или иначе связанных с установкой обновлений.
Чаще всего пользователь не догадывается о том, что его диск постепенно выходит из строя. Тормоза, синие экраны, битые файлы — типичные признаки умирающего накопителя, однако пользователь винит во всем вирусы, драйвера, обновления. В общем, кого угодно, но только не свой компьютер. Да и в целом следить за состоянием своих накопителей у нас народ не приучен. А зря. В первую очередь в зоне риска оказываются владельцы ноутбуков прошлых поколений, в которых установлены механические накопители (HDD, жесткие диски). Они плохо переносят тряску и удары, вследствие чего возникают проблемы с механикой или же просто со временем появляются дефектные зоны на магнитных пластинах.
Проблемы с жестким диском можно разделить на две части: аппаратные и программные. Аппаратные — это поврежденные сектора, которые по тем или иным причинам контроллер HDD отказывается заменять резервными. Само собой, аппаратной неисправностью считаются любые проблемы, связанные как с механической частью накопителя (проблемы с запуском двигателя, проблемы с калибровкой блока считывающих головок, проблемы с выводом блока головок из зоны парковки и т.д.), так и с его электронными компонентами (окисление контактов, некачественное питание из-за паршивого блока питания и т.д.). Программные ошибки — это когда механически накопитель в порядке, а вот на уровне файловой системы какие-то файлы «пропали» или повреждены, например, внезапно выключили свет — и запись файла оборвалась на середине. Первое, что необходимо сделать для любого HDD — это просмотреть отчёт S.M.A.R.T. любой удобной утилитой. Наиболее понятный и простой интерфейс имеет HDTune, однако вы можете использовать любое другое ПО, которое сочтёте нужным. Обсудить состояние своего HDD можете вот в этой теме.
Твердотельные накопители (SSD) по понятным причинам не подвержены внешним воздействиям, однако последние годы рынок наводнили дешевые SSD сомнительного качества. Если HDD выходят из строя в силу своей механической природы, то бюджетные SSD страдают от перегрева, некачественной флэш-памяти, кривых прошивок (firmware) и т.д. Разумеется, при прочих равных SSD гораздо надежнее HDD, однако если вы понятия не имеете накопитель какой фирмы и с какими характеристиками установлен в вашем компьютере (ноутбуке, планшете), то не стоит сбрасывать его со счетов.
Таким образом, в любом случае необходимо проверить целостность файловой системы, а также целостность самих файлов на системном разделе. Делается это с помощью команды ChkDsk C: /f /r (в командной строке от имени Администратора; для начала проверки потребуется перезагрузить компьютер). Если какие-то файлы повреждены или отсутствуют, то соответствующие записи о них будут удалены из файловой таблицы. Ознакомиться с результатами проверки можно в журнале системы. Для этого кликните правой кнопкой на Компьютере > Управление. Далее выбираем Просмотр событий > Журналы Windows > Приложение. Там вас интересует событие с кодом 1001.
Примечание: на механических накопителях (HDD) полная проверка системного раздела может занять несколько часов.
В командной строке от имени Администратора выполните команду DISM /Online /Cleanup-Image /ScanHealth — эта проверка может длиться около получаса, а то и больше. Рекомендуется отключить антивирусный монитор, из-за него на проверку может уйти несколько часов. По аналогии с предыдущим пунктом — делайте ее, если S.M.A.R.T. накопителя показал проблемы или если команда SFC /ScanNow показала наличие поврежденных файлов.
Примечание для пользователей Windows 7: удостоверьтесь, что у вас установлено KB2966583, прежде чем выполнять эту команду.
Примечание для пользователей Windows 8, 8.1, 10: если ScanHealth показал наличие каких-либо проблем, но сообщает о возможности исправления, то выполните DISM /Online /Cleanup-Image /RestoreHealth (пользователи Windows 7 могут не беспокоиться, у них ключ ScanHealth совмещает в себе обе эти команды).
В данном случае перегрев опасен тем, что из-за него компьютер может зависнуть или выключиться в момент установки обновлений, а это один из немногих способов с высокой степенью вероятности наглухо угробить систему. Связано это с тем, что установка обновлений — это, по сути, активное перемещение десятков и сотен файлов, а также внесения тысяч записей в реестр системы. Внезапное отключение или перезагрузка в середине этого процесса приведет к тому, что мы будем иметь дикую кашу из файлов, а также частично старых и частично новых записей в реестре. Поэтому если вдруг захочется ушатать свою систему, то можете принудительно выключить компьютер в момент установки обновлений.
С учетом того, что установка обновлений связана с активным использованием CPU, RAM, HDD \ SSD, лучше подстраховаться и проверить температуру своего железного друга. Утилит для мониторинга температур существует великое множество, однако далеко не все они умеют создавать искусственную нагрузку. А именно температуры под нагрузкой и надо смотреть, поскольку в состоянии покоя частоты существенно ниже номинальных и даже наглухо забитая система охлаждения справится с отводом тепла. Наиболее удобным можно считать стресс-тест из состава AIDA64, который позволяет нагрузить все компоненты компьютера, однако вы можете использовать любое другое ПО для тестирования и мониторинга температур.
Тема по обсуждению охлаждения компьютера находится здесь.
В Windows XP эта фишка называлась «Восстановление системы», в Windows 7 и выше ее переименовали в «Защиту системы», но суть ее осталась той же: сохраняются предыдущие версии файлов, что позволяет вернуть систему к рабочему состоянию (не всегда, но часто). Проверить настройки «Защиты системы» можно, открыв свойства Компьютера. Проверьте, чтобы «Защита системы» была включена и работала корректно (создайте сами контрольную точку и посмотрите что из этого получится). Там же можно настроить количество свободного места, которое будет отдано под контрольные точки. За переполнение диска можете не беспокоиться. В случае превышения заданного лимита будет автоматически удалена самая старая контрольная точка при создании новой.
Пользователям Windows 10 настоятельно рекомендуется проверить также функцию автоматического бэкапа реестра и включить ее, если она отключена!
На портале Microsoft Docs (это хранилище документации Майкрософт для пользователей, разработчиков и ИТ-специалистов) в разделе «Manage connections from Windows 10 operating system components to Microsoft services» есть пошаговая инструкция по отключению обновлений в Windows 10. Прокрутите текст вниз, почти до самого до самого конца, вам нужна секция №29 (Windows Update).
Сообщение отредактировал Avatar-Lion — 30.03.21, 13:21
KB3179573 пробейте, что за обновление. По наблюдениям оно затормаживает вкл/выключение ноутбука, но это не точно.
И KB3172605 туда же.
Сообщение отредактировал Treasure_Hunter — 12.02.18, 18:46
Amd64 microsoft windows foundation package
I cannot install the Print-Server Role below is the errors in the CBS log. I have run sfc /scannow no issues found.
Now trying dism /online /Cleanup-Image /scanhealth
The component store is repairable.
Now running dism /online /cleanup-image /restorehealth
2019-03-11 08:29:26, Error CSI 00000008@2019/3/11:15:29:26.805 (F) onecore\base\wcp\componentstore\csd_locking.cpp(200): Error STATUS_SXS_ASSEMBLY_MISSING originated in function CCSDirectTransaction::LockComponent expression: (null)
[gle=0x80004005]
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CBS.log to WER report.
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190308223746.log to WER report.
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190224044730.cab to WER report.
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190223064152.cab to WER report.
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190223044216.cab to WER report.
2019-03-11 08:29:26, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190220010543.cab to WER report.
2019-03-11 08:29:26, Info CBS Not able to add pending.xml to Windows Error Report. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:26, Info CBS Not able to add pending.xml.bad to Windows Error Report. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:26, Info CBS Not able to add SCM.EVM to Windows Error Report. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:30, Error CSI 00000009 (F) STATUS_SXS_ASSEMBLY_MISSING #23577# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
2019-03-11 08:29:30, Error CSI 0000000a (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #23425# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = 6477a5a288a3118f9e7c5cedc784e446, version 10.0.14393.1378, arch amd64, nonSxS, pkt
10.0.1.5.4093119-7186_neutral’, rah = ‘2’, manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
2019-03-11 08:29:30, Info CBS Failed to pin deployment while resolving Update: Package_3545_for_KB4093119
10.0.1.5.4093119-7186_neutral from file: (null) [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:30, Info CBS Failed to bulk stage deployment manifest and pin deployment for package:Package_1296_for_KB4487006
10.0.1.11 [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:30, Info CBS CommitPackagesState: Started persisting state of packages
2019-03-11 08:29:30, Info CBS CommitPackagesState: Completed persisting state of packages
2019-03-11 08:29:30, Info CSI 0000000b@2019/3/11:15:29:30.258 CSI Transaction @0x1d9fb2f77d0 destroyed
2019-03-11 08:29:30, Info CBS Perf: Resolve chain complete.
2019-03-11 08:29:30, Info CBS Failed to resolve execution chain. [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:30, Error CBS Failed to process single phase execution. [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:30, Info CBS WER: Generating failure report for package: Microsoft-Windows-Foundation-Package
10.0.14393.0, status: 0x80073701, failure source: Resolve, start state: Installed, target state: Installed, client id: DISM Package Manager Provider
2019-03-11 08:29:30, Info CBS Not able to query DisableWerReporting flag. Assuming not set. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CBS.log to WER report.
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190308223746.log to WER report.
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190224044730.cab to WER report.
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190223064152.cab to WER report.
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190223044216.cab to WER report.
2019-03-11 08:29:30, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20190220010543.cab to WER report.
2019-03-11 08:29:30, Info CBS Not able to add %windir%\winsxs\pending.xml to WER report. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:30, Info CBS Not able to add %windir%\winsxs\pending.xml.bad to WER report. [HRESULT = 0x80070002 — ERROR_FILE_NOT_FOUND]
2019-03-11 08:29:42, Info CBS Reboot mark cleared
2019-03-11 08:29:42, Info CBS Winlogon: Simplifying Winlogon CreateSession notifications
2019-03-11 08:29:42, Info CBS Winlogon: Deregistering for CreateSession notifications
2019-03-11 08:29:42, Info CBS FinalCommitPackagesState: Started persisting state of packages
2019-03-11 08:29:42, Info CBS FinalCommitPackagesState: Completed persisting state of packages
2019-03-11 08:29:42, Info CBS Enabling LKG boot option
2019-03-11 08:29:42, Info CBS Exec: Processing complete. Session: 30726175_864696487, Package: Microsoft-Windows-Foundation-Package
10.0.14393.0 [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:44, Error CBS Failed to perform operation. [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:44, Info CBS Session: 30726175_864696487 finalized. Reboot required: no [HRESULT = 0x80073701 — ERROR_SXS_ASSEMBLY_MISSING]
2019-03-11 08:29:44, Info CBS Failed to FinalizeEx using worker session [HRESULT = 0x80073701]
2019-03-11 08:31:44, Info CBS Trusted Installer is shutting down because: SHUTDOWN_REASON_AUTOSTOP
2019-03-11 08:31:44, Info CBS TiWorker signaled for shutdown, going to exit.
2019-03-11 08:31:44, Info CBS CbsCoreFinalize: ExecutionEngineFinalize
2019-03-11 08:31:44, Info CBS Ending the TiWorker main loop.
2019-03-11 08:31:44, Info CBS Starting TiWorker finalization.
2019-03-11 08:31:44, Info CBS CbsCoreFinalize: ManifestCacheFinalize
2019-03-11 08:31:44, Info CBS CbsCoreFinalize: ExecutionEngineFinalize