Маленький блог скромного айтишника. Dism winsxs очистка


Очистка папки WinSxS с помощью утилиты DISM в Windows 8.1

Данный способ позволяет очистить не только файлы обновлений, но и весь остальной мусор из папки WinSxS.

1. Запускаем командную строку или PowerShell от имени администратора.

2. Вводим команду

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

3. И ждем пока система закончит проверку

4. После поверки можно посмотреть чем наполнена папка WinSxS. Для примера привожу скриншот со своей системы. Особое внимание нужно уделить последней строчке — «Рекомендуется очистка хранилища компонентов», у меня стоит «нет». Если у вас стоит «Да», то нужно запускать очистку.

5. Для очистки вводим команду

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

И ждем очистку системы.

Запись опубликована 05.10.2015 автором Analog в рубрике Администрирование.

it-chainik.ru

Уменьшение папки WinSxS в Windows 8 и 8.1

Папка WinSxS не дает покоя пользователям  со времен Windows Vista. И действительно, если вы зайдете в директорию Windows на системном диске и посмотрите размер папки WinSxS, то можете сильно удивиться. Что же находится в этой папке, почему она такая большая и можно ли уменьшить ее размер? Попробуем это выяснить.

Для начала напомню, что из себя представляет папка WinSxS.

Все более-менее современные операционные системы Microsoft (начиная с Windows Vista) состоят из компонентов. Компонент в Windows представляет из себя один или несколько бинарных файлов, файл-каталог и XML-файл с описанием настроек (ключи реестра, настройки безопасности и т.п.). Компоненты группируются в логические блоки, из которых собираются различные редакции Windows.

Все компоненты ОС находятся в папке WinSxS, которая является хранилищем компонентов. Каждый компонент в хранилище имеет свое уникальное имя, включающее в себя номер версии, язык локализации и архитектуру процессора, для которой он был собран. В операционной системе есть только один экземпляр каждой версии каждого файла, и экземпляр этот находится в папке WinSxS, а все остальные экземпляры представляют из себя жесткие ссылки (hard links) на файлы, находящиеся в хранилище.

По сути, в папке WinSxS содержится практически вся операционная система, включая и неустановленные компоненты. Кстати, именно поэтому при установке дополнительных компонентов система не запрашивает установочный диск.

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

 

Таким образом, размер папки WinSxS напрямую зависит от возраста системы и количества установленных обновлений — чем старше система, тем больше размер. Впрочем не все так плохо и на практике средний размер папки составляет не больше 10-15 Гб. Кроме того не забываем, что большинство системных файлов из папки Windows проецируются в нее с помощью жестких ссылок из папки WinSxS, так что на самом деле размер WinSxS гораздо меньше.

 

Именно из за наличия жестких ссылок файловые менеджеры могут показывать несколько преувеличенный размер папки WinSxS. Более точные данные о размере папки в Windows 8 можно узнать с помощью утилиты Disk Usage от Sysinternals. Достаточно просто распаковать утилиту и выполнить команду:

du C:\Windows\WinSxS

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

 

Если у вас на системном диске не хватает места, то размер хранилища можно уменьшить, удалив неиспользуемые компоненты. Сразу предупрежу, что лишние файлы нельзя просто взять и удалить, это может привести к частичной или даже полной неработоспособности системы. В Windows 8 есть три безопасных способа очистить папку WinSxS.

Утилита «Очистка диска»

Для очистки хранилища можно воспользоваться графической утилитой «Очистка диска», запущенной с правами администратора. Для этого надо зайти в папку C:\Windows\System32, найти файл cleanmgr.exe и выбрать запуск от имени администратора.

 

Для уменьшения размера папки WinSxS надо отметить пункт «Очистка обновлений Windows» и нажать ОК. Кстати, утилита не совсем точно определяет объем высвобождаемого пространства, реально он может отличаться на пару сотен мегабайт в меньшую сторону.

 

Утилита DISM

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

Dism /Online /Cleanup-Image /StartComponentCleanup

 

Также с помощью DISM можно очистить хранилище после установки сервис-пака (SP):

Dism /Online /Cleanup-Image /SPSuperseded /HideSP

