Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 14

Как правильно выполнить удаление обновлений через командную строку в ОС Windows 7

BSOD – синий экран смерти Windows, который может быть и черным. Дело не в цвете сообщения, а в том, что система отказывается загружаться и соответственно – работать. Нередко его возникновение на дисплее пользователя случается непосредственно после ручной или автоматической установки обновлений ОС.

Как бы ни напрягались разработчики самой лучшей на планете Windows, число комбинаций вариантов оборудования и программного обеспечения все равно превышает размеры их технической фантазии. И даже если 99% всех систем воспримут обновление нормально, все равно найдется 1%, который таки рухнет. Вот тогда-то мы и лицезреем BSOD вол всей его первозданной красе.

Немедленно возникает потребность в удалении обновлений через командную строку Windows 7. Почему именно этот интерфейс приходится использовать? Да потому что все остальные оказываются недоступны – именно их нормальный запуск и является целью наших мероприятий.

1437919401-sinij-ekran.jpgДругая ситуация: вы установили нелицензионную «Семерку». Для обхода регистрации взломщики вмешиваются в программный код ядра системы. В результате поведение ОС в отдельных случаях становится непредсказуемым.

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

Предварительные действия

Для восстановления нормальной работы системы нам понадобится установочный дистрибутив Windows. Версия дистрибутива не обязана совпадать с той, что инсталлирована на вашем компьютере. Это может быть диск с любой «Семеркой» или даже с Windows 8 – главное, чтобы она имела командный интерфейс, совместимый с вашим. Естественно, XP не подойдет. Далее поступаем следующим образом:

  • Грузимся с установочного диска (это может быть и флешка, достаточно прописать в БИОС загрузку с USB-носителя).
  • В открывшемся окне «Установка Windows» щелкаем по надписи «Восстановление системы».
  • Программа обследует разделы жесткого диска и выдаст список всех установленных на компьютере «Семерок». Вы можете давно забыть о том, что когда-то устанавливали Windows 7 на другой раздел, но программа об этом вспомнит, если там остались системные папки и файлы. Окно со списком выглядит примерно так:1437919402-parametry-vosstanovleniya-sistemy.jpg
  • Выберите из списка ремонтируемую вами систему и нажмите кнопку «Далее».
  • Система попытается восстановиться автоматически, а вы увидите перед собой окно с индикатором этого процесса. Не дожидаясь окончания, жмите «Отмена».
  • В следующем окне жмите по надписи «Показать дополнительные возможности восстановления системы».
  • Последний щелчок по надписи «Командная строка».

Теперь вы попали в командную строку.

Ремонтируем ОС в командной строке

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

1437919403-vvod-komandy.jpgЕсли список получится длинный, то для остановки прокрутки списка на экране нажмите на клавишу «Pause». Повторное нажатие на эту же кнопку запустит листинг снова. Или выполните указанную выше команду с параметром /p – отвечающим за постраничный вывод информации. Какой бы вариант вы не выбрали, на экране вы увидите нечто вроде того, что показано на следующем рисунке:

1437919404-otobrazhenie-stroki.jpgСкопируйте прямо с экрана наименование подозрительного пакета (можно ориентироваться по временной метке – вероятно, это будет самый последний из установленных вами пакетов) и введите в приглашение такую команду, заменив в ней имя пакета вашим:

1437919405-zamena-imeni-paketa.jpgЭто и есть команда деинсталляции обновления.

Если вами было установлено несколько пакетов, и вы не знаете в каком из них загвоздка – удаляйте их по очереди описанным способом. После удаления попытайтесь перезагрузить ПК – если все сделано правильно, вы попадете на рабочий стол Windows.

themevideo.png

Похожие статьи

050.jpgКак осуществить восстановление системы через командную строку14213597601-komandnaya-stroka-100x100.jpgКак вызвать командную строку в ОС Windows 7command-prompt-100x100.jpgКак на компьютерах с Windows 7 и 8 запустить командную строку?28224578301-vybor-komandnoj-stroki-100x100.jpgКак открыть командную строку в Windows 10

