Используя DISM в командной строке для проверки хранилища компонентов Windows или других целей, некоторые пользователи могут столкнуться с ошибкой 87: «Неизвестный параметр» или «Параметр не распознан в этом контексте».
В этой инструкции подробно о причинах ошибки 87 в командной строке при использовании DISM в Windows 11, Windows 10 и 7 и о возможных способах её исправления.
Проверьте правильность ввода команды DISM и набор известных параметров
Самая распространенная причина ошибки 87, особенно если речь идёт не о старых ОС, а о Windows 11 и Windows 10 — синтаксические ошибки при вводе команды, либо особенности списка поддерживаемых параметров.
Чаще всего это бывают следующие варианты ошибок:
- Отсутствие пробелов перед знаком «/» в указанных параметрах команды DISM.
- Неправильный порядок указания параметров (например, если изменить порядок параметров checkhealth или scanhealth и cleanup-image, вы получите указанную ошибку).
- Также русскоязычные пользователи, случается, путают латинские буквы C и S, U и Y.
- В некоторых случаях при вводе команд пользователь не учитывает, что список поддерживаемых параметров DISM отличается, в зависимости от того, запущена ли командная строка в работающей системе или в среде восстановления (или с загрузочной флешки). Более подробно на эту тему в инструкции, где рассмотрена именно такая ситуация: Неизвестный параметр Cleanup-Image при использовании DISM — причины и варианты решения.
Даже если вы копируете команду с какого-то сайта, следует учитывать, что ошибки могут быть и там — опечатки, копирование кода с ошибками, никто от этого не застрахован.
Версия DISM
Версии DISM и набор поддерживаемых команд отличаются. Не все команды, которые работают в DISM из Windows 11/10 будут работать в Windows 7 и 8.1. К примеру, если в современной ОС с DISM 10-й версии использовать команду
DISM /online /cleanup-image /checkhealth
она будет исправно работать, равно как и аналогичная по действию
DISM /online /cleanup-image /scanhealth
Если ту же команду (первую в списке) ввести в Windows 7, с DISM версии 6.1, результатом будет ошибка 87:
Возможные варианты решения:
- Не использовать неподдерживаемые команды, если они не критичны для получения нужного результата.
- Установить последнюю версию DISM, это можно сделать даже в старой версии системы, что будет рассмотрено далее.
Установка последней версии DISM в Windows старых версий
При необходимости использовать последнюю версию DISM в предыдущей версии Windows, вы можете скачать и установить Windows ADK (Комплект средств для развертывания и оценки Windows) нужной версии (например, мы можем установить ADK для Windows 10 в Windows 7) и выбрать пункт «средства развертывания» при установке:
Установщики последних версий Windows ADK доступны на официальной странице https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install при этом следует учитывать:
- Для установки последних версий требуется наличие .NET Framework 5 на компьютере.
- Это онлайн-установщики и загрузка необходимых компонентов из РФ без VPN не работает.
- Новая версия DISM не заменяет имеющуюся, а устанавливается отдельно, по умолчанию — в папке
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM
и потребуется запускать её из этого расположения, либо добавлять в переменные среды.
Если ошибка сохраняется, можно учесть следующие нюансы и попробовать некоторые дополнительные варианты действий:
- Для работы некоторых параметров DISM, например, /spsuperseded требуется, чтобы служба «Установщик модулей Windows» была включена. Включить службу можно в Win+R — services.msc. Находим «Установщик модулей Windows» в списке, дважды нажимаем по службе и устанавливаем тип запуска «Вручную» — значение по умолчанию для этой службы.
- Выполнить проверку целостности системных файлов с помощью команды sfc /scannow
- Если ранее ошибка не возникала, попробовать использовать точки восстановления системы.
- Если есть обновления Windows — попробуйте установить их, однажды в очередном обновлении Windows 10 ошибка 87 была вызвана проблемами в самом обновлении и уже в следующем она была исправлена.
Если проблема сохраняется, опишите в комментариях, при каких обстоятельствах она возникает, а также укажите версию Windows, DISM (отображается после запуска команды), какую именно команду вы пробуете ввести — я постараюсь помочь.
Вы тут: Главная → Popular → Как грамотно уменьшить размер папки WinSxS в Windows 10, 8.1 и 8
Уже 7 лет папка WinSxS является бельмом в глазу у ряда пользователей. Все эти годы Microsoft потихоньку улучшала систему обслуживания Windows, и в прошлом году я рассказывал о тонкостях управления компонентами Windows 8. Выгоду от тех нововведений получили администраторы серверных ОС, а на улицу домашних пользователей настоящий праздник пришел только в Windows 8.1.
Перейти к инструкциям по очистке
Сегодня я расскажу вам о ключевых изменениях в системе обслуживания Windows 8 и 8.1, которые помогут вам эффективнее распорядиться дисковым пространством и наконец-то очистить папку WinSxS, не рискуя при этом нарушить работу системы.
У вас Windows 7? Читайте Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1
[+] Сегодня в программе
Животрепещущие вопросы
Сначала я обозначу два вопроса, которые сильнее всего волнуют людей в контексте папки WinSxS.
Почему папка WinSxS такая большая
На самом деле, она занимает значительно меньше места, чем кажется. Множество файлов из папки Windows проецируется в нее с помощью жестких ссылок именно из папки WinSxS. Да, файловые менеджеры могут показывать размер папки WinSxS в 10GB и более, но лишь потому, что они принимают за чистую монету объем жестких ссылок. В Windows этому есть очень наглядное подтверждение.
Почему папка WinSxS постоянно растет
Каждый раз, когда вы устанавливаете обновления, системные файлы заменяются новыми. Их старые версии сохраняются в папке WinSxS, чтобы обеспечить возможность отката в случае проблем с новыми версиями, т.е. устойчивое обслуживание системы. Это приводит к увеличению объема папки WinSxS, хотя на практике ее максимальный размер редко превышает 15GB. Кстати, именно этого аспекта коснулось одно изменение в Windows 8.1, как вы увидите ниже.
Новые возможности системы обслуживания
Вездесущая утилита DISM обзавелась в 8.1 новыми параметрами командной строки, которые я разберу в этой статье. Но сначала – несколько примечаний:
- В моем распоряжении находится английская Windows 8.1 Preview, в которой результаты команд DISM не локализованы, несмотря на русский языковой пакет. Фанатичным приверженцам локализованных ОС придется потерпеть
- Поскольку Windows 8.1 Preview установлена недавно, размер папки WinSxS невелик, равно как и выгода от описанных в статье манипуляций. Однако, чем дольше установлена ОС, тем заметнее польза от изменений в системе обслуживания.
- Все команды нужно выполнять от имени администратора, а после очистки — перезагружаться для более аккуратного измерения экономиии дискового пространства.
Готовы? Давайте пойдем от простого к сложному!
Как определить реальный размер папки WinSxS в Windows 10, 8.1 и 8
С помощью одного из новых параметров DISM вы можете проанализировать хранилище компонентов, т.е. папку WinSxS.
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Результат команды будет примерно таким:
Увеличить рисунок
Здесь по порядку:
- Размер хранилища компонентов, каким его видит проводник, т.е. без учета жестких ссылок внутри WinSxS.
- Реальный размер хранилища компонентов с учетом жестких ссылок (за исключением ссылок на папку Windows), в том числе:
- Общие файлы с папкой Windows. Эти файлы необходимы для работы системы и ни в коем случае не являются лишними. В моем примере они составляют 87% от размера хранилища, но чем больше обновлений устанавливается, тем ниже этот процент.
- Резервные копии и отключенные компоненты. Эти файлы хранятся на случай проблем с обновленными компонентами или для включения ролей или компонентов. Их можно условно считать лишними, поскольку они не критичны для текущей работы системы.
- Кэш и временные файлы. Эти файлы нужны для быстрой работы системы обслуживания, но не являются абсолютно необходимыми для функционирования Windows.
- Дата последней очистки хранилища. Об очистке во всех подробностях ниже.
- Число пакетов, замененных более новыми, и рекомендация по очистке. Фактически, это – файлы, которые обновились после работы Windows Update. Их можно удалить очисткой хранилища.
Я прямо вижу, как у вас руки чешутся очистить хранилище и высвободить место
Как очистить папку WinSxS в Windows 10, 8.1 и 8
Начиная с Windows 8, в ОС заложено три способа очистки.
Команда DISM (рекомендую)
Вы можете очистить хранилище компонентов вручную одной командой.
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Это самый быстрый путь к выполнению оптимизации (после него двумя следующими способами вы уже ничего не добьетесь).
Утилита «Очистка диска»
Andrey Bayatakov, спасибо за напоминание об этом способе!
Наберите cleanmgr в командной строке, запущенной от имени администратора. Встроенная в Windows утилита для очистки диска покажет, сколько места вы сэкономите, удалив файлы обновлений Windows.
В принципе, утилита делает то же самое, что и ключ /StartComponentCleanup. Однако она весьма фривольна в оценках освобождаемого пространства, и в моих экспериментах ошибка измерялась сотнями мегабайт, причем в обе стороны.
Запланированное задание
Windows выполняет очистку папки winsxs по расписанию с помощью задания Microsoft – Windows – Servicing – StartComponentCleanup.
Конкретной команды не видно, поскольку очистка реализована обработчиком COM-объектов. А отсутствие триггеров свидетельствует о том, что задание работает в рамках вездесущего автоматического обслуживания. Запустив задание из планировщика или командной строки, вы достигаете почти того же эффекта, что и командой DISM с ключом /StartComponentCleanup. Различия таковы:
- Игнорируются обновления, установленные в последние 30 дней.
- Выдерживается часовая пауза, очистки всех файлов может не произойти.
Выполнив очистку, вы можете снова проанализировать хранилище и оценить изменения.
Увеличить рисунок
Как видите, в моем случае очистка 10 пакетов позволила сэкономить 60MB, что не так уж и много в масштабах папки. Однако можно почистить еще
Как удалить все старые версии компонентов из папки WinSxS в Windows 10 и 8.1
Во времена Windows XP был очень популярен вопрос, можно ли удалять папки $NTUninstallKBxxxxxx$ из папки Windows. Помните такое?
В Windows 8.1 появилась аналогичная возможность, хотя реализована она совсем иначе ввиду глобальных различий в системах обслуживания 8.1 и XP.
Команда для удаления
Начиная с Windows 8.1, у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все предыдущие версии компонентов. Этот ключ не задействован в запланированном задании.
Внимание! Удаление предыдущих версий компонентов лишает вас возможности удалить установленные обновления и пакеты исправлений (Service Packs), но не блокирует установку будущих обновлений.
Это предупреждение вовсе не дежурное, если вспомнить недавнюю ошибку 0xc0000005 после KB2859537, от которой плакал горючими слезами Рунет. Так или иначе, волшебная команда:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Очевидно, выигрыш дискового пространства зависит как от количества зачищаемых обновлений, так и от объема замененных ими компонентов. В моем примере удалось высвободить еще около 24MB.
Увеличить рисунок
Что происходит при удалении всех предыдущих версий компонентов
Рассказ об этом перенесен в статью, которая раскрывает подноготную оптимизации папки WinSxS.
Описанные выше нововведения в Windows 8.1 не являются секретом, поскольку задокументированы в библиотеке TechNet (пока только на английском языке). Причем объяснения там выгодно отличаются от типичной сухой документации — чувствувется перо Джозефа Конвея (Joseph Conway), главнoго источника сведений системе обслуживания Windows, который, к сожалению, недавно объявил о прекращении публикаций в своем блоге.
Сжатие компонентов в папке WinSxS (тайное знание)
Однако в официальной документации практически нет информации о том, что с целью экономии дискового пространства для хранилища компонентов в Windows 8 и выше применяется сжатие. Я выделю несколько известных мне моментов:
- Сжатие применяется к файлам, которые не использует операционная система. К ним относятся предыдущие версии компонентов и отключенные компоненты. Этим, видимо, и объясняется не столь существенный выигрыш от удаления предыдущих версий с параметром /ResetBase.
- Используется разностное сжатие. По неподтвержденной пока уже подтвержденной информации в Windows 8.1 для компрессии замененных компонентов применяется разностное сжатие.
- Экономия дискового пространства может быть весьма существенной в некоторых сценариях. Так, на установке Windows Server Core 2012 R2 Preview благодаря сжатию высвобождается около 20% места, если исключить из уравнения файлы подкачки и гибернации. Экономия достигается за счет сжатия компонентов отключенных ролей сервера.
В статье, где собраны все технические тонкости, я описал разные механизмы сжатия Windows 8 и 8.1+.
Конечно, точный ответ на этот вопрос может дать только Microsoft, поэтому я просто поделюсь своим видением ситуации.
Серверные ОС
Современную инфраструктуру трудно представить без технологий виртуализации, выгода от использования которых напрямую связана с эффективным использованием системных ресурсов. Это в полной мере относится к дисковому пространству, которого много никогда не бывает.
Удаление неиспользуемых ролей сервера в Windows Server 2012 помогает ИТ-специалистам эффективнее распоряжаться дисковым пространством. Тем, кто не знает об этой возможности или не считает целесообразным ее применять, поможет сжатие компонентов неиспользуемых ролей в Windows Server 2012 R2.
Клиентские ОС
К моменту выхода Windows 7 стоимость 1GB на жестких дисках была столь невелика, что папка WinSxS вызывала головную боль только у товарищей с маленьким сами знаете, чем. Однако на сцену уже выходили SSD, и система обслуживания Windows не очень хорошо сочеталась с их скромным объемом.
Казалось бы, к выходу Windows 8 твердотельный накопитель объемом 128GB уже не был чем-то из ряда вон выходящим, но на разработчиков системы обслуживания свалилась новая беда – планшеты, в том числе свой же Surface.
Действительно, все современные планшеты на Clover Trail в лучшем случае комплектуются диском в 64GB. А в более популярных младших моделях после вычета раздела восстановления остается около 25GB, чего недостаточно для более-менее долгосрочной работы Windows.
В Windows 8 очистка резервных копий компонентов нацелена на более эффективное использование пространства маленьких дисков планшетов, а в Windows 8.1 удаление предыдущих версий предоставляет запасной аэродром в самых тяжелых случаях.
Дискуссия и опрос
Эта запись является хорошим поводом для вас высказать все, что наболело по поводу хранилища компонентов Windows Опрос призван выявить количественный расклад, а в комментариях напишите, создает ли вам проблемы рост размера папки WinSxS. Если создает, опишите их и предоставьте ссылку на полноэкранный скриншот оснастки diskmgmt.msc.
Эта запись знаменует возобновление публикаций в блоге после летнего перерыва. Надеюсь, вы хорошо отдохнули Мой отпуск еще только грядет в сентябре, но вас уже ожидают несколько интересных запланированных записей
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Те пользователи, кто уже не первый год пользуется операционной системой Windows, наверняка замечали, как стремительно наполняется папка «Windows”. Такое скорое наполнение происходит из-за папки, которая называется «winsxs«. Именно она весит больше всех. Сегодня я расскажу вам, что это за папка в операционных системах Windows 7, 8, 10 как ее чистить и стоит ли удалять файлы в ней.
Для чего нужна папка winsxs?
Эту папку вы все сможете найти на своем компьютере, если пройдете путь «C:/Windows/winsxs/«. Она предназначена для хранения файлов компонентов ОС. Также в ней хранятся резервные копии и обновления к этим файлам. Несмотря на то, что все эти компоненты могут быть не установлены на вашей операционной системе, все равно они хранятся в папке и занимают очень много места на диске вашего компьютера.
Кстати, уточню, что я указал диск «С« в описании пути, в расчете на то, что именно он является системным. Возможно у вас эта папка находится на другом диске.
По факту, компоненты операционки находятся не в этой папке, а в других местах. Файлы, которые содержаться в «winsxs« являются ссылками на все эти компоненты. Как только будут установлены обновления Windows, то новые файлы и их старые копии будут находиться именно в этой папке. С каждым разом обновления растут в объеме, соответственно, папка «winsxs« заполняется сильнее и весит больше. В конечном итоге она может занимать очень много места на жестком диске.
Папка «winsxs« может весить несколько гигабайт, а то и десятков гиг. Понятное дело, что для современных жестких дисков этот объем особой роли не играет. Но для тех, у кого еще старые винчестеры, такой объем памяти имеет большое значение и далеко не лишний. Узнать, сколько весит папка «winsxs«, очень просто. Стандартный способ: правая кнопка мыши, выбираем свойства и вкладка общие. Фактический размер папки вы точно не узнаете, то судить о количество свободного пространства уже сможете. Обязательно запомните размерность данной папки, а лучше запишите ее. В дальнейшем оно вам пригодится, чтобы сравнить результаты проделанной работы.
Отвечу сразу на вопрос по поводу удаления этой папки. Вручную удалять «winsxs« никак нельзя. Удалив ее обычным способом, вы лишите операционную систему важных компонентов, без которых она не сможет должным образом функционировать.
Программами чистильщиками тоже лучше не пользоваться. Поэтому придется использовать штатные средства операционной системы, которые помогут уменьшить размер папки «winsxs«. О нескольких таких способах я вам сейчас расскажу.
Удаляем старые обновления через очистку диска
Данный способ можно применить ко всем операционным системам Windows 7 и старше. Запустить компонент очистки диска возможно любым из нижеприведенных способов.
Откройте «Мой компьютер«, выберите системный диск и щелкните по нему правой кнопкой мыши. После, в контекстном меню открываем пункт «свойства«. Переходим во вкладку «общие«. Здесь вам нужно запомнить объем свободного и занятого места на жестком диске. Далее нажимаем кнопку «очистка диска« и дожидаемся, когда процедура закончится.
Второй способ осуществляется через команду «выполнить«. Нажимаем комбинацию клавиш «Win+r«. В поле для ввода текста прописываем команду «cleanmgr« и нажимаем «Enter«. Далее находим системный диск и выбираем его. Жмем «Ок« и дожидаемся, когда система закончит подсчет удаляемых данных.
В открывшемся окне нажимаем кнопку «Очистить системные файлы«. Если всплывет запрос UAC, нажимаем «да«.
Для того, чтобы папка «winsxs« в Windows была очищена, убедитесь, что напротив пункта «Очистить обновления Windows«, стоит галочка. Именно этот раздел отвечает за удаление файлов в данной папке. Все остальные пункты можете отмечать по своему желанию. Так же в этом окне вы увидите приблизительный объем освободившейся памяти после чистки. После того, как все необходимые для вас пункты будут отмечены, нажимаем «Ок«. Процесс очистки может немного затянуться. Также в конце процедуры возможно потребуется перезагрузка компьютера.
Уточнение: функция очистки обновлений на Windows 8 и 10 встроена автоматически. В семерке такого нет. Но, есть обновление, которое поможет вам провести процедуру очистки в этой версии ПО. Для этого нужно скачать пакет обновлений КВ2852386 и установить на Windows 7.
Остальные способы, о которых я вам расскажу, не смогут вам помочь, если у вас установлена семерка.
Очистка планировщиком заданий
В Windows 8 и 10 разработчики позаботились об очистке папки «winsxs«. Поэтому в этой ОС стала доступна функция автоматической очистки. В этой операционной системе присутствует автоматическое задание «StartComponentCleanup«, которое можно запустить в фоновом режиме, чтобы удалить старые версии файлов, которым больше 30 дней. Такой временной период взят, чтобы не удалить свежие обновления. Утилита запускается вручную.
Для запуска вам необходимо нажать комбинацию клавиш «Win+r« и в поле «выполнить” прописать команду «taskschd.msc«. Вы увидите новое окно. В меню слева необходимо выбрать раздел «библиотека планировщика заданий«, после найти и открыть раздел «Microsoft« и «Windows«. Здесь находим раздел «Servicing« открываем его. В нем вы увидите файл «StartComponentCleanup«, выбираем его. В правой части окна находятся различные пункты, вам нужно найти «выполнить«. Таким образом вы запустите очистку папки «winsxs«. Процедура не быстрая и может занять около часа.
Такую же чистку можно провести через командную строку. Также вызываем команду «выполнить« и вводим «cmd«. Затем нужно ввести следующую команду «schtasks.exe /Run /TN «\Microsoft\Windows\Servicing\StartComponentCleanup« и нажать «Enter«
Очистка через командную строку
Программа Dism.exe специальное приложение cmd, которое дает возможность производить различные манипуляции с компонентами операционной системы, в том числе и очистить папку «winsxs«. В ОС Windows 8,1 и 10, имеется новый параметр «AnalyzeComponentStore«. Благодаря ему можно точно узнать, сколько места на жестком диске занимает папка «winsxs”.
Вызываем командную строку, как это сделать я уже рассказал выше, и вводим команду «Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore«, далее нажимает «Enter«.
После того, как закончится подсчет, вы увидите, стоит ли вообще проводить чистку. В пунктах «Резервные копии и отключенные компоненты« и «Кэш и временные данные« вы увидите данные, суммарное значение которых покажет, сколько именно места занимает папка «winsxs« на жестком диске.
Если папка занимает много места, приступаем к ее очистке. Это вариант очистки отличается от предыдущего тем, что вам не придется ждать целый час, пока процедура закончится. Запускаем командную строку от имени администратора и вводим следующую команду «Dism.exe /online /Cleanup-Image /StartComponentCleanup«.
Если вы используете команду «ResetBase«, то сможете удалить устаревшие версии каждого компонента в папке «winsxs«. Команда выглядят так «Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase«.
Для того, чтобы уменьшить место для пакетов обновления, необходимо указать параметр «Dism.exe /online /Cleanup-Image /SPSuperseded«. После того, как введете все команды, нажимаем «Enter« и дожидаемся конца процедуры.
После этого вы можете оценить, сколько освободилось места через параметр «AnalyzeComponentStore«.
Удаляем компоненты Windows
В операционных системах Windows 8 и 10 есть возможность включать и отключать компоненты ОС. Данные функции можно найти в разделе «программы«.
Все компоненты операционной системы хранятся в нашей папке, в независимости от того, включены они или нет. Соответственно, место они тоже занимают. Есть способ, который позволит удалить данные в папке и освободить место. В дальнейшем, при необходимости, вы сможете легко загрузить компоненты обратно.
Для удаления запускаем командную строку от имени администратора и вводим команду «DISM.exe /Online /English /Get-Features /Format:Table« ,нажимаем «Enter«.
Эта команда выстроит таблицу имен элементов и их состояния. Запоминаем название элемента, который необходимо удалить и вводим следующую команду «DISM.exe /Online /Disable-Feature /featurename:NAME /Remove«. Вместо «NAME« вы впишите название нужного компонента.
Собственно, на этом и все. Теперь вы знаете несколько способов, с помощью которых можно очистить папку «winsxs«. Надеюсь, хотя бы один из предложенных мною вам поможет. Заходите на сайт еще, если статья вам понравилось или добавьте его в закладки.
Привет админ! Неделю назад я стал замечать, что свободное пространство на моём диске (C:), с установленной Windows 10, стало куда-то исчезать, да и шутка ли, в один прекрасный день пропало целых 3 Гб. Далеко не сразу, но мне удалось найти виновника, а точнее виновницу, ей оказалась папка WinSxS — её размер в моей операционной системе ещё неделю назад был 15 Гб, но на сегодня он уже составляет 18 Гб. Также я заметил, после чего именно эта папка так сильно разрослась, причиной оказались — обновления операционной системы, за прошлую неделю моя Windows 10 получала их слишком много, ноутбук несколько раз просил меня перезагрузиться для установки обновлений.
Вопрос мой такой. О папке WinSxS в интернете написано много, но всё-таки, каким образом безопаснее всего очистить эту папку или она когда-нибудь очистится сама? Какие именно компоненты системы хранит папка WinSxS? Говорят, что на деле она занимает намного меньше места, чем видно в её свойствах и находятся на ней всего лишь символические ссылки.
Привет друзья! День назад я сам попал в такую же ситуацию, рассказываю подробности.
Буквально позавчера, установленная на моём ноутбуке Windows 8.1 несколько раз обновилась, а вчера утром мне на глаза попалось окно «Этот компьютер» и я с удивлением обнаружил, что на моём диске (C:) осталось свободного места 29 ГБ, хотя ещё вчера было 34 ГБ!
Я быстро исследовал жёсткий диск программой «Scanner» и обнаружил, что 5 ГБ свободного пространства на диске «съела» папка WinSxS, после этого она стала занимать рекордный размер — 21 ГБ.
Предлагаю вам вместе очистить папку хранилища компонентов на моём компьютере и по ходу дела рассмотреть остальные вопросы, касаемые этой папки!
Зачем нужна папка WinSxS?
Папка WinSxS, находится по адресу C:\Windows\WinSxS и является хранилищем компонентов Windows. Закономерен вопрос: «Что это за хранилище такое?»
Впервые папка WinSxS появилась ещё в операционной системе Windows XP. Создаётся папка WinSxS в процессе установки OS и содержит в себе копии оригинальных файлов Windows, которые операционная система использует для своего восстановления по мере надобности. Приведу самый простой пример, давайте удалим из системы папку Internet Explorer, в которой содержится известный браузер от Майкрософт, сделать это непросто, но при желании можно, после удаления файлов браузера введём команду «sfc /scannow», в результате Windows 10 начнёт проверку целостности системных файлов и при обнаружении отсутствующего браузера Internet Explorer, восстановит его оригинальные файлы из нашей папки WinSxS. Многие удалённые или повреждённые системные файлы из папки Windows операционная система восстановит автоматически и без команды «sfc /scannow».
- Примечание: Начиная с Windows 10, сброс системы к исходному состоянию (заменивший откат к заводским настройкам) происходит также с помощью компонентов из папки WinSxS
Почему папка WinSxS может разрастись после очередного обновления Windows?
При установке обновлений старые системные файлы заменяются их новыми версиями, а старые версии этих файлов хранятся в папке WinSxS ещё долгое время для обеспечения возможности восстановления на случай, если новые версии системных файлов станут работать некорректно.
Папка WinSxS занимает меньше места на жёстком диске, чем это кажется
Специфика работы операционной системы выглядит так, что одной трети файлов в папке WinSxS на самом деле нет, но есть жёсткие ссылки на эти файлы. Файлы же в это время находятся в других системных папках Windows и System32.
Папку WinSxS можно очистить от старых версий системных компонентов, но удалять её ни в коем случае нельзя
Обычно папка хранилища системных компонентов занимает на диске (C:) не более 10 ГБ и это вполне нормально, но если папка разрастается до 15-20 ГБ, то нужно срочно производить процедуру очистки.
Прежде чем произвести очистку папки WinSxS, давайте проанализируем её содержание при помощи командной строки.
Итак, если пройти по адресу C:\Windows и посмотреть свойства папки WinSxS, то нам откроется такая картина.
В моём случае папка весит довольно много 21 ГБ.
Открываем командную строку от имени администратора и вводим команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore (данная команда произведёт анализ папки WinSxS)
Сведения хранилища компонентов (WinSxS):
Размер хранилища компонентов по данным проводника : 20.86 GB
Фактический размер хранилища компонентов : 17.71 GB
Рекомендуется очистка хранилища компонентов : Да
Судя по результату, сама система рекомендует нам произвести очистку хранилища компонентов.
Очищаем папку WinSxS с помощью командной строки администратора, вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Операция успешно завершена
Папка WinSxS очищена! Интересно, насколько она стала меньше в размере (напомню, что до очистки она занимала размер 21 ГБ)
Производим анализ хранилища компонентов уже знакомой вам командой:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Сведения хранилища компонентов (WinSxS):
Размер хранилища компонентов по данным проводника : 7.95 GB
Фактический размер хранилища компонентов : 7.74 GB
Рекомендуется очистка хранилища компонентов : Нет
Вот и всё. Теперь хранилище компонентов на нашем компьютере занимает 7.74 GB! Размер папки уменьшен в три раза.
Друзья, папку WinSxS можно ужать ещё. Дело в том, что у параметра /StartComponentCleanup есть дополнительный ключ /ResetBase, с помощью которого можно удалить все замененные версии для всех компонентов в хранилище компонентов. Вводим команду:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Операция успешно завершена
Теперь наша папка WinSxS стала ещё меньше 6,85 ГБ!
Если вам не хочется связываться с командной строкой, то очистите папку WinSxS с помощью встроенной в Windows утилиты «Очистка диска», но не могу вам гарантировать такой же результат, смотрите сами.
Возьмём компьютер, где папка WinSxS занимает размер 20 ГБ.
Щёлкаем на диске (C:) правой кнопкой мыши и выбираем «Свойства», выбираем вкладку «Общие» и жмём на кнопку «Очистка диска»
«Очистить системные файлы»
Первый пункт в данном окне «Очистка обновлений Windows», как раз отвечает за очистку хранилища компонентов. Всего может быть очищено 3,63 ГБ.
Жмите «ОК» и папка WinSxS будет очищена.
PS. При операции очистки папки WinSxS с помощью командной строки у вас может выйти ошибка «Хранилище компонентов повреждено. Ошибка: 14098», что делать в этом случае, читайте в следующей статье.
Статьи, которые вам пригодится:
- Можно ли удалить папку C:\Windows\Installer, а если нет, то как её очистить?
- Папка ProgramData, её назначение, можно ли удалить или перенести
- Что находится в системной папке «FileRepository» и как её очистить
Все способы:
- Сканирование папки «WinSxS» в Windows 10
- Вариант 1: «Командная строка»
- Вариант 2: Средство очистки диска
- Вариант 3: Планировщик заданий
- Вариант 4: Программы и компоненты
- Вопросы и ответы: 6
Сканирование папки «WinSxS» в Windows 10
Сперва просканируем папку, чтобы понять, действительно ли необходима ее очистка. Делается это через консоль.
- Найдите «Командную строку» в «Поиске» и запустите ее. Во избежание возможных проблем запустите ее от имени администратора.
- Убедившись, что в окне представлен путь «C:\Windows\system32», введите следующую команду:
Dism.exe /online /cleanup-image /AnalyzeComponentStore
. Ее можно как напечатать вручную, так и скопировать. - После удачного анализа отобразится следующая информация:
- «Размер хранилища компонентов по данным проводника» — размер папки без учета жестких ссылок.
- «Фактический размер хранилища компонентов» — реальный размер папки со ссылками без учета папки «Windows».
- «Совместно с Windows» — общие файлы с папкой «Windows», необходимые для работы ОС. Это те файлы, которые нельзя удалять, и их объем всегда достаточно высокий.
- «Резервные копии и отключенные компоненты» — дубликаты компонентов, необходимые на случай, если какие-то из основных файлов окажутся повреждены. Удалить их можно, но при возникновении проблем резервными копиями уже не получится воспользоваться. Стоит понимать, что очищен будет не весь объем, указанный в этой строке, так как отключенные компоненты никуда не денутся.
- «Кэш и временные данные» — файлы для ускорения работы системы обслуживания, важными не являются, как и любые временные файлы в Windows и в условных браузерах.
Все то же самое вы можете выполнять и через приложение «Windows PowerShell», которое проще всего запустить, кликнув по «Пуску» правой кнопкой мыши и выбрав соответствующий пункт. Разницы никакой нет, это лишь дело привычки.
На основе анализа вам предстоит решить, собираетесь ли вы очищать эту папку, или необходимости в этом на данный момент нет.
Вариант 1: «Командная строка»
Все через то же приложение «Командная строка» вы можете без труда выполнить очистку разных составляющих папки.
Если после анализа папки вы закрыли консоль, откройте ее повторно. Напишите там команду Dism.exe /Online /Cleanup-Image /StartComponentCleanup
и нажмите Enter. Начнется выполнение операции, а его продолжительность зависит от размера «WinSxS» и типа накопителя, занимая от одной минуты до нескольких. По завершении вы увидите соответствующее оповещение и можете еще раз проверить размер папки любым удобным методом.
Стоит отметить, что после использования этой команды обращаться к Варианту 2 и 3 бессмысленно, поскольку они выполняют всю ту же задачу, что и эта команда.
Вариант 2: Средство очистки диска
В любой версии Windows, включая десятку, предусмотрено средство очистки локальных дисков от ненужных системных файлов в автоматическом режиме. С помощью этой возможности можно избавиться от содержимого в папке «WinSxS».
- Откройте «Этот компьютер», кликните ПКМ по «Локальный диск (С:)» и перейдите в «Свойства».
- Нажмите кнопку «Очистка диска».
- Теперь, чтобы отобразился нужный пункт, кликните по кнопке «Очистить системные файлы».
- Произойдет непродолжительное сканирование.
- Вы увидите только что добавленный пункт «Очистка обновлений Windows». Отметьте его галочкой.
- По необходимости можете удалить и другие данные с этого диска — почти всегда общий объем доступных для удаления файлов больше. Когда все будет готово, просто нажмите «ОК» и дождитесь выполнения операции.
Кстати, эту утилиту можно запустить и через «Пуск», отыскав ее по названию.
Объем, отображенный в поле «Очистка обновлений Windows», не означает, что именно на столько же гигабайт станет легче папка «WinSxS». Связано это с тем, что не все файлы обновлений расположены именно внутри нее.
Учтите, если ПК не обновлялся или был успешно очищен первым методом, файлов обновлений в разделе не будет.
Вариант 3: Планировщик заданий
В ОС Windows присутствует «Планировщик заданий», который, как видно по названию, позволяет выполнять те или иные процессы в автоматическом режиме при определенных условиях. Им вполне можно воспользоваться для ручной очистки папки «WinSxS». Тут же заметьте, нужное задание добавлено по умолчанию и выполняется на регулярной основе, из-за чего метод нельзя отнести к действенным.
- Откройте меню «Пуск» и среди основных разделов найдите папку «Средства администрирования». Здесь кликните по значку «Планировщик заданий».
- Через навигационное меню в левой части окна разверните
Microsoft\Windows
.Пролистайте список до директории «Servicing», выбрав данную папку.
- Найдите строку «StartComponentCleanup», нажмите ПКМ и выберите вариант «Выполнить».
Теперь задача будет выполняться сама по себе и вернется в прежнее состояние через один час.
По завершении работы инструмента папка «WinSxS» будет очищена частично или вовсе останется нетронутой. Это может быть связано с отсутствием резервных копий или некоторыми другими обстоятельствами. Вне зависимости от варианта как-либо отредактировать работу данного задания невозможно.
Вариант 4: Программы и компоненты
Помимо резервных копий обновлений в папке «WinSxS» также хранятся все компоненты Windows, включая их новые и старые версии и независимо от статуса активации. Уменьшить объем директории за счет компонентов можно с помощью консоли по аналогии с первым способом этой статьи.
- Снова откройте «Командную строку» или «Windows PowerShell».
- Если вы регулярно обновляете ОС, то помимо актуальных версий в папке «WinSxS» будут храниться старые копии компонентов. Чтобы их удалить, следует воспользоваться командой
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
.По завершении вы получите соответствующее уведомление. Объем же рассматриваемой директории должен будет значительно уменьшиться.
Примечание: Время выполнения задачи может существенно затянуться, потребляя большое количество ресурсов компьютера.
Эффективной такая команда будет, только если вы пользуетесь системными компонентами, предварительно отключив все ненужное. Развернуто о них было рассказано в другой нашей статье. В противном случае выполнение данной команды может практически не повлиять на размер папки «WinSxS».
Подробнее: Включение и отключение компонентов в Windows 10
Наша группа в TelegramПолезные советы и помощь