ItHelp
Windows 2008 уменьшаем размер папки WinSxS
Windows 2008 уменьшаем размер папки WinSxS через установку обновления KB2852386 и утилиты Disk Cleanup
Один из вариантов очистки каталога winsxs это использование утилиты Disk Cleanup и установки обновления. Но на Windows 2008 server по умолчанию отсутствует.
Можно установить утилиту вручную без перезагрузки,но тогда кнопка очистки в свойствах диска не появится и вызывать надо будет только через командную строку.
А можно способом ниже:
Для начала скачаем и поставим обновление
Выбираем по ссылке из списка или жмём на прямую ссылку.
Давайте удалим старые файлы!
Обычно размер папки winsxs выглядит так.
Но зависит ещё от сервера. Какие-то файлы больше, Какие-то меньше.
Устанавливаем обновление как и любое другое по клику на .msu файл:
Установка не требует заранее установленного Desktop Experience. Проверьте после обновления размер директории. Если ничего не поменялось, то надо установить Desktop Experience.
Установщику нужные дополнения. Нажимаем Add Required Features, затем Next и Install:
Перезагрузка обязательна для заверешния установки.
Нажимаем Close и перезагружаем сервер.
После перезагрузки утилита Disk Cleanup будет доступна по пути Start –> All Programs –> Accessories –> System Tools:
При запуске нас спросят о диске для очистки:
После нажатия ОК начнётся сканирование:
Для очистки будут доступны некоторые пункты, в том числе новый и нужный для нас пункт: Windows Update Cleanup:
Как и в Windows 7 эффект будет после перезагрузки. Проверим папку WinSxS, она немного уменьшится.
Очистка диска в Windows Server 2008/2008r2 без установки Desktop Experience
В Windows Server 2008 /R2 и 2012 / R2 по умолчанию не установлена утилита очистки диска — Disk Cleanup ( cleanmgr.exe ), позволяющая удалить ненужные файлы и очистить каталог WinSxS от файлов устаревших обновлений. Для ее запуска нужно сначала установить отдельный компонент сервера Desktop Experience (Возможности рабочего стола) с помощью Server Manager или с помощью PowerShell (Install-WindowsFeature Desktop-Experience).
Совет . В Windows 2008 R2 для возможности использовать cleanmgr для удаления устаревших обновлений нужно установить обновление KB2852386 .
Но вместе с Desktop Experience устанавливается множество других компонентов, которые абсолютно не нужны на сервере:
- Windows Media Player
- Темы рабочего стола
- Поддержка AVI для Windows
- Windows SideShow
- Windows Defender
- Disk Cleanup
- Sync Center
- Запись звука
- Character Map
- Snipping Tool
Для запуска мастера очистки дисков в Windows Server можно воспользоваться более простым методом: достаточно скопировать в системный каталог из каталога WinSxS два файла Cleanmgr.exe и Cleanmgr.exe.mui . Ниже представлены команды для копирования файлов на разных версиях Windows (во всех случаях путь для английских редакций ОC)
Windows Server 2008 R2 x64
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\
Windows Server 2008 x64
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui C:\Windows\System32\en-US\
Windows Server 2012 x64
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui C:\Windows\System32\en-US\
Для запуска утилиты очистки диска теперь достаточно выполнять с правами администратора команду cleanmgr.exe.
Windows Server 2012 R2 x64
Рассмотренный выше трюк не работает в Windows Server 2012 R2 из-за изменений, внесенных обновлением KB2821895. Дело в том, что после установки данного обновления для хранения бинарных файлов компонентов стала использоваться компрессия. При попытке запустить скопированный cleanmgr.exe появляется ошибка:
The Program or feature \??\C:\Windows\system32\cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of windows
В качестве обходного решения можно воспользоваться такой методикой:
- Установить компонент Desktop Experience: Install-WindowsFeature Desktop-Experience
- Перезагрузить сервер
- Скопировать файлы % windir%\system32\cleanmgr.exe и %windir%\system32\en-US\cleanmgr.exe.mui в произвольный каталог (c:\temp)
- Удалить фичу: Uninstall-WindowsFeature Desktop-Experience
- Перезагрузка
- Скопировать файлы cleanmgr.exe и cleanmgr.exe.mui в описанные выше каталоги
В дальнейшем эти два файла можно скопировать и на все другие сервера или интегрировать в шаблоны виртуальных машин с Win 2012 R2.
Ссылка на скачивание готового комплекта файлов cleanmgr.exe.mui + cleanmgr.exe для Windows Server 2012 R2 на ЯндексДиске (thks Alex Kornev )
Совет . Для удаления устаревших обновлений в Windows Server 2012 R2 гораздо проще воспользоваться такой командой DISM:
Новые возможности уменьшения размера папки WinSxS в Windows 8 и Windows 7
Здравствуйте уважаемые читатели блога www.ithabits.ru. Возвращаемся к одной из самых популярных тем, а именно, к способам уменьшения размера папки WinSxS в Windows 7.
8 октября 2013 года в категории рекомендуемых вышло обновление KB2852386, которое наконец-то добавило очень важный функционал в утилиту «Очистка диска» для Windows 7 SP1 и Windows Server 2008 R2 SP1.
Это обновление распространяется на все легитимные, то есть прошедшие проверку подлинности, издания Windows 7 SP1 и Windows Server 2008 R2 SP1.
17 октября 2013 года состоялся релиз Windows 8.1. Начнем рассмотрение способов очистки папки WinSxS с этой новейшей версии операционной системы, так как в ней они представлены наиболее полно. Далее рассмотрим особенности реализации алгоритма очистки в Windows 8 и, наконец, в Windows 7 и Windows Server 2008.
Причины, побудившие Microsoft изменить отношение к объему, занимаемому операционной системой Windows на диске
Перед тем как непосредственно перейти к описанию новых возможностей очистки папки WinSxS, совершим очень короткий экскурс в историю развития операционных систем Microsoft и посмотрим сколько места занимали разные версии Windows по годам.
Операционные системы MS Windows
Дата выхода
Место на диске Мб
Коэффициент увеличения
08.04.1992
24.08.1995
25.06.1998
14.09.2000
25.10.2001
2 500
Vista
30.11.2006
20 000
22.10.2009
20 000
Нетрудно подсчитать, что Windows Vista, появившаяся в 2006 году, потребовала для своей установки примерно в 1800 раз больше места на жестком диске, чем было нужно для Windows 3.1 в 1992 году. Такой фантастический скачок аппетита ОС произошел всего за 14 лет.
Особенно драматически захват дискового пространства выглядит в моменты “революционных” изменений операционной системы: 3.1 – 95, 98 – XP (ME прошла практически незамеченной), XP – Vista.
В некотором смысле мы уже привыкли к тому, что переход на каждую новую версию Windows сопровождался или сменой компьютера, или, как минимум, походом в магазин за оперативной памятью или новым жестким диском.
Сегодня по объему первоначально занимаемого места на накопителе Windows является абсолютным лидером. Если сравнивать с Linux, то, например, самый популярный на момент написания этой статьи (по версии distrowatch.com) Linuxmint, требует для своей установки около 5 Гб на диске.
В одной из статей я описывал установку Linuxmint на нетбук “Asus Eee PC 900” с двумя маленькими SSD (4 + 8 ГБ). Сборка для обычного компьютера (не для нетбука) с полным набором программ чувствует себя на нем вполне комфортно.
Примерно такой же объем – около 10 ГБ, нужен на диске для Mac OS.
К сожалению это еще не все. Наверняка многие слышали шутливое сравнение Microsoft Windows с газом – оба пытаются сразу занять собой весь объем в котором находятся. Это, конечно, преувеличение, но, как известно, в каждой шутке есть только доля шутки.
В процессе эксплуатации Windows начинает занимать все больше и больше места на накопителе и не только за счет новых программ и пользовательских данных. Бороться с этим неприятным явлением бывает очень непросто.
До недавнего времени такая ситуация не сильно волновала Microsoft, так как стоимость единицы хранения информации на механическом жестком диске к моменту выхода очередной версии Windows успевала упасть до приемлемого значения.
Сложившийся ход вещей нарушил приход в пользовательский сектор значительно более дорогих и менее емких твердотельных накопителей SSD.
Возможно, что пройдет еще немного времени и твердотельные накопители емкостью более 100 Гб станут обычными для всех пользовательских устройств. Пока же большинство планшетных компьютеров комплектуются SSD объемом до 64 Гб, а уместить на накопитель такого объема операционную систему Windows вместе с пользовательскими данными крайне проблематично.
Полноценная Windows 7 x64 на один SSD объемом 60 ГБ точно не поместилась.
Возможно, что частично это объясняет и неудачи с Surface – собственным планшетом от Microsoft.
Можно предположить, что эти обстоятельства и заставили инженеров Microsoft искать возможности для минимизации дискового объема, необходимого для работы Windows. Перейдем к рассмотрению таковых, известных на сегодняшний момент времени.
Очистка папки WinSxS в Windows 8.1
Графическая утилита очистки
Начнем с более привычных для большинства пользователей графических утилит. А для того, чтобы оценить эффективность новых способов очистки, зафиксируем исходный объем места, занимаемого Windows 8.1.
Кроме этого запомним количественные свойства папки WinSxS из “Свойства”:
Размер: 5,54 ГБ
На диске: 5,46 ГБ
Файлов: 46657
Папок: 12786
Теперь нажимаем “Очистка диска”.
Пока ничего нового по сравнению c предыдущими версиями Windows не появилось.
Нажимаем “Очистить системные файлы”, дожидаемся завершения процесса обнаружения кандидатов на удаление и смотрим еще раз:
Вот это и есть то новое, что появилось в Windows. Объем файлов обновлений подлежащих удалению в представленном примере относительно небольшой. Он будет зависеть от количества и объема обновлений, сделанных с момента последнего выполнения очистки. Запускаем процесс:
Не смотря на небольшой объем удаляемых файлов, очистка занимает ощутимое время. Посмотрим, что получилось в результате. Папка WinSxS:
Размер: 5,05 ГБ
На диске: 4,97 ГБ
Файлов: 45519
Папок: 12758
Нетрудно посчитать, что показанный файловым менеджером объем папки WinSxS уменьшился примерно на 500 МБ. Это даже больше, чем было обещано. Однако, посмотрим диск:
10,3 — 9,97 = 0,33 ГБ или 338 МБ
Можно предположить, что это более правильное значение. Такая разница показаний может быть обусловлена ошибками расчета занятого места из-за большого количества жестких символьных ссылок в папке WinSxS. Как можно в Windows 8.1 посмотреть точный размер WinSxS, чуть ниже.
Быстро вызвать графическую утилиту очистки диска во всех системах можно командой cleanmgr.
Переходим к консольным командам.
Команды очистки файлов обновлений
Начнем опять же с Windows 8.1, как наиболее продвинутой в этом плане.
Запускаем командную строку от имени администратора. В Windows 8.1 это можно сделать через “Поиск”. В окне поиска нужно набрать cmd, затем выбрать по клику правой кнопкой мыши “Запуск от имени администратора”.
Все команды, которые будут представлены, можно выполнять и в Windows PowerShell. Кому как больше нравится.
Речь пойдет о системе обслуживания образов DISM, вернее о ее новых возможностях.
Выполним в начале команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Эта команда покажет размер хранилища компонентов WinSxS каким его видит проводник, фактический размер и сколько места занято общими с Windows файлами (жесткими ссылками), объем резервных копий и отключенных компонентов, дату последней очистки и сколько пакетов можно освободить.
Показанное на рисунке состояние WinSxS соответствует полученному в результате очистки с помощью графической утилиты. Посмотрим, изменится ли что-то если повторно запустить процесс очистки, но с помощью DISM.
Выполним основную команду очистки в DISM:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Повторяем запуск DISM с ключом /AnalyzeComponentStore и убеждаемся, что в папке WinSxS ничего не изменилось. Это означает, что запуск команды очистки в DISM эквивалентен рассмотренной выше графической утилите “Очистка диска”.
Судя по описанию команд в TechNet можно дополнительно уменьшить занимаемый системой объем за счет удаления всех предыдущих версий компонентов. Сделать это можно выполнив предыдущую команду очистки с дополнительным ключом:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Необходимо иметь в виду, что после выполнения этой команды не будет возможности отменить установленные обновления. Такая необходимость возникает не так уж часто, но лучше все же не рисковать и сделать предварительно системный бекап.
Надо сказать, что в рассматриваемом примере выполнение указанной команды на первый взгляд не возымело на папку WinSxS никакого действия, но при этом неожиданно уменьшилось общее место, занимаемое системой на диске C:\ до 9,58 ГБ. Впрочем, сомневаться в том, что это работает, не стоит.
Если после выполнения команды очистки с ключом /ResetBase открыть “Программы и компоненты” в “Панель управления” и попытаться удалить любое обновление из списка, то это окажется невозможным – кнопка “Удалить” попросту не появляется.
Очистка системы по расписанию
Согласно документации TechNet, начиная с Windows 8 очистка системы теперь выполняется автоматически как запланированное задание:
Если открыть “Планировщик заданий”, в разделе “Администрирование” панели управления, то в папке Servicing можно увидеть задание “StartComponentCleanup”.
При автоматическом запуске задание не будет удалять обновления, установленные в последние 30 дней.
Кроме того, в заголовке описания — “Run the StartComponentCleanup task in Task Scheduler to clean up and compress components” есть прямой намек на сжатие компонентов.
К сожалению, пока информации о том, что действительно имелось в виду, нет. Возможно, редко используемые компоненты будут подвергаться ntfs-сжатию, как это некогда было раньше. Например, в Windows Server 2003. История покажет.
Теперь перейдем к предыдущим версиям Windows и коротко посмотрим какие из перечисленных возможностей очистки системы имеются в них.
Средства очистки в Windows 8
Графическая утилита
По внешнему виду она ничем не отличается от Windows 8.1 и точно также может быть запущена разными способами: из свойств диска, командой cleanmgr или из “Панель управления” –> “Администрирование”:
Процесс очистки так же внешне ничем не отличается от Windows 8.1 и занимает весьма значительное время. В виртуальной машине Windows 8 х64 удаление обещанных 1,12 ГБ файлов обновлений происходило ну очень долго. Думал, что уже и не дождусь завершения.
Возможные варианты запуска очистки в команде DISM в Windows 8
Собственно, не варианты, а один единственный вариант:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Посмотреть информацию о WinSxS и обновлениях по /AnalyzeComponentStore не получится – версия DISM Windows 8 такой ключ не распознает.
То же самое относится и к /ResetBase – не поддерживается.
Запланированная очистка
Точно также, как в Windows 8.1.
Новые возможности обслуживания папки WinSxS в Windows 7
Как уже говорилось в начале статьи, эти возможности появились с выпуском обновление KB2852386 8 октября 2013 года.
Можно сказать, что это обновление настоящий подарок Microsoft пользователям легальных версий Windows 7 SP1.
В отличие от новейших версий операционной системы, в Windows 7 изменения коснулись исключительно графических утилит. Версия системы DISM осталась прежней и никакие ключи, связанные с очисткой обновлений, она не воспринимает. Но, как говорится, и за это большое спасибо.
Запуск очистки из свойств диска или командой cleanmgr. В “Администрирование” новый пункт не добавился.
Процесс полностью аналогичен описанному для Windows 8.1. Если запустить очистку диска командой cleanmgr, то нажимать кнопку “Очистить системные файлы” не придется – в списке кандидатов на удаление сразу появится строка “Очистка обновлений Windows”:
В отличие от Windows 8 / 8.1 непосредственно после выполнения очистки ничего не произойдет. Для того, чтобы файлы удалились из папки WinSxS, компьютер надо перезагрузить.
На представленном рисунке их объем равен нулю, но на самом деле на рабочем компьютере удалось избавится примерно от 3 ГБ. Это отличный результат.
Возможность очистки системного диска в 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 труда не составит.
При добавлении функционала по второму варианту запустить очистку диска можно выполнив команду
от имени администратора.
Далее все полностью аналогично описанному чуть выше для 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? Пожалуйста указывайте наименование и разрядность ОС.