uninstall-undeletable-windows-10-update.pngКак правило, удаление обновлений Windows 10 сравнительно несложная задача, выполнить которую можно через соответствующий элемент панели управления, либо используя утилиту командной строки wusa.exe, о чем я подробно писал в материале Как удалить обновления Windows 10.

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

Как сделать обновление, которое не удаляется не обязательным

required-update-cannot-be-deleted-windows-10.png

Причина, по которой некоторые обновления Windows 10 не удаляются и считаются обязательным компонентом для компьютера, заключается в том, что соответствующий параметр содержится в их файле конфигурации. И мы это можем изменить.

В примере ниже используется встроенный текстовый редактор Блокнот для внесения необходимых изменений, но это может быть и любой иной редактор для работы с простым неформатированным текстом, главное запускать его от имени Администратора.

  1. Запустите текстовый редактор, например, Блокнот, от имени Администратора. Для этого в Windows 10 можно найти его в поиске на панели задач, затем нажать по найденному результату правой кнопкой мыши и выбрать нужный пункт контекстного меню. run-text-editor-as-administrator-windows-10.png
  2. В Блокноте в меню выберите «Файл» — «Открыть», в поле «Тип файла» обязательно укажите «Все файлы» и перейдите в папку C:WindowsservicingPackages.
  3. Найдите файл, имя которого будет начинаться с Package_for_KB_НОМЕР_ОБНОВЛЕНИЯ и иметь расширение .MUM. Обратите внимание: для каждого обновления есть много похожих файлов, нам нужен без порядкового номера между Package и For. Откройте его в Блокноте. package-for-update-kb-mum-file.png
  4. В верхней части этого файла найдите пункт permanence=»permanent» и измените слово в кавычках на «removable»set-update-permanence-removable.png
  5. Сохраните файл. Если он не сохраняется сразу, а открывает диалог сохранения, значит вы запустили текстовый редактор не от имени администратора.

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

Удаление в командной строке с помощью wusa.exe /uninstall также будет проходить без ошибок.

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

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

Проблема

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

uninstall-update.png

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

required-update.png

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

wusa /uninstall /kb:2522422

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

required-component.png

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

Решение

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

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

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

А где содержатся и откуда появляются в системе сами .mum-файлы? А они содержатся в .msu-файлах установки, которые приезжают в систему через Центр обновления Windows либо скачиваются и устанавливаются пользователем вручную в виде файлов с расширением .msu, например Windows6.1-KB2639308-x64.msu.

.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%servicingPackages. Поэтому, открываем в C:Windowsservicing, ставим курсор на подкаталог Packages.
  2. Зачастую наблюдается проблема с доступом к объектам в директории %Windir%servicingPackages, поскольку разрешения на полный доступ выставляются только для системной учетной записи TrustedInstaller. Поэтому, для внесения изменений в права доступа нажимаем на каталоге Packages правую кнопку мыши, выбираем пункт Свойства и затем переходим во вкладку Безопасность. В открывшемся окне сразу за разделом «Группы и пользователи» нажимаем кнопку Изменить, затем жмем Добавить, в открывшемся окне, в поле ввода пишем Все, жмем Проверить имена, выбираем из найденного, жмем OK, затем выставляем для вновь добавленной группы полные права. Закрываем окно, в основном окне Безопасность, в самом низу жмем кнопку Дополнительно, в открывшемся вновь окне, во вкладке «Разрешения» выделяем только что созданную группу (Все), жмем кнопку Изменить разрешения, далее в самом низу нового окна отмечаем чекбокс «Заменить все разрешения дочернего объекта на разрешения, наследуемые от этого объекта», везде нажимаем ОК, закрывая все окна.
  3. Заходим в директорию Packages, ищем в ней .mum-файл(ы), относящиеся к удаляемому обновлению. Обычно они имеют имя, содержащее в себе полное название искомого пакета. В случае нахождения нескольких .mum-файлов, можно отредактировать все.

    update-mum-file.png

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

Похожие записи:

Используемые источники:

  • https://windowstune.ru/win7/update7/udalenie-obnovlenij-cherez-komandnuyu-stroku-windows-7.html
  • https://remontka.pro/uninstall-required-update-windows-10/
  • http://datadump.ru/uninstall-uninstallable-patches/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации