Как уменьшить размер резервной копии windows 10. WinSxS что это за папка Windows, как очистить? Причины увеличения размера папки

Скачать Viber 06.03.2019
Скачать Viber

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

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

Как очистить папку Winsxs в Windows 7

Для обеспечения возможности произведения действий с папкой WinSXS в Windows 7, на вашем ПК должен быть установлен пакет апдейтов SP1. Проверить его наличие можно по следующему пути: «Панель управления» – «Все элементы системы безопасности» – «Система». Чуть ниже надписи версии ОС должна быть указана строчка Service Pack 1. Если ее нет, то удалить папку не получится.

Перед тем как приступать непосредственно к удалению папки, необходимо скачать обновление KB2852386. Через меню «Пуск» войдите в «Центр обновлений». В списке «Необязательных обновлений» найдите искомый номер и установите его.

Почистить папку WinSXS в Windows 7 можно несколькими способами. Первый из них предполагает очистку диска через «Свойства».

Зайдите в папку «Мой компьютер» и, нажав правой клавишей на иконку «Локального диска С», выберите пункт «Свойства». Рядом с круговой диаграммой отображения заполненности диска находится кнопка «Очистка диска», которую и необходимо нажать. Лишние файлы будут удалены автоматически.

Удалить ненужные документы можно при помощи команды «Выполнить». В строке «Открыть:» введите на латинице cleanmgr и нажмите Enter. Выберите «Диск С» и далее поставьте галочку в строке «Очистка обновлений Windows». Команда будет выполнена.

Для очистки хранилища можно использовать специальную утилиту WinsxsLite . Она находится в свободном доступе в Интернете.

Скачайте программу и откройте ее с правами администратора. Введите «1», затем «s». Процесс сканирования будет запущен. Обычно он длится довольно долго. После его окончания введите следующие данные:

  1. Phase 1 + Apply [a];
  2. Phase 2 + Scan [s] + Apply [a];
  3. тут впишите то же, что и во второй строке.

Очистить Winsxs в Windows 8

Действия с папкой WinSXS в “восьмерке” могут быть произведены при помощи функции «Очистки диска». Вызовите команду «Выполнить» и введите cleanmgr . Далее следует выбрать диск С. В новом окне нужно нажать «Очистить системные файлы». Установите галочку возле пункта «Очистки обновлений» и дождитесь пока процесс будет завершен. Этот способ удалит из папки именно файлы обновлений.

Чтобы избавиться от второстепенных файлов, рекомендуем воспользоваться утилитой DISM. Откройте командную строку от администратора. Задайте команду: Dism.exe /online /cleanup-image /AnalyzeComponentStore. Начнется поиск файлов, которые могут быть “безболезненно“ удалены из папки. По окончании процесса вы увидите рекомендации ОС относительно очистки хранилища. Автоматическое удаление лишних компонентов можно запустить, вписав команду Dism.exe /online /cleanup-image /StartComponentCleanup.

Как очистить папку Winsxs в Windows 10

Удаление данных из папки WinSXS в десятой версии Windows должно быть предельно аккуратным. Не рекомендуется предпринимать какие-либо действия, если размер папки намного меньше 10 ГБ. Особенность заключается в том, что при удалении элементов папки “легче“ 5 ГБ, ее объем может возрасти и система будет работать хуже.

Всем привет! Данная статья будет продолжением эпопеи о замечательной бесплатной программе AOMEI Partition Assistant. Если вы еще не читали о ней наши , то самое время это сделать, пройдя по указанной ссылке. Там же ее можно и скачать.

А сейчас мы рассмотрим вопрос о том, как изменить размер диска в Windows 10 без потери данных. Только на этот раз будем делать это в сторону уменьшения. Хотя по большому счету нет никакой разницы.

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

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

Нужно уменьшить размеры логических разделов « D « и « E « , чтобы освободившийся объем передать диску « F « . То есть отнимаем у одних и отдаем другому. Слушайте, почти как варвары:

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

Затем бегунком, который можно двигать влево вправо , устанавливаем новый размер. В графе « Незанятое пространство« можно увидеть освобождаемый объем винчестера:

С разделом под буквой « E « проделываем все то же самое и нажимаем « Применить« в левом верхнем угле программы AOMEI Partition Assistant:

В завершение появится сообщение, в котором будет просьба перепроверить новые размеры изменяемых дисков. Если согласны, уверенно жмите « Перейти« :

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

А вот вам и подтверждение:

Если у вас остались какие-то вопросы, уверенно задавайте их в комментариях. Или вдруг есть что дополнить по теме, пишите туда же. Уже в мы доведем начатое дело до конца, добавим освободившееся место к логическому разделу « F « . А пока что давайте смотреть интересный видеоролик.

В Windows 10 появилась новый функционал, позволяющий уменьшить место на диске, занимаемое системой. Новая функция называется Compact OS и является эволюционным развитием технологии WIMBoot, представленной в Windows 8.1 Update 1. Compact OS позволяет уменьшить место на диске, занимаемое системой за счет сжатия системных файлов (аналогично сжатию wim файла в WIMBoot). Сжимаются не только системные файлы, но и файлы стандартных Windows – приложений.

Compact OS позволяет сэкономить порядка 1,5 Гб емкости диска на 32-битной и около 2,6 Гб на 64-битной Windows 10. Технология предназначена в первую очередь для владельцев планшетов, смартфонов и ноутбуков с SSD дисками небольшой емкости.

После выполнения сжатия, распаковка системной файлов выполняется в оперативной памяти на лету, полностью прозрачно для системы и приложений. По утверждениям Microsoft, функция Compact OS позволяет сэкономить место на диске без большого падения производительности системы.

Compact OS можно активировать как во время установки системы, так и в процессе ее эксплуатации. Согласно документации Microsoft, система сама определяет, включать ли сжатие Compact OS или нет в зависимости от характеристик системы (объема RAM, производительности процессора и «других важных факторов»). Compact OS должна автоматически использоваться на системах с SSD дисками небольшого размера (128 Гб и менее).

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

Посмотрим на технологию Compact OS в действии. Итак, мы видим, что на диске C: до выполнения сжатия было свободно 27.8 Гб.

Чтобы узнать, используется ли сжатие системных файлов с помощью Compact OS, в командной строке запущенной с правами администратора выполните:

compact /compactos:query

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

Режим сжатия системных файлов можно включить и вручную, независимо от мнения системы:

Compressing OS binaries

35410 files within 16764 directories were compressed.

5,309,734,985 total bytes of data are stored in 3,151,094,323 bytes.

The compression ratio is 1.7 to 1.

Сжатие занимает некоторое время, порядка 10-20 минут. После выполнения сжатия будет указана степень сжатия (1.7 раза) и на сколько были сжаты системные файлы (в нашем случае 5.3 Гб ужаты до 3.1)

Таким образом, на системном диске стало доступно дополнительные 2.1 Гб свободного места.

На первый взгляд каких-либо проблем с падением производительности системы не ощущается.

Отключается режим Compact OS командой:

compact /CompactOs:never

Также стоит упомянуть, что утилита DISM в Windows 10 получила новый аргумент, позволяющий развертывать ОС со включенным режимом Compact OS:

dism /Apply-Image /ImageFile:install.wim /Index:1 /ApplyDir:C:\ /compact

woodhummer 21.05.2015 - 21:56 Практикум

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

С помощью программы msizap.exe

Для Windows XP разработчиками была выпущена специальная утилита: Windows Installer Clean Up, позволяющая «подчистить следы», оставленные Installer’ом. К сожалению, эта утилита сейчас уже недоступна на сайте Microsoft, однако при желании ее можно найти в Сети. Из набора утилит нам нужна программа msizap.exe.

Запускаем ее в командной строке с такими параметрами: msizap.exe g!

параметр «g» позволяет удалять файлы, не относящиеся к установленным обновлениям, «!» - принудительный ответ «да» на вопрос об удалении.

Для современных ОС

Для Windows 8.1 эта утилита работать не будет, зато можно воспользоваться системной программой. Открываем «Панель управления», кликаем «Администрирование».

Выбираем «очистку диска».

Ждем, пока программа проверит объем освобождаемого пространства.

P.S.

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

обновлено: 21.05.2015

оставить комментарий

wd-x.ru

Что такое папка WinSxS? Как уменьшить размер папки WinSxS? - ТВОЙ КОМПЬЮТЕР

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

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

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

Реальный размер папки WinSxS