Ключ /SPSuperseded удаляет архивные файлы, созданные при установке SP, а /HideSP убирает его из списка установленных обновлений. Но поскольку вместо сервис-пака для восьмерки вышла Windows 8.1, то использовать эти ключи не получится, по крайней мере пока. Впрочем, этот способ можно использовать и в Windows 7 с установленным SP1.

Планировщик заданий

В библиотеке планировщика заданий, в разделе Microsoft\Windows\Servicing есть задание StartComponentCleanup. Это задание запускается системой автоматически, в рамках автоматического обслуживания системы, но при желании можно запустить его вручную. Эффект от запуска этого задания практически такой же, как и при использовании предыдущих способов, за исключением того, что игнорируются обновления, установленные за последние 30 дней.

Новое в Windows 8.1

В Windows 8.1 в утилите DISM добавилось несколько новых параметров, предназначенных для очистки хранилища. Теперь мы можем посмотреть реальный размер хранилища и проанализировать его содержимое командой:

Dism /Online /Cleanup-Image /AnalyzeComponentStore

И самое интересное, появилась возможность  не только очистить хранилище, но и удалить все предыдущие версии компонентов:

Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Ключ /ResetBase не используется при плановой очистке и очистке из графической оснастки. Его использование поможет высвободить еще некоторое количество дискового пространства, но будьте осторожны. Удаление предыдущих версий лишает вас возможности удалить установленные обновления и делает невозможным откат изменений в случае каких либо проблем.

 

Вот так просто, одной командой или несколькими кликами мышкой можно освободить несколько дополнительных гигабайт на диске. Впрочем, на сегодняшний день объемы жестких дисков позволяет не задумываться о недостатке места, да и SSD объемом 128-256 Гб вполне доступны по цене. Поэтому, на мой взгляд, проблема с большим размером папки WinSxS актуальна в основном для владельцев планшетов с Windows 8.

windowsnotes.ru

Очистка папки WinSxS в Windows 10, 8.1 и 8

Начиная с Windows 8, в ОС заложено три способа очистки.

Команда DISM (рекомендую)

Вы можете очистить хранилище компонентов вручную одной командой.

1

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Это самый быстрый путь к выполнению оптимизации (после него двумя следующими способами вы уже ничего не добьетесь).

Утилита «Очистка диска»

Наберите cleanmgr в командной строке, запущенной от имени администратора. Встроенная в Windows утилита для очистки диска покажет, сколько места вы сэкономите, удалив файлы обновлений Windows.

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

Как удалить все старые версии компонентов из папки WinSxS в Windows 10 и 8.1

Во времена Windows XP был очень популярен вопрос, можно ли удалять папки $NTUninstallKBxxxxxx$ из папки Windows. Помните такое?

В Windows 8.1 появилась аналогичная возможность, хотя реализована она совсем иначе ввиду глобальных различий в системах обслуживания 8.1 и XP.

Команда для удаления

Начиная с Windows 8.1, у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все предыдущие версии компонентов. Этот ключ не задействован в запланированном задании.

Внимание! Удаление предыдущих версий компонентов лишает вас возможности удалить установленные обновления и пакеты исправлений (Service Packs), но не блокирует установку будущих обновлений.

Это предупреждение вовсе не дежурное, если вспомнить недавнюю ошибку 0xc0000005 после KB2859537, от которой плакал горючими слезами Рунет. Так или иначе, волшебная команда:

1

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Очевидно, выигрыш дискового пространства зависит как от количества зачищаемых обновлений, так и от объема замененных ими компонентов. В моем примере удалось высвободить еще около 24MB.

Увеличить рисунок

Что происходит при удалении всех предыдущих версий компонентов

Рассказ об этом перенесен в статью, которая раскрывает подноготную оптимизации папки WinSxS.

Описанные выше нововведения в Windows 8.1 не являются секретом, поскольку задокументированы в библиотеке TechNet (пока только на английском языке). Причем объяснения там выгодно отличаются от типичной сухой документации — чувствувется перо Джозефа Конвея (Joseph Conway), главнoго источника сведений системе обслуживания Windows, который, к сожалению, недавно объявил о прекращении публикаций в своем блоге.

Сжатие компонентов в папке WinSxS (тайное знание)

