sonyps4.ru

Отключение гибернации windows 10 командная строка. Что делать если всё зависло

Название Удаление обязательных обновлений не до конца раскрывает смысл описываемого в статье, поскольку не совсем понятно, что именно имеется в вижу под термином "обязательный". Материал можно было бы озаглавить как Удаление неудаляемых обновлений , но тогда не совсем понятно, по каким причинам они вдруг стали неудаляемыми: по воле разработчика или из-за ошибок с хранилищем компонентов. Есть еще вариант обозначить как удаление обновлений, не предназначенных для удаления, но это как-то избыточно, что ли.
Совсем недавно открыл для себя одну любопытную особенность некоторых обновлений: они не удаляются стандартными средствами операционной системы. На практике возникла ситуация, в которой я никак не мог удалить из системы "битое" обновление. По мере углубления в тематику вопроса выяснилось, что в 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. После окончания процесса правки закрываем все окна, относящиеся к обновлениям. В некоторых случаях изменения вступают в силу мгновенно, то есть обновление станет доступным для удаления сразу после открытия и переиндексации в разделе

По умолчанию в Windows 7 включена опция автоматической загрузки и установки обновлений. Операционная система закачивает пакеты обновлений с сервера Microsoft каждый раз, когда вы подключаете компьютер к интернет. В теории автоматические обновления полезны, так как призваны латать «дыры» системы, модифицировать файлы и оптимизировать работу Windows, но на практике есть целый ряд причин по которым стоит отключать обновления Windows. Рассмотрим основные причины:

  • Были случаи, когда из-за обновлений или из-за критических ошибок во время их установки происходили сбои, которые приводили к неработоспособности Windows;
  • Со временем установленных пакетов обновлений становится все больше, а свободного пространства на системном диске все меньше, что может привести к нарушениям работы Windows в случае малого размера диска C;
  • Во время загрузки обновлений скорость интернета может сильно упасть (особенно заметно пользователям с маленькими интернет каналами), также некоторым пользователям обновления могут сильно ударить по карману (если интернет лимитирован или подключен пакет с оплатой по трафику);
  • Многих раздражает, что во время установки обновлений нельзя выключить компьютер и приходится иногда довольно долго ждать завершения процесса;
  • Использование пиратской версии Windows может привести к ограничению функционала вашей операционной системы при попытке загрузки обновлений;
  • Есть еще целый перечень менее значимых причин, которые в этой статье я рассматривать не буду.

Перейдем непосредственно к способам отключения обновлений Windows 7.

Как отключить обновление Windows 7 полностью

Для полного отключения обновлений Windows 7 вам нужно попасть в управление службами Windows. Для этого нажмите Пуск —> Панель управления —> Администрирование —> Службы , либо Пуск —> Панель управления —> Система и безопасность —> Администрирование —> Службы .

Колесиком мышки прокрутите список в самый низ и откройте службу «Центр обновления Windows» . В открывшемся окошке выберите тип запуска «Отключена» , затем нажмите кнопку «Остановить» и уже потом кнопку «Применить» .

Можете закрывать все открытые окна. Обновление Windows 7 теперь полностью отключено. По необходимости обновление можно включить таким же способом.

Как отключить автоматическое обновление Windows 7

Если вы не хотите полностью отключать обновления, то можно отключить только автоматическое обновление Windows 7. При этом у вас останется возможность загружать обновления вручную. Для этого зайдите Пуск —> Панель управления —> Центр обновления Windows , либо Пуск —> Панель управления —> Система и безопасность —> Центр обновления Windows . Нажмите «Настройка параметров» в левом меню.

В открывшемся окне выберите «Не проверять наличие обновлений (не рекомендуется)» , также желательно убрать галочки ниже. Нажмите «ОК» внизу окна для подтверждения изменений.

Теперь автоматическое обновление Windows 7 отключено. Для ручной загрузки обновлений можно в любое время зайти в Центр обновления Windows и нажать кнопку «Проверить обновления» .

Как известно, при установке обновлений Windows, файлы обновлений сначала скачиваются в системные папки, и после установки обновлений... там и остаются. Поэтому, размер папки Windows все время растет. За год папка толстеет на 6-10 Гбайт. Это же происходит, когда вы ставите программы, дистрибутив которых выполнен в виде msi файла. И это помимо массы временных файлов, которые создаются во время установки. Как удалять временные файлы, я думаю, вы знаете.

А как бороться с файлами обновлений, которые не так просто найти и удалить вручную, а зачастую даже невозможно, так как они находятся в защищенных папках?

Где искать файлы обновлений?

Все обновления Windows и ряда прочих программ доставляются пользователю на компьютер в виде msi или msp файлов. После скачивания из Интернет они хранятся в папке C:\Windows\SoftwareDistribution\Download . А после установки необходимые системе файлы помещаются в скрытой папке «c:\Windows\Installer» .

Папку C:\Windows\SoftwareDistribution\Download можно чистить смело вручную или написав простейший файл с расширением bat или cmd и поместив в него строку:

del c:\Windows\SoftwareDistribution\Download\* .* / f / s / q

del c:\Windows\SoftwareDistribution\Download\*.* /f /s /q

Также растет папка «c:\Windows\Prefetch» . Файлы, которые хранятся в папке prefetch, содержат информацию, о приложениях, которые запускаются на компьютере. Эта информация используется службой Prefetch для более быстрого запуска программ повторно. Если вы часто устанавливаете и удаляете различные программы и приложения, то папка prefetch переполняется лишней информацией, которая уже никак не используется, а просто занимает место на жестком диске. Соответственно если удалить все содержимое папки prefetch, то нужную информацию программы запишут в нее заново, а ненужная удалится навсегда. Если вы полностью удалите все файлы с папки prefetch, то первая загрузка Windows 7 после удаления немного замедлится, пока программы заново внесут свои данные.

vssadmin delete shadows /All /Quiet

Сохраненный bat файл с этими 3 строками можно подключить в Планировщик задач и выполнять по расписанию.

А как же папка c:\Windows\Installer?

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

Я долгое время в работе использую уникальную программу PatchCleaner . Эта утилита обнаруживает такие уже неиспользуемые бесполезные файлы, которые называются orphaned. Как она их находит? Используя WMI запросы к системе можно получить список используемых инсталяторов и патчей и дальше его сравнить со списком файлов в директории Installer.

Утилита имеет возможности использования в режиме командной строки через CLI (Command Line Interface). Запустив утилиту с ключом /d, она автоматически определит все ненужное и удалит такие файлы. Как вы поминаете, её после установки можно также добавить в планировщик и запускать, например, раз в месяц после установки обновлений.

Она прекрасно работает со всеми версиями Windows Vista. Единсвтенное условие для работы — установленный.Net Fframework 4.5.2. Кстати, утилита имеет portable версию.

Что не нужно удалять?

Папка C:\Windows\WinSxS , или Windows Side by Side, присутствует в ОС, начиная с Windows XP. Microsoft создала систему, позволяющую сохранять несколько версий одинаковых библиотек (DLL) и использовать при необходимости именно ту, что требует конкретная программа. Папка предназначена для защиты пользователей от не совсем прямых рук некоторых программистов. При установке некоторые программы пытаются заменить виндосовские dll-файлы на свои собственные, что не всегда есть хорошо и может привести к отказу системы. Компания Microsoft решила эту проблему. Windows направляет dll-файл программы в WinSxS, и программа считает, что все заменено, и спокойно работает. Windows в свою очередь тоже продолжает спокойно работать.

Короче говоря, содержимое этой папки удалять не нужно. Что можно с ним сделать? Да, Windows 8.1 и более новые версии поддерживают сжатие этой папки. Как это можно сделать описано в статье Microsoft на TechNet .

WinSxS, или Windows Side by Side, является еще одним новшеством Windows XP. Microsoft создала систему, позволяющую сохранять несколько версий одинаковых библиотек (DLL) и использовать при необходимости именно ту, что требует конкретная программа. Папка предназначена для защиты пользователей от не совсем прямых рук некоторых программистов. При установке некоторые программы пытаются заменить виндосовские dll-файлы на свои собственные, что не всегда есть хорошо и может привести к отказу системы. Компания Microsoft решила эту проблему. ХР направляет dll-файл программы в WinSxS, и программа считает, что все заменено, и спокойно работает. Windows в свою очередь тоже продолжает спокойно работать.



Загрузка...