Если вы используете одну из новых версий системы Windows (8 или выше), вы можете воспользоваться новым инструментом системы, называемый DISM. Для его использования вам следует открыть командную строку:

1. Нажмите Win + R и в строке «Выполнить» введите cmd;

2. В открывшемся окне введите команду – exe /Online /Cleanup-Image /AnalyzeComponentStore;

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

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

Причины увеличения размера папки

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

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

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

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

Таким местом и является папка WinSxS, эти элементы также важны для системы и не требуют удаления.

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

Очистка папки WinSxS c помощью утилиты cleanmgr

Существует 2 способа воспользоваться этой функцией:

  1. Откройте командную строку и наберите cleanmgr;
  2. Проследуйте по пути:
    • Перейдите в «Мой компьютер»;
    • Выберите виртуальный диск, на котором у вас установлена система, нажмите правой кнопкой мыши и нажмите на опцию «Свойства»;
    • В открывшемся окне нажмите на кнопку «Очистка диска».

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

Встроенный инструмент DISM для Windows 8 и 10

Его использование невероятно легкое и простое, всё что нужно – это всего лишь ввести в командную строку, которую вам следует открыть от имени Администратора:

Увеличиваем производительность ноутбука

Dism.exe /Online /CleanupImage /StartComponentCleanup

На этом ваша работа и заканчивается, но такой инструмент в Windows 7 и более ранних версиях ещё не был разработан. Если ваша система подходит под требования, тогда это преимущественный способ, как самый простой.

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

Не следует сильно злоупотреблять этими возможностями, пользователи с Windows 10, которые использовали такую возможность на практически чистую папку, были неприятно удивлены увеличением её размеров после очистки. Лучше всего выполнять такие действия, не смотря на временные сроки, а по количеству выполненных обновлений, таким образом, высвобождая нужные для работы системы ресурсы. Чем больше загруженности системного диска, тем медленнее работает система в общем, то есть всегда следует иметь в запасе хотя бы 5-10gb свободного места, что бы не испытывать трудности, такого рода.Если у Вас остались вопросы по теме «Что такое папка WinSxS? Как уменьшить размер папки WinSxS?», то можете задать их в комментариях

Был ли материал для Вас полезным? Оставьте Ваш отзыв или поделитесь в соц. сетях:

Уменьшение размера хранилища компонентов в автономном образе Windows

Система обслуживания образов развертывания и управления ими (DISM) позволяет подключать и изменять образ Windows из WIM-, VHD- или VHDX-файла.

Анализ и очистка хранилища компонентов (папки WinSxS) в автономном образе Windows

Для выполнения данного руководства требуется следующее:

    Компьютер под управлением Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2016 Technical Preview, Windows Server 2012 R2, Windows Server 2012 или Windows Server 2008 R2 с установленной версией средства Windows ADK для Windows 8.1.

    WIM-, VHD- или VHDX-файл образа Windows 10 или Windows Server 2016 Technical Preview.

Анализ размера хранилища компонентов в автономном образе Windows

    Скопируйте WIM-, VHD или VHDX-файл с образом Windows на локальный диск. Например, в каталог C:\test\images.

    Нажмите кнопку Пуск и введите развертывание. Щелкните правой кнопкой мыши элемент Среда средств развертывания и работы с образами и выберите команду Запуск от имени администратора.

    Создайте папку для подключенного образа. Например, C:\test\offline.

    Чтобы получить имя или указатель индекса для образа, который вы хотите обновить, выполните команду DISM /Get-ImageInfo. Например:

    Dism /Get-ImageInfo /ImageFile:C:\test\images\MyImage.wim

    Подключите образ Windows. Пример.

    Dism /Mount-Image /ImageFile:C:\test\images\MyImage.wim /Index:1 /MountDir:C:\test\offline

    Так как WIM-файлы могут содержать несколько образов, необходимо указать значение индекса или имени. Чтобы подключить образ с VHD, необходимо указать /Index:1.

    Проанализируйте размер хранилища компонентов. Пример.

    Dism /Image:C:\test\offline /Cleanup-Image /AnalyzeComponentStore

    Чтобы узнать о различных значениях, отображаемых на экране, изучите раздел Определение фактического размера папки WinSxS.

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup

    Для дополнительного сокращения размера хранилища компонентов вы можете добавить параметр /ResetBase. Пример.

    Dism /Image:C:\test\offline /Cleanup-Image /StartComponentCleanup /ResetBase

    Зафиксируйте изменения и отключите образ, чтобы сохранить внесенные изменения. Пример.

    Dism /Unmount-Image /MountDir:C:\test\offline /Commit

Связанные разделы

Управление хранилищем компонентов Очистка папки WinSxS Определение фактического размера папки WinSxS Куда пропало место? (Запись блога) Запись блога по метафайлам NTFS Создание точек соединения NTFS и работа с ними Параметры командной строки DISM для обслуживания пакетов операционной системы

msdn.microsoft.com

Как уменьшить размер папки WinSxS в Windows 8

В этой статье мы поговорим о каталоге WinSxS и Windows 8, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге содержатся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы той или иной роли ОС Windows. При установке обновлений ОС, новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище WinSxS (по словам Microsoft это необходимо для обеспечения совместимости и возможности «отката» на старые версии компонентов).

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

Самым естественным способ уменьшить размер папки WinSxS в Windows 8 могла бы быть возможность удаления из системы старых версий компонентов, однако инструмента для этих целей Microsoft пока не предоставила.

Еще одной основной особенностью папки WinSxS является наличие в ней большого количества так называемых hard links (жестких символьных ссылок). Жесткая ссылка представляет собой полностью равноправный оригинальному указатель на файл. Т.е. указатель и исходный файл могут иметь разные имена и находиться в пределах одного раздела в разных каталогах, но реально указывать они будут на один и тот же объект. Именно из-за наличия жестких ссылок, которые включаются в расчет общего размера каталога, файловые менеджеры (и в том числе Windows Explorer) показывают несколько преувеличенный размер папки WinSxS. Узнать реальный (без учета жестких ссылок) размер папки WinSxS можно с помощью утилиты SysInternal du:

Du -v c:\windows\winSXS

У многих пользователей возникает естественный вопрос можно ли вручную удалить файлы из папки WinSxS. Ответ на этот вопрос – категоричное НЕТ! Такими действиями с большой долей вероятности получиться нарушить работоспособность Windows 8. И хотя некоторые попытки удаления файлов из папки WinSxS могут быть удачными, рекомендовать этот способ с точки зрения потенциальной опасности для системы нельзя.

Остановимся на наиболее безвредных с точки зрения системы способах очистки папки WinSxS в Windows 8. Это:

  • Технология Features on Demand, позволяющая удалить неиспользуемые компоненты Windows 8 с диска
  • Сжатие файлов в папке WinSxS – способ уменьшить размер каталога WinSxS за счет NTFS компрессии ее содержимого

Для достижения максимального результата оба данных способа можно использовать совместно.

Features on Demand в Windows 8

В статье «Безопасная очистка папки WinSxS в Windows Server 2012» мы рассмотрели новую функцию Features on Demand, предоставляющую возможность удаления бинарных файлов неиспользуемых ролей из каталога WinSxS. Для удаления с диска неиспользуемых ролей существует специальный командлет Powershell - Uninstall-WindowsFeature. Однако в случае с Windows 8 не все так просто. Дело в том, что командлет Uninstall-WindowsFeature в Windows 8 отсутствует. А технология Features on Demand реализуется только с помощью DISM или командлета DISM PowerShell. Кроме того, важно знать, что команда DISM в отличии от командлета Uninstall-WindowsFeature не анализирует зависимости пакетов друг от друга. Так что при удалении пакета Windows с помощью DISM будет удален только указанный в команде компонент, а все зависимые от него пакеты останутся в системе. Именно по этой причине для удаления ролей с диска в Windows Server 2012 не стоит использовать DISM, т.к. есть гораздо более удобное и функциональное средство.

Полный список доступных функций в Windows 8 можно получить с помощью команды:

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

Предположим, например, что служба TelnetServer в дальнейшем нам не понадобится. Удалим ее полностью с диска (по сути из каталога WinSxS) командой:

DISM.exe /Online /Disable-Feature /Featurename:TelnetServer /Remove

Если еще раз вывести список всех доступных функций Windows 8, вы увидите, что статус компонента изменится на Disabled with Payload Removed.

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

Сжимаем содержимое папки WinSxS в Windows 8

Еще один способ уменьшения размера каталога WinSxS в Windows 8 – сжать содержимое каталога на уровне файловой системы NTFS.


Проверим текущий размер каталога WinSxS:

Как вы видите, в нашем пример размер папки WinSxS за счет сжатия уменьшился с 5,8 Гб до 4 Гб (примерно на треть). Неплохо, особо с точки зрения, если процедура выполнялась для небольшого про размеру SSD-диска, место на котором стоит достаточно дорого.

На что может повлиять сжатие каталога WinSxS.

Windows 8 работает со сжатыми файлами в прозрачном режиме, однако при обработке таких файлов, ей может понадобиться дополнительное время на их декомпрессию/компрессию, это означает некоторое замедление процессов установки компонентов Windows или обновлений. Однако для современного CPU эти процессы выполняются практически мгновенно, так что реального уменьшения скорости пользователь может даже не заметить. Мало того, если жесткий диск медленный, а процессор достаточно быстрый – при сжатии можно заметить даже увеличение скорости работы! Отметим, что при включении ntfs-сжатия всего содержимого папки WinSxS, за счет использования жестких ссылок окажутся сжатыми ряд файлов в других системных каталогах.

Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл сценария, запустив который запуститься описанный процедура сжатия данных в папке WinSxS. Скачать готовый командный файл можно тут: compress_winsxs.bat

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

winitpro.ru

Как работает и сколько места экономит оптимизация папки WinSxS в Windows 10, 8.1 и 8

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

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

У вас Windows 7? Читайте Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

[+] Сегодня в программе

Три способа уменьшить объем папки WinSxS

Напомню, что в Windows 8 и 8.1 предусмотрено три способа:

  1. Параметр /StartComponentCleanUp утилиты DISM
  2. Очистка обновлений Windows в утилите «Очистка диска»
  3. Запланированное задание StartComponentCleanup

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

Что происходит в процессе оптимизации папки WinSxS

При использовании любого из трех способов в Windows 8 и 8.1 оптимизация ведется по двум направлениям:

  1. Удаление старых версий компонентов.
  2. Сжатие неиспользуемых и старых версий некоторых компонентов.

Чем дольше проработала система, тем больше обновлений установилось, и тем больше компонентов удаляется и/или сжимается. Поэтому процесс может быть долгим, поскольку сжатию подвергается много файлов.

Эксперимент по оптимизации папки WinSxS

В моем распоряжении была виртуальная машина с Windows 8, на которой оптимизация ни разу не выполнялась. Папка WinSxS содержала 15755 подпапок (количество файлов я не подсчитывал).

Утилита cleanmgr, запущенная с полными правами, обещает златые горы! Но не стоит особо полагаться на ее данные, т.к. утилита склонна сильно ошибаться, причем в обе стороны.

В таблице ниже вы видите результаты оптимизации. Отмечу, что экономия дискового пространства определялась по данным, которые проводник показывает в свойствах диска (о корректности различных методов измерения места на диске как-нибудь в другой раз).

Как видите, удалось сэкономить чуть ли не в два раза больше места, чем обещала утилита очистки диска! Давайте разберемся, что стоит за цифрами в таблице.

Какие файлы удаляются и почему

Я не задавался целью отслеживать конкретные файлы, и ограничился только папками. Чтобы получить список удаленных папок, нужно сравнить состав папки WinSxS до и после оптимизации. Ниже вы видите, что произошло с компонентами Adobe Flash Player.

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

В процессе оптимизации исчезли шесть папок с предыдущими версиями, но три папки сохранились. Чтобы разобраться в происходящем, нужно изучать систему обслуживания (Component Based Servicing) и CBS.log, объемом в десятки мегабайт. Это довольно скучное занятие, поэтому я постараюсь описать процесс покороче:)

Во время оптимизации CBS ориентируется на хранилище пакетов, извлекая оттуда информацию о состоянии и атрибутах сохранения пакетов, а также версиях компонентов. Например, если пакет помечен в качестве постоянного, система обслуживания его пропускает, оставляя в целости и сохранности.

2013-09-04 21:51:58, Info CBS Skipping package since it is permanent

В случае же с версиями, CBS ищет предыдущую версию компонента, которая необходима для отката при удалении обновления. Продолжая пример с Adobe Flash на картинке выше, самой новой версией является 20760, но для корректного отката компонентов Adobe Flash необходима предыдущая версия за номером 16653.