Однако в официальной документации практически нет информации о том, что с целью экономии дискового пространства для хранилища компонентов в Windows 8 и выше применяется сжатие. Я выделю несколько известных мне моментов:

  1. Сжатие применяется к файлам, которые не использует операционная система. К ним относятся предыдущие версии компонентов и отключенные компоненты. Этим, видимо, и объясняется не столь существенный выигрыш от удаления предыдущих версий с параметром/ResetBase.
  2. Используется разностное сжатие. По неподтвержденной пока уже подтвержденной информации в Windows 8.1 для компрессии замененных компонентов применяется разностное сжатие.
  3. Экономия дискового пространства может быть весьма существенной в некоторых сценариях. Так, на установке Windows Server Core 2012 R2 Preview благодаря сжатию высвобождается около 20% места, если исключить из уравнения файлы подкачки и гибернации. Экономия достигается за счет сжатия компонентов отключенных ролей сервера.

Возможность очистки системного диска в Windows Server 2008 R2 SP1

Обновление KB2852386 коснулось не только настольной версии Windows, но и серверной Windows Server 2008 R2 SP1. Это не удивительно, так как Windows Server 2008 и Windows 7 имеют одинаковую основу.

Непосредственно после установки этого замечательного обновления на сервер ничего не произойдет. Дело в том, что по-умолчанию в Windows Server 2008 не устанавливается, как это ни странно, утилита «Очистка диска» (Disk Cleanup) и, стало быть, несмотря на то, что обновление установлено, ни о какой очистке обновлений Windows речь идти не может.

Для того, чтобы утилита стала доступна, потребуются дополнительные действия. Существуют два варианта.

Первый, скажем так, стандартный по версии Microsoft, предполагает добавление с помощью оснастки “Диспетчер сервера” компоненты “Возможности рабочего стола” (Desktop Experience).

При этом надо иметь в виду, что помимо “Очистка диска” будут добавлены “Проигрыватель Windows Media”, “Темы оформления рабочего стола”, “Видео для Windows”, “Windows SideShow”, “Защитник Windows”, “Центр синхронизации”, “Звукозапись”, “Таблица символов” и “Ножницы”.

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

Благо, существует второй и очень простой способ включить “Очистку диска”. Для этого нужно скопировать из каталога:

%systemroot%\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da в %systemroot%\System32 файлcleanmgr.exe

и из:

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_ru-ru_02ec7949035cc80a в%systemroot%\System32\ru-RU файл cleanmgr.exe.mui

Таким способом можно включить очистку диска (но не очистку обновлений) и в других релизах Windows Server 2008. Окончания названий папок в WinSxS будут другими, но найти их по словуcleanmgr труда не составит.

При добавлении функционала по второму варианту запустить очистку диска можно выполнив команду

cleanmgr

от имени администратора.

Далее все полностью аналогично описанному чуть выше для Windows 7 SP1. 

В Windows 7 SP1 и Windows Server 2008 R2 SP1 это пока все. В запланированные задания ничего не добавляется, сжатия файлов также не наблюдается. Поэтому, если есть желание дополнительно уменьшить объем, занимаемый файлами в папке WinSxS, то можно сделать это выполнив выборочное ntfs-сжатие.

Описанный и реализованный ранее  в командном файле “winsxscompact” алгоритм ntfs-сжатия папки WinSxS дополнен новыми командами очистки обновлений для операционных систем Windows 7 SP1/Server 2008 R2 SP1 — Windows 8/8.1.

Напоминаю, что для того, чтобы совершенно бесплатно скачать скрипт “winsxscompact.cmd”,выполняющий очистку обновлений и ntfs-сжатие уникальных файлов в папке WinSxS, достаточно подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.

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

elber.com.ua

Очистка папки Windows WinSXS. Для чего предназначена папка WinSXS

Папка WinSXS занимает очень много места и продолжает расти по мере того, как вы пользуетесь Windows, найти и очистить папку WinSXS которая расположенная по адресу C:\Windows\WinSXS. В этой папке постепенно накапливаются неважные файлы, вроде старых версий системных компонентов.

Данная папка также содержит файлы для удалённых и отключённых компонентов Windows. Даже если какой-то компонент Windows у вас не установлен, он будет присутствовать в папке WinSXS, занимая место на жёстком диске.

Папка WinSXS содержит все системные компоненты Windows. На самом деле, все файлы компонентов в других директориях являются всего лишь ссылками на файлы в папке WinSXS. В папке WinSXS находятся все файлы операционной системы.

Когда Windows устанавливает обновления, она отправляет новый компонент системы в папку WinSXS и оставляет старый компонент в том же месте. Это означает, что каждое устанавливаемое вами обновление Windows увеличивает размер папки WinSXS. Конечно, это позволяет вам удалять обновления операционной системы из панели управления, что может пригодиться в случае забагованного обновления, но данной возможностью редко пользуются.

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

Однако для Windows 7 вышел только Пакет обновлений 1, релиз которого состоялся в 2010 году. Microsoft не намерена выпускать другие. Это означает, что файлы обновлений Windows накапливались в системах под управлением Windows 7 более трёх лет, и удалить их было непросто.

Очистка папки Windows WinSXS и файлов обновлений

Для решения этой проблемы Microsoft недавно перенесла функцию из Windows 8 и Windows 7. Это было сделано без особых фанфар. Функцию добавили в рамках обычного обновления операционной системы. Такого, в котором обычно не бывает ничего особенного.

 

Чтобы очистить файлы обновлений, откройте Мастер очистки диска (нажмите на клавишу Windows, введите в поисковое поле «очистка диска» и нажмите Enter). Нажмите на кнопку «Очистить системные файлы», поставьте галочку рядом с опцией «Удаление файлов обновлений» и нажмите «OK». Если вы пользовались своей Windows 7 в течение нескольких лет, то, вероятно, сможете освободить несколько гигабайт.

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

Если вы не видите такой функции в окне Очистки диска, скорее всего вы отстали в плане обновлений. Загрузите и установите свежие обновления через Центр обновления Windows.

В состав Windows 8 и 8.1 входят встроенные функции, которые выполняют эту работу автоматически. На самом деле, в Windows существует запланированная задача StartComponentCleanup, которая работает в фоновом режиме, очищая компоненты через 30 дней после их установки. Этот 30-дневный период даёт вам время удалить обновление, если оно вызывает проблемы.

Если вы хотите очищать файлы обновлений вручную, можете использовать опцию очистки в окне «Использование диска», так же, как в Windows 7. (Чтобы открыть его, нажмите клавишу Windows, выполните поиск по фразе «очистка диска», затем кликните по ярлыку «Освобождение места на диске за счёт удаления лишних файлов»)

Windows 8.1 предоставляет вам больше вариантов, позволяя принудительно удалять все предыдущие версии установленных компонентов, даже тех, которые отсутствовали в системе более 30 дней. Эти команды нужно выполнять в командной строке с полными правами. Другими словами, запустите командную строку от имени администратора.

К примеру, следующая команда удалит все предыдущие версии компонентов без 30-дневного льготного периода, действующего для запланированной задачи:

DISM.exe /online /Cleanup-Image /StartComponentCleanup

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

DISM.exe /online /Cleanup-Image /SPSuperseded

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

DISM.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

Удаление компонентов по требованию

Современные версии Windows позволяют вам включать и выключать компоненты Windows по требованию. Список этих компонентов вы найдёте в окне «Компоненты Windows», доступ к которому можно получить из панели управления.

Даже компоненты, которые вы не устанавливали, то есть те, которые не отмечены в данном окне, хранятся на жёстком диске в папке WinSXS. Если вы решите установить их, они станут доступны из папки WinSXS. Это значит, что вам не придётся что-то загружать или использовать носитель с Windows для установки таких компонентов.

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

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

Чтобы сделать это, откройте командную строку от имени администратора. Воспользуйтесь следующей командой, чтобы посмотреть доступные компоненты:

DISM.exe /Online /English /Get-Features /Format:Table

Вы увидите таблицу с названиями компонентов и их текущими состояниями.

Чтобы удалить компонент из системы, выполните следующую команду, заменив ИМЯ названием компонента, который вам больше не нужен. Имя можно взять из таблицы выше.

DISM.exe /Online /Disable-Feature /featurename:ИМЯ /Remove

Если вы выполните команду /GetFeatures снова, то увидите, что статут этого компонента изменился с «Отключён» на «Отключён, файлы удалены». Теперь мы точно знаем, что он больше не занимает место на жёстком диске вашего компьютера.

Если вы хотите сократить объём Windows настолько, насколько это возможно, обязательно ознакомьтесь с нашим списком способов освобождения места на диске в Windows и уменьшения места, занимаемого системными файлами.

allerror.ru

Очистка WinSxS

