Донецкий техникум промышленной автоматики

Як грамотно зменшити розмір папки WinSxS в Windows 10, 8.1 і 8 - Вадим Стеркиной

  1. [+] Сьогодні в програмі
  2. Чому папка WinSxS така велика
  3. Чому папка WinSxS постійно зростає
  4. Нові можливості системи обслуговування
  5. Як визначити реальний розмір папки WinSxS в Windows 10, 8.1 і 8
  6. Як очистити папку WinSxS в Windows 10, 8.1 і 8
  7. Команда DISM (рекомендую)
  8. Утиліта «Очищення диска»
  9. заплановане завдання
  10. Як видалити всі старі версії компонентів з папки WinSxS в Windows 10 і 8.1
  11. Команда для видалення
  12. Що відбувається при видаленні всіх попередніх версій компонентів
  13. Стиснення компонентів в папці WinSxS (таємне знання)
  14. З чим пов'язані зміни в системі обслуговування Windows 8 і 8.1
  15. серверні ОС
  16. клієнтські ОС
  17. Дискусія і опитування

Вже 7 років   папка WinSxS   є більмом в оці у ряду користувачів Вже 7 років папка WinSxS є більмом в оці у ряду користувачів. Всі ці роки Microsoft потихеньку покращувала систему обслуговування Windows, і в минулому році я розповідав про тонкощі управління компонентами Windows 8 . Вигоду від тих нововведень отримали адміністратори серверних ОС, а на вулицю домашніх користувачів справжнє свято прийшов тільки в Windows 8.1.

Перейти до інструкцій по очищенню

Сьогодні я розповім вам про ключові зміни в системі обслуговування Windows 8 і 8.1, які допоможуть вам ефективніше розпорядитися дисковим простором і нарешті очистити папку WinSxS, не ризикуючи при цьому порушити роботу системи.

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

[+] Сьогодні в програмі

нагальні питання

Спочатку я позначу два питання, які найсильніше хвилюють людей в контексті папки WinSxS Спочатку я позначу два питання, які найсильніше хвилюють людей в контексті папки WinSxS.

Чому папка WinSxS така велика

Насправді, вона займає значно менше місця, ніж здається. Безліч файлів з папки Windows проектується в неї за допомогою жорстких посилань саме з папки WinSxS. Так, файлові менеджери можуть показувати розмір папки WinSxS в 10GB і більше, але лише тому, що вони приймають за чисту монету обсяг жорстких посилань. У Windows цього є дуже наочне підтвердження.

Чому папка 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 10, 8.1 і 8

За допомогою одного з нових параметрів DISM ви можете проаналізувати сховище компонентів, тобто папку WinSxS.

Dism.exe / Online / Cleanup-Image / AnalyzeComponentStore

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

збільшити малюнок
збільшити малюнок

Тут усе своєю чергою:

  1. Розмір сховища компонентів, яким його бачить провідник, тобто без урахування жорстких посилань всередині WinSxS.
  2. Реальний розмір сховища компонентів з урахуванням жорстких посилань (за винятком посилань на папку 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.

    Вбудована в 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 і вище застосовується стиснення Однак в офіційній документації практично немає інформації про те, що з метою економії дискового простору для сховища компонентів в Windows 8 і вище застосовується стиснення. Я виділю кілька відомих мені моментів:

  1. Стиснення застосовується до файлів, які не використовує операційна система. До них відносяться попередні версії компонентів і відключені компоненти. Цим, мабуть, і пояснюється не настільки суттєвий виграш від видалення попередніх версій з параметром / ResetBase.
  2. Використовується разностное стиснення. За непідтвердженою поки вже підтвердженої інформації в Windows 8.1 для компресії замінених компонентів застосовується разностное стиснення .
  3. Економія дискового простору може бути дуже істотною в деяких сценаріях. Так, на установці Windows Server Core 2012 R2 Preview завдяки стисненню вивільняється близько 20% місця, якщо виключити з рівняння файли підкачки і глибокого сну. Економія досягається за рахунок стиснення компонентів відключених ролей сервера.

у статті , Де зібрані всі технічні тонкощі, я описав різні механізми стиснення Windows 8 і 8.1+.

З чим пов'язані зміни в системі обслуговування 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.

Ця запис знаменує відновлення публікацій в блозі після річної перерви. Сподіваюся, ви добре відпочили :) Мій відпустку ще тільки має прийти у вересні, але вас вже чекають кілька цікавих запланованих записів :)

Результати голосування загублені в зв'язку з припиненням роботи веб-сервісу опитувань.

Обговорення завершено.

Чи готові?
Пам'ятайте таке?