2013-09-04 21:52:24, Info CBS Appl: Selfupdate, Component: amd64_adobe-flash-for-windows_31bf3856ad364e35_0.0.0.0_none_ab9875376a174135 (6.2.9200.20760), elevation:3, lower version revision holder: 6.2.9200.16653

Сохранение предыдущей версии позволяет удалить обновление KB2857645, доставившее версию пакета 20760 (к версии файлов Adobe она не имеет отношения, как вы можете убедиться из статьи базы знаний).

Ситуацию запутывает тот факт, что предыдущей версией для 20760 считается 16653, а не 20711, но тут я ничего не могу поделать:) Что же касается версии 16384, то она была исходной, т.е. частью ОС, а не пришедшего обновления.

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

Фрагмент журнала CBS.log

  • Servicing Windows: Part One
  • Servicing Windows: Part Two

Какие файлы сжимаются и почему (устарело)

Этот раздел статьи был написан до того, как Microsoft изменила технологию сжатия в Windows 8.1 и портировала ее в Windows 8. Неизменным осталось лишь то, что сжатию подвергаются замененные и неиспользуемые компоненты, а в остальном раздел представляет теперь только исторический интерес. Подробности вы найдете ниже в статье.

Экономия дискового пространства при оптимизации хранилища достигается также за счет сжатия. Проводник выделяет сжатые файлы и папки синим цветом, но из корня папки WinSxS наличие сжатых файлов неочевидно. Дело в том, что сжимаются не папки целиком, а отдельные файлы. Здесь сподручнее воспользоваться утилитой TreeSize, которая сходу подсвечивает синим папки со сжатыми файлами.

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

Как видно на левой части рисунка, в Windows 8 сжатию подверглись файлы в папках Backup и Manifests, а также некоторые папки с компонентами. (В скобках замечу, что в Windows 8.1 Preview папки Backup и Manifest не сжались, что оставляет поле для исследований по мере выхода дальнейших обновлений). Утилита также умеет отображать степень сжатия для папки, что показано на правой части рисунка.

Файлы в папке Manifests сжимаются хорошо, поскольку манифесты представляют собой текстовые файлы в формате XML. Выполнив команду compact в папке, можно получить подробную статистику:

Всего файлов: 22086, каталогов: 1. Из них сжато: 19510, не сжато: 2576. Данные объемом 347 734 445 байт сохранены в 139 504 361 байт. Степень сжатия 2,5 к 1.

В CBS.log можно увидеть отчет о числе сжатых компонентов и файлов. При этом манифесты, составляющие подавляющее большинство, подсчитываются отдельно, хотя их окончательное число не указывается.

2013-09-04 21:54:44, Info CSI 00000036 NTFS compress for: "amd64_1394.inf_31bf3856ad364e35_6.2.9200.16384_none_53f8fe038fac2809" … 2013-09-04 21:59:00, Info CSI 00000570 NTFS compression complete. Total component compressed: 1338 (0x0000053a), total file compressed: 3125 (0x00000c35) … 2013-09-04 22:23:41, Info CSI /9/4:18:23:41.607 Completed compression of 19000 (0x00004a38) manifests … 2013-09-04 22:24:18, Info CSI /9/4:18:24:18.065 Completed compression of manifests

Обратите внимание на длительность выполнения операций (символами … я обозначил вырезанные из журнала строки) - сжатие заняло полчаса. Конечно, нужно сделать поправку на два момента:

  1. Система работала на виртуальной машине Hyper-V с одним выделенным процессором, 2GB RAM и VHD на SSD.
  2. Объем установленных обновлений был достаточно велик, а оптимизация папки WinSxS ранее не проводилась.

Журнал CBS не раскрывает подробностей о критериях, служащих основанием для сжатия. Но с помощью утилиты TreeSize можно увидеть, например, что сжимаются отключенные компоненты. Так, в Windows изначально отключен компонент Telnet, и все его компоненты подверглись сжатию.

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

Похожая картина наблюдается и с компонентом Hyper-V, который не активирован в моей экспериментальной системе.

Какое сжатие применяется

В Windows 8, 8.1 и 10 сжимаются компоненты, для которых уже установлены более новые версии. Изначально в Windows 8 для этого применялось сжатие NTFS. Разностное сжатие появилось только в Windows 8.1 и продолжает использоваться в Windows 10 (его также портировали в Windows 8, выпустив обновление KB2821895).