22:42 11 февр. 2016

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

Очистка WinSxS  – прихоть или необходимость

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

Для чего выполняется очистка папки WinSxS Windows 7

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

На самом же деле размер директории на каждом компьютере разный, он зависит от того, насколько часто переустанавливалась операционная система и сколько раз она обновлялась. Соответственно, что чем больше времени на ПК стоит одна «операционка», тем размер папки больше.

Стоит отметить, что именно благодаря папке WinSxS увеличивается надежность системы, поэтому следует подумать, прежде, чем ее очищать.

Как выполняется  очистка Winsxs на Windows 7 x64

Директория WinSxS хранит копии системных файлов до момента обновления. При этом каждый раз при обновлении "операционки" в нее записывается информация об измененных файлах, благодаря которой можно удалить или вернуть выполненные изменения.

В Windows 7 WinSxS очистка выполняется штатными средствами очень просто. Заходим в центр по обновлению системы Виндоуз, жмем на «Поиске обновления» в левом углу.

Далее нажимаем на необязательные обновления. Находим и отмечаем KB2852386, после чего устанавливаем его.

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

Каким образом выполняется очистка Winsxs в Windows 8

На самых последних версиях windows разработчиками была заложена способность стирать копии всех обновлений по умолчанию в утилите очистки диска.

Соответственно, чтобы убрать все файлы из директории WinSxS, нам необходимо выполнить следующую последовательность действий:

  1. Запускаем утилиту под названием «Очистка диска», для чего можно воспользоваться услугой поиска.
  2. Нажимаем на «Очистку системных файлов».
  3. В появившемся меню отмечаем строку «Очистка обновлений Windows».

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

От лица Администратора запускаем командную строку. Выполнить это действие можно, нажав сочетание клавиш Win+X, а после выбрав необходимый пункт меню. Вводим такой текст: dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase Чтобы постоянно не беспокоиться об удалении файлов из папки WinSxS, можно воспользоваться планировщиком задач. С его помощью можно будет не выполнять очистку вручную, и этот процесс будет происходить в автоматическом режиме.

cucumbler.ru

AlterZet.com » Очистка папки WinSxS

 

WinSxS — папка, в которой расположено хранилище компонентов Windows (Windows Component Store). Расположена она в папке Windows, как правило это C:\Windows\WinSxS. Внутри хранятся файлы, используемые при добавлении новых ролей и компонентов Windows, резервные копии файлов, заменяемых при обновлении, а также загрузочных файлов операционной системы. Всё это позволяет откатывать обновления, если что-то пошло не так, восстанавливать поврежденные системные файлы и добавлять/удалять роли и компоненты. Со временем хранилище разрастается и дальше разберем как правильно его почистить.

Windows Explorer не совсем верно отображает размер папки WinSxS. Связано это с тем, что Component Store использует технику «жестких ссылок»(Hard Links). По сути Hard Link — это объект ФС, который позволяет двум и боле файлам ссылаться на одни и те же данные на жестком диске. Изменения данных в одном таком файле затрагивают все остальные. Windows Explorer не учитывает наличие таких линков и может отображать размер неправильно.

 

Узнаем фактический размер WinSxS

 

Определить фактический размер папки WinSxS можно с помощью утилиты dism. Для этого запускаем командную строку с правами администратора и выполняем следующую команду:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

 

Помимо прочего, команда возвращает нам следующее:

Windows Explorer Reported Size of Component Store — размер хранилища компонентов (WinSxS) по мнению проводника

Actual Size of Component Store — фактический размер хранилища.

Component Store Cleanup Recommended — рекомендована ли очистка хранилища.

В нашем случае Dism рекомендует очистить Component Store. Перейдем непосредственно к этому.

 

Очистка WinSxS

 

Начиная с Windows 8 и выше для этого есть несколько способов:

 

Планировщик заданий. (Task Scheduler)

Задание StartComponentCleanup создано специально для очистки хранилища компонентов.

 

 

 

 

Чтобы его запустить открываем Task Scheduler, переходим в Task Scheduler Library\Microsoft\Windows\Servicing, кликаем по нему правой кнопкой и выбираем пункт меню Run.

То же самое можно сделать через командную строку выполнив команду:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

Dism.exe

