Jabra talk не подключается к телефону samsung. Bluetooth-гарнитура для телефона Jabra BT2045: характеристика, инструкция, отзывы


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

Почему же эта папка такая большая ?

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

Какие будут последствия если просто удалить эту папку ?

Многие в интернете пишут, что содержимое этой папки можно просто удалить, и что никаких серьёзных сбоев системы они не видели после удаления. Но это совсем не так, и ключевой момент здесь «не было замечено». Вам может показаться что все в норме, но на самом деле в системе уже возможно стали происходить сбои, хотя может их пока и не заметно. Бывали и случаи, что после удаления этой папки, пользователи просто не могли потом нормально загрузить систему. Поэтому не удаляйте содержимое это папки. Её можно отчистить только с помощью специальных утилит.

Я думаю, что вы захотите узнать, сколько места сэкономила очистка. Поэтому откройте свойства диска (а не папки WinSxS) и запишите объем свободного пространства (в байтах) или просто сделайте скриншот.

Очистка WinSxS в Windows 7

Недавно вышло обновление (KB2852386) , с помощью которого можно безопасно уменьшить размер папки WinSxS.
1. Нужно скачать обновление KB2852386 .

Для этого перейдите : Панель управления\Все элементы панели управления\Центр обновления Windows.

Затем нажмите проверить обновления , после чего нажмите на ссылку необязательные обновления .

Найдите в этом списке обновление KB2852386 , после чего отметьте его галочкой. После этого нажмите Ок , и установите обновления. Дождитесь конца установки.


2. Теперь можно приступить к освобождению места на системном диске:

Откройте мой компьютер , щелкните по системному разделу правой кнопкой мыши (как правило это диск С), и зайдите в свойства .

Нажмите кнопку очистка диска , и найдите пункт «Очистка обновлений Windows» , и отметьте его галочкой.

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

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

Когда процесс очистки диска будет завершен, перезагрузите компьютер.

Удалится ли папка WinSxS после очистки ?

Нет, но число подпапок и файлов в ней уменьшится, а следовательно и ее объем.

Что конкретно удаляется ?

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

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

Почему папка WinSxS такая большая

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

Почему папка WinSxS постоянно растет

Каждый раз, когда вы устанавливаете обновления, системные файлы заменяются новыми. Их старые версии сохраняются в папке WinSxS, чтобы обеспечить возможность отката в случае проблем с новыми версиями, т.е. устойчивое обслуживание системы. Это приводит к увеличению объема папки WinSxS, хотя на практике ее максимальный размер редко превышает 15GB. Кстати, именно этого аспекта коснулось одно изменение в Windows 8.1, как вы увидите ниже.

Новые возможности системы обслуживания

Вездесущая утилита DISM обзавелась в 8.1 новыми параметрами командной строки, которые я разберу в этой статье. Но сначала - несколько примечаний:

  1. В моем распоряжении находится английская Windows 8.1 Preview, в которой результаты команд DISM не локализованы, несмотря на русский языковой пакет. Фанатичным приверженцам локализованных ОС придется потерпеть:)
  2. Поскольку Windows 8.1 Preview установлена недавно, размер папки WinSxS невелик, равно как и выгода от описанных в статье манипуляций. Однако, чем дольше установлена ОС, тем заметнее польза от изменений в системе обслуживания .
  3. Все команды нужно выполнять от имени администратора .

Готовы? Давайте пойдем от простого к сложному!

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

С помощью одного из новых параметров DISM вы можете проанализировать хранилище компонентов, т.е. папку WinSxS.

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Результат команды будет примерно таким:

Здесь по порядку:

  1. Размер хранилища компонентов, каким его видит проводник , т.е. без учета жестких ссылок внутри WinSxS.
  2. Реальный размер хранилища компонентов с учетом жестких ссылок (за исключением ссылок на папку Windows), в том числе:
  • Общие файлы с папкой Windows. Эти файлы необходимы для работы системы и ни в коем случае не являются лишними. В моем примере они составляют 87% от размера хранилища, но чем больше обновлений устанавливается, тем ниже этот процент.
  • Резервные копии и отключенные компоненты . Эти файлы хранятся на случай проблем с обновленными компонентами или для включения ролей или компонентов. Их можно условно считать лишними, поскольку они не критичны для текущей работы системы.
  • Кэш и временные файлы . Эти файлы нужны для быстрой работы системы обслуживания, но не являются абсолютно необходимыми для функционирования Windows.
  • Дата последней очистки хранилища . Об очистке во всех подробностях ниже.
  • Число пакетов, замененных более новыми , и рекомендация по очистке . Фактически, это - файлы, которые обновились после работы Windows Update. Их можно удалить очисткой хранилища.
  • Я прямо вижу, как у вас руки чешутся очистить хранилище и высвободить место:)

    Как очистить папку WinSxS в Windows 8 и 8.1

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

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

    Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

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

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

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

    Запланированное задание

    Windows выполняет очистку папки winsxs по расписанию с помощью задания Microsoft - Windows - Servicing - StartComponentCleanup .

    Конкретной команды не видно, поскольку очистка реализована обработчиком COM-объектов. А отсутствие триггеров свидетельствует о том, что задание работает в рамках вездесущего автоматического обслуживания . Запустив задание из планировщика или командной строки, вы достигаете почти того же эффекта, что и командой DISM с ключом /StartComponentCleanup . Различия таковы:

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

    Выполнив очистку, в Windows 8.1 вы можете снова проанализировать хранилище и оценить изменения.

    Как видите, в моем случае очистка 10 пакетов позволила сэкономить 60MB, что не так уж и много в масштабах папки. Однако можно почистить еще:)

    Как удалить старые версии компонентов из папки WinSxS в Windows 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. Например, на момент публикации этой статьи Microsoft выпустила два обновления для встроенного в систему Adobe Flash Player, что видно из журнала установки.

    Второе обновление заменило некоторые компоненты Flash Player, а в папке WinSxS сохранились обе версии:

    После удаления предыдущих версий из папки WinSxS исчезает папка с более старой версией 6.3.9431.0. Если старых версий несколько, все они удаляются, и остается только самая последняя.

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

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

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

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

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

    Возможно, со временем Microsoft выдаст в документации или блогах команд больше информации о сжатии в Windows 8.1.

    Кстати, NTFS-сжатие файлов, не являющихся жесткими ссылками, является единственным способом сокращения объема папки WinSxS, хоть как-то имеющим право на жизнь в предыдущих ОС Windows, хотя даже этот метод не поддерживается>. Читатель блога Александр делился в комментариях ссылкой на свою (публикация ссылки не означает, что я рекомендую этот способ или проверял конкретную реализацию).

    С чем связаны изменения в системе обслуживания 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 удаление предыдущих версий предоставляет запасной аэродром в самых тяжелых случаях.

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

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


    На самом деле папка занимает меньше места, чем кажется, но если вы дорожите каждым ГБ свободного места, можете регулярно удалять её содержимое.

    Почему папка WinSxS растет?

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


    Файлы из папки Windows попадают в WinSxS с помощью жестких ссылок, и файловые менеджеры принимают их за реальный объем. Поэтому размеры папки могут отображаться неверно, а на самом деле она, как правило, весит не больше 15ГБ.


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

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

    В командной строке нужно набрать cleanmgr, и встроенная утилита покажет, сколько места вы можете освободить. Надо просто отметить «Очистка обновлений Windows» и нажать ОК.



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


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


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



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


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


    Например, одна команда удаляет все версии обновлений без 30 дней ожидания:


    DISM.exe /online /Cleanup-Image /StartComponentCleanup


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


    DISM.exe /online /Cleanup-Image /SPSuperseded


    Еще одна команда удалит все старые версии каждого компонента. После этого вы не сможете удалить все установленные пакеты обновлений:


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

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

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


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



    Однако, даже неиспользуемые компоненты занимают место на жестком диске, и если вам очень важно свободное место, можете их удалить.


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


    Чтобы удалить компоненты, откройте командную строку и вбейте следующую команду:


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


    Вы увидите разные компоненты и их состояние.



    Чтобы удалить функцию из системы, можно использовать следующую комнду, заменив NAME на название функции, которую вы хотите удалить.


    DISM.exe /Online /Disable-Feature /featurename:NAME /Remove



    Если вы выполните команду / GetFeatures еще раз, вы увидите, что функция сменила статус на: «Disabled with Payload Removed» («Отключено с удалением полезных файлов») вместо просто «Disabled» («Отключено»).


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

    На самом деле, истинный размер папки WinSXS не совсем тот, который показывают файловые менеджеры: Explorer, FAR и другие, или утилиты, наподобие Scanner. А точнее было бы сказать, – совсем не тот. Виноваты в этом жесткие ссылки (Hard Links ). Но об этом чуть ниже.

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

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

    Способы уменьшения размера папки WinSxS

    Удаление файлов

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

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

    Скрипт Winsxslite

    Большое количество публикаций представляют командный файл от Christian Bering Boegh как чудесное средство уменьшения размера WinSxS. Однако, последнюю заявленную версию WinsxsLite — 1.88 скачать уже не получилось. Видимо, с проектом Winsxslite не все так хорошо.

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

    Ну что же, тут по крайней мере есть идея. Однако, она не гарантирует 100-процентного положительного результата. Я поддался соблазну, потратил достаточно много времени и получил совершенно отрицательный результат. Скрипт отработал первую фазу и «сломался» на второй. После требуемой, по алгоритму работы этого командного файла, перезагрузки компьютера напрочь отказалась работать системная утилита subinacl. На этом все и закончилось. Коль уж сам скрипт не может отработать после внесенных им изменений, то о чем тут вообще можно говорить.

    Если есть желание непременно воспользоваться пакетным файлом WinsxsLite, то в обязательном порядке сделайте предварительно бекап системы!

    NTFS-сжатие файлов в папке WinSxS

    Если сделать, в общем-то, необоснованное предположение о том, что файлы, размещенные в папке WinSxS, используются системой не так часто, как файлы из других системных папок, таких как: Program Files, ProgramData, system32 и др., то почему бы не попробовать сделать их ntfs-сжатие ? Результат заранее не очевиден, но, по крайней мере, это совершенно безопасный вариант.

    Microsoft постаралась максимально защитить папку WinSxS от всяческих посягательств на нее извне. Если открыть закладку «Безопасность» в свойствах папки, то можно увидеть, что только пользователь «TrustedInstaller» имеет полный доступ. Все остальные, включая «Система» и «Администраторы», приравнены к рядовым пользователям с правами на чтение и выполнение.

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

    Запускаем командную строку с правами администратора и последовательно выполняем следующие команды:
    takeown /A /R /F C:\Windows\winsxs\* В результате владельцем папок и файлов в WinSxS станет группа пользователей «Администраторы».
    icacls C:\Windows\winsxs\* /T /grant Администраторы:(F) Результатом будет добавление прав полного доступа на все папки и файлы в WinSxS.

    Не хочется подробно расписывать значение ключей команд. Кому интересно – посмотрите по /? в командах, все достаточно очевидно.

    Теперь можно сделать сжатие файлов, но не торопитесь и дочитайте статью до конца.

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

    Мы уже несколько раз обращались к теме символьных ссылок, которые использовали для переноса каталогов пользователей на другой диск. (См. «Перенос Windows 7 на твердотельный диск …» и ).

    Тогда мы использовали обычные символические ссылки (Symbolic link), которые представляют собой специальные файлы, содержащие указатели на объекты в файловой системе. При попытке обратиться к объекту, в качестве которого может выступать файл или папка, символьная ссылка передает действительный путь к нему.

    В папке WinSxS для файлов используется разновидность символической ссылки, которая называется жесткой ссылкой (Hard Links ).

    Target - путь к реальному объекту (относительный или абсолютный).

    Название этого типа ссылок, в какой-то степени, говорит само за себя – штука это жестокая. Hard Link создает абсолютно равноправный исходному указатель на файл. Новый указатель и первоначальный могут иметь разные имена и находиться в разных каталогах (в пределах одного раздела), но они указывают на один и тот же объект. Сам объект будет существовать в файловой системе до тех пор, пока на него существует хотя бы один указатель.

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

    Со ссылками всех типов, включая и жесткие, умеет работать файловый менеджер FAR (Alt/F6). С его помощью можно легко посмотреть количество ссылок, которые имеет файл:

    Для этого нужно выбрать 9-й режим отображения любой из панелей. Крайний правый столбец покажет количество ссылок на файлы в текущем каталоге.

    В нашем случае, если сделать ntfs-сжатие всех файлов в папке WinSxS, то сжатыми окажутся и файлы в других системных каталогах, на которые имеются жесткие ссылки.

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

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

    Сначала я сделал сжатие всех файлов папки WinSxS. Нам понадобится это в дальнейшем для прикидки объемов уникальных файлов и файлов, созданных жесткими ссылками.
    Compact /C /A /I /S:C:\Windows\winsxs\
    Результат для Windows 7 x64 получился такой:

    — после сжатия – 6,85 ГБ.

    Выигрыш места на диске составил 3,25 ГБ, или 32% от первоначального размера папки. Очень неплохо, учитывая, что все это делается для небольшого SSD-диска.

    Теперь раскрутим файлы назад:
    Compact /U /A /I /S:C:\Windows\winsxs
    и попробуем сжать только уникальные файлы. Как же это сделать?

    Идея такая – для каждого файла в папке WinSxS посчитать количество ссылок. Если ссылка всего одна – сжимаем, если больше – ничего не делаем. Для подсчета количества ссылок используем возможности команды fsutil hardlink list «Имя_файла». Естественно, ручками перебрать 60 тысяч файлов дело нереальное, поэтому создадим командный файл:
    @echo off
    REM Включаем раскрытие переменных окружения в момент обращения к ним
    setlocal enabledelayedexpansion
    REM Рекурсивно перебираем все файлы в каталоге C:\Windows\winsxs
    for /R "C:\Windows\winsxs" %%i in (*) do (
    REM Ищем однострочный вывод fsutil
    fsutil hardlink list %%i | find /c /v "" | find /I "1" >nul
    REM Если ссылка единичная, сжимаем файл
    IF !ERRORLEVEL!==0 Compact /C /A /I %%i
    @echo FINISH
    pause>nul
    Внимание! Пакетный файл необходимо запускать строго от имени администратора. В противном случае fsutil начнет выдавать однострочный текст ошибки, который будет благополучно обработан командами find. В результате окажутся сжатыми все файлы в каталоге WinSxS, а не только уникальные.

    Скрипт, естественно, работает не так быстро, как «безразборное» сжатие всех файлов. В моем случае на i7 и SSD-диске перебор и сжатие файлов заняли около 20 минут.

    Результат получился такой:

    — исходный размер папки WinSxS составлял 10,1 ГБ,

    — после сжатия только уникальных файлов – 8,25 ГБ.

    Выигрыш места на диске составил 1,85 ГБ, или 18,3% от первоначального размера папки. Много меньше, чем после сжатия всех файлов, но тоже неплохо. Для моего 60-гигабайтного SSD-диска вполне различимо.

    В заключение вернем разрешения на файлы:
    icacls C:\Windows\winsxs\* /T /L /grant:r Администраторы:(RX)

    Соотношение уникальных файлов и жестких ссылок в папке WinSxS Windows 7

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

    Сделаем допущение, что средняя степень сжатия файлов одинакова для уникальных и неуникальных файлов.
    K c = V c / V где V – исходный объем папки WinSxS, V c – ее объем после полного сжатия.
    F 1 + F L = V
    K C * F 1 + F L = V c1 F 1 – объем уникальных файлов, F L –объем ссылочных файлов, V c 1 – объем WinSxS после сжатия уникальных файлов.

    Путем несложных преобразований получим:
    F 1 = (V - V c 1) / (1 - K c)
    После подстановки конкретных значений:
    F 1 = (10,1 – 8,25) / (1 – 0,678) = 5,86 ГБ
    Оказалось, что уникальные файлы занимают около 60% объема папки WinSxS. Неожиданный результат. А меня уверяли, что их там очень мало.

    Заключение

    В заключение необходимо отметить:

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

    _____________________________

    Появились:

    33 комментария

      • Спасибо, что оценили. На самом деле есть еще одна идейка как можно без лишних проблем уменьшить WinSxS. Я как раз сейчас пишу об этом статью.

    1. Интересный вопрос. В принципе, допускаю, конечно. Думаю даже, что через некоторое время кто-нибудь воспользуется моей идеей в своих корыстных целях. Шучу, конечно, но почему бы и нет?

      При запуске команды на поиск выдает ошибку:

      При копировании в Блокнот или сразу в редактор FARа, все это дело копируется с какими-то сдвигами, а Блокнот предлагает сохранить в кодировке Юникод.

      В какой кодировке правильно сохранять данный командный файл?
      И чем лучше его создавать?

      • Файл сделан в кодировке OEM 866 (ДОС). В FAR-е после загрузки файла в редактор нужно сменить кодировку, нажав на F8.
        Можно редактировать в Notepad++, соответственно, выбрав кодировку OEM 866.
        Файл должен открываться в редакторах без каких-либо сдвигов, изначально их нет.
        А зачем что-то куда-то копировать?

        ОК, буду пробовать.

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

        А зачем? Есть же уже готовый проверенный файл. Если Вы оформили подписку на обновления блога по E-Mail, то ссылка на его скачивание есть в уведомлении о подписке.

        Скачал готовый файл и нашел причину ошибки
        FIND: Неправильный формат паратметра

        А вот и причина:
        в Вашем посте вот так
        fsutil hardlink list %%i | find /c /v «» | find /I «1″ >nul

        а в рабочем варианте так
        fsutil hardlink list %%i | find /c /v «» | find /I «1»

        Если можно, отредактируйте ваше сообщение и все будет ОК.

        Также выражаю благодарность за быстрые ответы.

        Виктор, боюсь, что >nul тут ни при чем. Скорее всего у Вас возникла проблемка с парными кавычками при переносе текста в редактор. Должно быть так:
        fsutil hardlink list %%i | find /c /v "" | find /I "1" >nul

      • Евгений, в данном случае Вам не нужно самостоятельно создавать командный файл — просто скачайте готовый. Для этого нужно лишь подписаться на обновления блога по E-Mail.
        А вообще командные файлы — это обычные текстовые файлы с расширением, как правило, .bat или.com, в которых записаны соответствующие команды. Такой файл можно создать практически в любом текстовом редакторе: notepad (блокнот), notepad++, far и т.д.
        А вот уже применение команд для решения той, или иной задачи — это совершенно отдельная тема. Скорее даже, направление.

    2. прочитал статью…ринулся было попробовать у себя…
      посмотрел размер папки winsxs (стоит windows 7 32 бит) -4,8 гб -наверное,
      особой целесообразности сжимать нет в таком случае?

      • Полагаю, что точно не стоит. После того, как в Windows 7 добавили возможность ntfs-сжатие стоит рассматривать исключительно как дополнительную возможность уменьшения размера.

      Может быть сможете мне помочь разобраться. Стоит Win7HB 64 бит. Делал все как сказано в статье (делал все от имени администратора): сменил владельца, добавляю права доступа. Однако в консоли пишется, что обработано всего 44 файла и это из 9Гб размера папки. В дальнейшем при выполнении скрипта на сжатие на все файлы выводится сообщение «Отказано в доступе». Результат выполнения Вашего скрипта winsxscompact.cmd дает тот же результат. Может быть сможете подсказать куда смотреть и что еще попробовать?

      • Да, это после чистки. Было где-то под 10Гб, под 700 Мб удалила очистка системы. Прошу прощения, что не сходятся расчеты, зря я их не записал. Попробовал полное сжатие: 62 файла сжал, примерно 6 Мб освободилось 🙂 Большая часть файлов прошла с той же ошибкой: отказано в доступе.

        По какой-то причине в вашей системе не удается изменить разрешения на файлы. Однако чудес на свете не бывает. В этой связи такой вопрос — у Вас Windows случайно не английский? У меня все используемые команды расписаны в расчете на русский. Командный файл, соответственно, тоже.
        А вообще, WinSxS 9 Гб для 64-разрядной Windows — это вовсе не запредельный размер. Боюсь, что после очистки штатным способом, поджать за счет ntfs-сжатия получится несильно. Если есть большие проблемы с местом на диске, то имеет смысл посмотреть другие варианты. Например, некоторые файлы и папки на другой диск (если не ноутбук, конечно).

      Александр, спасибо за файлик, скрип отличный. Тестировал на Win7 x64, полет нормальный. Но есть вопрос. Как этот скрипт поведет себя на серверных ОС? В частности интересует Windows Server 2008 R2 Enterprise SP1. И очень хотелось бы, чтобы появился скрипт для англоязычных ОС.

      • Сергей, спасибо за отзыв. Что касается Windows Server 2008 R2 SP1, то ситуация следующая. Скрипт в своем нынешнем виде работать на нем не будет, но так как Server 2008 это фактически Windows 7, то дело легко поправимое.
        Интереснее как раз ситуация с самим сервером. По-умолчанию в Windows Server 2008 не установлена утилита «Очистка диска» (Disk Cleanup). Для того, чтобы она появилась, нужно доустановить компоненту «Возможности рабочего стола» (Desktop Experience). Однако для того, чтобы не делать из рабочего сервера десктоп, можно просто скопировать cleanmgr.exe в %systemroot%\System32 и cleanmgr.exe.mui в %systemroot%\System32\ru-RU (или en-US) из WinSxS. Подробно расписать как это сделать я постараюсь в ближайшее время (добавлю в текст статьи).

        В скрипт добавлена поддержка Windows Server 2008. Локализация опять же русская. Соответственно, сделать штатную очистку можно только в 2008 R2 SP1, для остальных — ntfs-сжатие. Во время тестирования свежеустановленного и полностью обновленного экземпляра сервера WS 2008 R2 SP1 в виртуальной машине за счет ntfs-сжатия получилось освободить на диске ~1,5 Гб. Предварительно была сделана штатная очистка обновлений.

      Пимер применения:
      subinacl.exe /keyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DPS /grant=S-1-5-32-544=f >>%LogPacked%

      takeown.exe /F %SystemRoot%\system32\systeminfo.exe /A >>%LogPacked% 2>&1
      icacls %SystemRoot%\system32\systeminfo.exe /reset >>%LogPacked% 2>&1
      icacls %SystemRoot%\system32\systeminfo.exe /grant *S-1-5-32-544:F /inheritance:r /q /c >>%LogPacked%

      Спасибо, скрипт отличный. На 7-ке делает работу отлично.
      А вот на 10-ке не запускается. Может автор сможет добавить в столь полезный скрипт и поддержку win10? Спасибо!

      SC ControlService: ошибка: 1062
      Служба не запущена.

      Такие записи возникают после запуска файла.
      Не подскажите о какой службе речь, и как это поправить?

    07.10.2018 Frenk 0 Коментариев

    Новые игры, такие как world of tanks занимают много места на диске, но вы можете уменьшить их размер и сэкономить место.

    Все, что вам нужно сделать, это использовать функцию Windows, которая позволяет уменьшать папки. Что это такое и как его использовать?

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

    Сегодня они занимают несколько десятков гигабайт, например Nioh — весит 75 ГБ, Shadow of весит — около 80 ГБ или DOOM — весит 60 ГБ.

    Фактически, каждая высокобюджетная игра пожирает огромное количество места на нашем жестком диске.

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

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

    Уменьшить размер папки игр одним щелчком мыши

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

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

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

    Таким способом, мы можем сжимать целые папки, значительно уменьшая их размер. Работа программы CompactGUI подтверждается игроманами всего мира.

    Конечно, эффект зависит от конкретных игр и от того, как они изначально разработаны. Тем не менее, как видите на скриншоте ниже, Nioh перед вначале весил около 74 ГБ и 21 ГБ после сжатия в CompactGUI.

    CompactGUI сэкономил до 53 ГБ свободного места, только в одной игре, не оказывая существенного влияния на ее производительность.

    Как уменьшение размера паки влияет на производительность игр

    Многое зависит от конкретной игры. Например, Nioh не идет медленнее или хуже после уменьшения. Правда, некоторое снижение производительности будет появляться в большинстве игр.

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

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

    Только это правило, в котором есть исключения, и лучше всего проверить выбранную вами игру, как она работает.

    Как уменьшать папки играми с помощью CompactGUI

    После запуска CompactGUI появится окно программы, в котором вы должны указать папку для уменьшения.

    Нажмите на поле «Выбрать целевую папку» и укажите каталог с игрой, которую вы хотите уменьшить.

    Укажите основной каталог игры и нажмите кнопку «Выбрать папку». Теперь появятся параметры сжатия, которые можете адаптировать к вашим потребностям.

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

    Есть несколько алгоритмов на выбор. В общем, принцип прост — чем больше сжатие, тем больше свободного места вы восстановите, но весь процесс будет длиннее, и игра может быть работать медленнее / хуже. Доступные типы:

    • XPRESS 4K: самое быстрое и наименьше свободного места памяти.
    • XPRESS 8K: сравнительно быстрое и среднее количество сохраненного места.
    • XPRESS 16K: среднее и больше свободного места.
    • LZX: самое медленное, но в то же время максимальное количество свободного места.

    LZX может оказать негативное влияние на производительность игры, а сжатие XPRESS 4K не позволит вам освободить много места.

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

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

    Последняя опция «Shutdown PC on Finish» позволяет вам установить возможность автоматического выключения компьютера по завершению работы, что полезно, если вы оставите компьютер включенным в течение ночи, чтобы завершить работу в CompactGUI.

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

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

    Разработчик:
    https://github.com

    Операционка:
    виндовс

    Интерфейс:
    английский