Разностное сжатие

В блоге Ask the Core Team появилась серия статей об изменениях в системе обслуживания Windows 8.1. В частности, во второй записи подробно разбирается алгоритм разностного сжатия (delta compression).

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

Разностное сжатие применяется к актуальному компоненту на момент выполнения операции сжатия, поэтому дельты конкретных компонентов могут отличаться на разных ПК (например, в зависимости от частоты установки обновлений).

Ниже приводятся выдержки из CBS.log, где многоточия обозначают удаленные мной фрагменты. Вы видите операции сжатия, впервые появившиеся в Windows 8.1 (сам лог из Windows 10, кстати). Сначала анализ определяет кандидатов на разностное сжатие, а спустя 10 минут рапортует о завершении, после чего начинаются совсем загадочные операции Null-Delta compression.

2015-10-20 15:10:50, Info CSI 00000026 Scavenge: Planning Complete. The following actions will be performed: Regeneration Candidates: 0 Removal Candidates: 3 Superseded/LDR (Delta Compression) Candidates: 133 Null-Delta Compression Candidates: Mutable file Candidates: 1 Boot-Recovery Candidates: 14 Deletion Candidates (Non Driver): 0 Driver Deletion Candidates: 1 ... 2015-10-20 15:20:42, Info CSI 00000255 Delta compression complete. Total number of components compressed: 133 (0x00000085), Total file compressed: 245 (0x000000f5), Total files untouched: 257 (0x00000101), Total file skipped due to backing: 0, Total file size compressed:472088576, Total delta file size: 23932928, compression ratio: 94% 2015-10-20 15:20:42, Info CSI 00000256 Beginning Null-Delta compression of components with mutable files ... 2015-10-20 15:20:42, Info CSI 0000025b Null-Delta compression of mutable files complete. Total files compressed: 1, Total files untouched: 0, Total files skipped due to backing: 0, Total file size compressed:16384, Total delta file size: 4096, compression ratio: 75% 2015-10-20 15:20:42, Info CSI 0000025c Beginning Null-Delta compression of boot-recovery components ... 2015-10-20 15:21:31, Info CSI 00000295 Null-Delta compression of boot-recovery components complete. Total files compressed: 26 (0x0000001a), Total files untouched: 0, Total files skipped due to backing: 0, Total file size compressed:102842368, Total delta file size: 35291136, compression ratio: 65%

В комментариях к записи блога я поинтересовался, можно ли визуально определить файлы под воздействием разностного сжатия. Сотрудники Microsoft ответили, что файлы получают атрибут «Сжатый», однако я пока не нашел этому подтверждений. В журнал имена сжимаемых файлов не пишутся (в отличие от пропускаемых), а в Windows 10 у меня в папке WinSxS вообще нет файлов с атрибутом «Сжатый», хотя в Windows 8.1 таковые имеются. Все очень запутано:)

Сжатие NTFS

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

Неясности

Публикации в блоге Ask the Core Team раскрыли принципы технологии, но породили вопросы о тонкостях процесса. Я задал вопросы о regeneration, null-delta compression и т.д. в комментариях ко второй записи, но ответа не получил. Возможно, когда-нибудь срыв покровов произойдет…

Удаление всех предыдущих версий компонентов (8.1 и новее)

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

Для этого эксперимента я использовал виртуальную машину с 32-разрядной Windows 8.1 Preview, поэтому версии Adobe Flash отличаются от описанных выше на примере 64-разрядной ОС.

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

На рисунке выше вы видите состояние:

  1. До очистки.
  2. После очистки с ключом /StartComponentCleanup, что оставляет возможность откатиться к предыдущей версии.
  3. После очистки с ключом /StartComponentCleanup /ResetBase, что не оставляет возможности отката.

После применения ключа /ResetBase обновления удалить уже невозможно. Для установленных обновлений в списке appwiz.cpl пропадает кнопка «Удалить», потому что откатываться уже некуда.

Надеюсь, теперь белых пятен в механизме очистки папки WinSxS стало меньше:) А вы уже проводили оптимизацию папки WinSxS в Windows 8? Напишите в комментариях, сколько места сэкономили!

www.outsidethebox.ms



Рекомендуем почитать

Наверх