Второй вариант очистки папки WinSxS — утилита Dism. Параметр /StartComponentCleanup аналогичен запуску задания StartComponentCleanup в планировщике, за исключением того, что все предыдущие версии обновлённых компонентов будут сразу удалены (в случае планировщика заданий удаление происходит минимум через 30 дней после удаления). Команда выглядит следующим образом:

 

Dism.exe /online /Cleanup-Image /StartComponentCleanup

 

 

Использование /ResetBase вместе с /StartComponentCleanup удалит все замененные версии каждого из компонентов Componetnt Store. Обратите внимание — после выполнения команды невозможно будет удалить установленные обновления и сервис паки.

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

 

 

Параметр /SPSuperseded удалит все резервные копии компонентов, создаваемые при установке сервис пака. После выполнения команды невозможно будет откатить сервис пак.

 

Dism.exe /online /Cleanup-Image /SPSuperseded

 

На моей системе Service Pack не установлен, соответственно и файлов бэкапа нет.

После выполнения всех команд Dism проверим размер папки WinSxS.

 

 

Итого освободилось около 2 Гб. Эта цифра может отличаться в зависимости от системы, установленных обновлений и других факторов.

 

 

alterzet.com

Безопасная очистка папки WinSXS в Windows Server 2012

Прежде чем говорить о безопасном способе очистки папки WinSxS в Windows Server 2012, попробуем понять, что же это за папка такая, что в ней хранится и почему со временем она увеличивается в размерах.

Если вы помните, при установке дополнительных компонентов в Windows Server 2003 мастер установки требовал вставить в CD-Rom установочный диск , либо указать путь к каталогу с дистрибутивом Windows Server 2003. В Windows Server 2008 Microsoft решила изменить подход к установке дополнительных ролей и возможностей Windows. Теперь все бинарные файлы, необходимые для разворачивания любой роли, хранятся в каталоге C:\Windows\WinSxS (WinSxS — Windows Side By Side). Это означает, что при установке любой дополнительной роли теперь нет необходимости искать и подключать к серверу  диск с дистрибутивом. Естественно, при таком подходе для ОС требует гораздо большего места на диске. Нужно понимать, что в  каталоге WinSXS содержаться ключевые компоненты системы, поэтому удалять из нее что-то вручную ни в коем случае нельзя. Почему же размер папки WinSXS постоянно растет? Ответ прост – обновления.  При установке обновлений различных компонентов в каталоге  WinSXS остаются и старая и новая версия обновленного компонента. Благодаря такой архитектуре, мы в любой момент можем безопасно удалить любое установленное обновление и откатиться на старую версию компонента.

  • Features on Demand в Windows Server 2012
  • Установка удаленных ролей и функций в Windows Server 2012

А что же делать, если система запущена и работает, разворачивать дополнительные роли не планируется, а места на диске не хватает? Ведь нелогично, что на системном диске несколько гигабайт занято дистрибутивами, которые никогда не потребуются! В Windows Server 2008, к сожалению, удалить данные файлы без вреда системе довольно сложно. Однако, в новой серверной ОС — Windows Server 2012, Microsft решила исправить этот недостаток и внедрила новую функцию под названием Features on Demand.

Features on Demand в Windows Server 2012

Функция Features on Demand (функции по запросу) позволяет уменьшить размер, занимаемый системой на диске, предоставляя возможность удалений бинарных файлов неиспользуемых ролей  из папки WinSxS.  В том случае, если в дальнейшем возникнет необходимость вернуть ранее удаленную роль, то все необходимые для работы ролей файлы можно извлечь из образа дистрибутива Windows Server 2012, службы Windows Update или сетевого ресурса с оригинальным содержимым WinSxS.

С помощью следующей команды Powershell можно получить информацию обо всех ролях системы:

Get-WindowsFeature

Как вы видите, в колонке Install State отображается состояние каждой роли. Возможные статусы:

  • Installed: роль или функция установлена и в настоящий момент используется системой
  • Available: роль на сервере не установлена, однако на диске присутствуют все необходимые файлы, позволяющие в любой момент установить/активировать эту роль.
  • Removed: — роль или функция на сервере не установлена, файлы, необходимые для ее установки удалены с диска

Соответственно, при установке любой роли через GUI или Powershell (команда Install-WindowsFeature) ее статус с Available меняется на Installed, а при удалении (команда Uninstall-WindowsFeature) наоборот.

Полностью удалить роль с диска (из папки WinSxS) можно только через Powershell.  Для этого  нужно использовать специальный аргумент команды Uninstall-WindowsFeatur  — Remove.

Например, чтобы удалить бинарные файлы  роли DHCP-сервера, выполните команду:

Uninstall-WindowsFeature –Name DHCP –Remove

А чтобы удалить файлы службы каталогов Active Directory Domain Services:

Uninstall-WindowsFeature AD-Domain-Services -Remove

С помощью конвейеров Powershell можно написать более сложную команду, которая удалит с диска инсталляционные файлы всех неиспользуемых ролей и функций Windows Server:

Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove

В нашем примере, при условии, что была установлена только роль файл-сервера, размер папки WinSxS уменьшился с 8 до 5.2 Гб. Неплохо, правда? Тем более, что для очистки папки WinSxS нам потребовалась всего одна команда.

Установка удаленных ролей и функций в Windows Server 2012

Рассмотрим еще один сценарий, предполагающий, что вам потребуется установить некую роль Windows Server 2012, дистрибутив которой был удален из каталога WinSxS.  Восстановить роль можно несколькими способами: с помощью GUI Server Manager или с помощью Powershell.

Прежде, чем приступить к восстановлению файлов ролей, необходимо определить индекс установленной редакции Windows Server 2012.  Нам понадобятся диск с дистрибутивом Windows Server 2012 (а точнее файл образа install.wim, находящийся в каталоге sources). Выполните следующую Powershell команду:

Get-windowsimage –imagepath <путь к файлу wim>\sources\install.wim

Найдите версию установленного у вас Windows Server и запомните ее индекс (значение в строке Index). В нашем примере это Windows Server 2012 Datacenter с индексом 4. (Мы уже рассматривали особенности работы с различными редакциями Windows 2012 в одном дистрибутиве в статье «Интеграция драйверов в установочный диск Windows Server 2012»).

Ту же самую операцию можно выполнить с помощью утилиты Dism:

dism.exe /get-imageinfo /imagefile:d:\sources\install.wim

Устанавливаем удаленную роль с помощью Server Manager

Откройте консоль Server Manager и запустите мастер установки ролей (Add Roles and Features. Выберите роль или функцию, которую необходимо установить. Мастер предупредит, что некоторые файлы, необходимые для установки данной роли отсутствуют и нужно указать альтернативный путь к местоположению  дистрибутива. Нажмите кнопку Specify an alternate source path.

В поле Path укажите полный путь к файлу intall.wim и индекс установленной редакции ОС в таком формате:

WIM:D:\Sources\Install.wim:4

В случае необходимости,  в данной строке можно указать сетевой путь к каталогу с файлом WIM или сетевой путь к каталогу WinSxS. Кроме того путь к данному каталогу можно указать сразу для группы серверов с помощью групповой политики ( Computer Configuration -> Administrative Templates ->System ->Specify settings for optional component installation and component repair). Последний вариант удобен в случае большого количества инсталляций серверов с Windows Server 2012, ведь суммарный эффект от очистки папки WinSxS может достигать сотен Гб.

После того, как будет нажата кнопка OK, все необходимые файлы для устанавливаемой роли будут скопированы в каталог WinSxS.

Восстановление удаленной роли Windows 2012 с помощью Powershell

Ту же самую операцию можно выполнить с помощью всего одной команды Powershell. Допустим, нам нужно восстановить удаленные файлы роли ADDS. Выполним следующую команду:

Install-WindowsFeature AD-Domain-Services -Source WIM: WIM:D:\Sources\Install.wim:4

Итак, в этой статье мы разобрались с новой функцией Windows Server 2012 под название Features on Demand, позволяющей удалить дистрибутивы бинарных файлов неиспользуемых серверных ролей из каталога WinSxS. В случае необходимости удаленную роль можно достаточно просто восстановить: все, что для этого понадобится – дистрибутив Windows Server 2012.

В Windows 8 функция Feautere on Demand работает немного по другому, дело в том, что используемый нами командлет Powershell просто напросто отсутствие. Его аналогом (не таким удобным) является команда DISM с параметром /Disable-Feature. Кроме того можно просто сжать содержимое каталога Winsxs. Подробности в статье Как уменьшить размер папки Winsxs в Windows 8

winitpro.ru