Як зменшити розмір папки winsxs в windows 8.1

зміст

  • Чому папка WinSxS така велика
  • Чому папка WinSxS постійно зростає
  • Нові можливості системи обслуговування
  • Як визначити реальний розмір папки WinSxS в Windows 8.1
  • Як очистити папку WinSxS в Windows 8 і 8.1
  • Команда DISM (рекомендую)
  • Утиліта «Очищення диска»
  • заплановане завдання
  • Як видалити старі версії компонентів з папки WinSxS в Windows 8.1
  • Команда для видалення
  • Що відбувається при видаленні попередніх версій компонентів
  • Стиснення компонентів в папці WinSxS (таємне знання)
  • З чим пов`язані зміни в системі обслуговування Windows 8 і 8.1
  • серверні ОС
  • клієнтські ОС

Спочатку я позначу два питання, які найсильніше хвилюють людей в контексті папки 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

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

dism.exe командний рядок

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

  1. Розмір сховища компонентів, яким його бачить провідник, тобто без урахування жорстких посилань всередині WinSxS.
  2. Реальний розмір сховища компонентів з урахуванням жорстких посилань (за винятком посилань на папку Windows), в тому числі:
    • Загальні файли з папкою Windows. Ці файли необхідні для роботи системи і ні в якому разі не є зайвими. У моєму прикладі вони становлять 87% від розміру сховища, але чим більше оновлень встановлюється, тим нижче цей відсоток.
    • Резервні копії та відключені компоненти. Ці файли зберігаються на випадок проблем з оновленими компонентами або для включення ролей або компонентів. Їх можна умовно вважати зайвими, оскільки вони не критичні для поточної роботи системи.
    • Кеш і тимчасові файли. Ці файли потрібні для швидкої роботи системи обслуговування, але не є абсолютно необхідними для функціонування Windows.
    • Дата останньої очищення сховища. Про очищення у всіх подробицях нижче.
    • Число пакетів, замінених новішими, і рекомендація по очищенню. Фактично, це - файли, які оновилися після роботи Windows Update. Їх можна видалити очищенням сховища.

Я прямо бачу, як у вас руки чешуться очистити сховище і вивільнити місце :)

Як очистити папку WinSxS в Windows 8 і 8.1

Починаючи з Windows 8, в ОС закладено три способи очищення.

Команда DISM (рекомендую)

Ви можете очистити сховище компонентів вручну однією командою.

Dism.exe / Online / Cleanup-Image / StartComponentCleanup

Це найоптимальніший спосіб, і після нього двома наступними ви вже нічого не доб`єтеся.

Утиліта «Очищення диска»

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

Очистка диска

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

заплановане завдання




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

планувальник Windows

Конкретної команди не видно, оскільки очищення реалізована оброблювачем COM-об`єктів. А відсутність тригерів свідчить про те, що завдання працює в рамках всюдисущого автоматичного обслуговування. Запустивши завдання з планувальника або командного рядка, ви досягаєте майже того ж ефекту, що і командою DISM з ключем / StartComponentCleanup. Відмінності такі:

  • Ігноруються поновлення, встановлені в останні 30 днів.
  • Витримується годинна пауза, очищення всіх файлів може не відбутися.

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

розмір папки WinSxS

Як бачите, в моєму випадку очищення 10 пакетів дозволила заощадити 60MB, що не так вже й багато в масштабах папки. Однак можна почистити ще :)

Як видалити старі версії компонентів з папки WinSxS в Windows 8.1

За часів Windows XP був дуже популярний питання, чи можна видаляти папки $ NTUninstallKBxxxxxx $ з папки Windows. Пам`ятайте таке?

Диск C папка 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

Що відбувається при видаленні попередніх версій компонентів

Як я сказав вище, в папці WinSxS зберігаються попередні версії компонентів, замінені оновленнями Windows. Наприклад, на момент публікації цієї статті Microsoft випустила два поновлення для вбудованого в систему Adobe Flash Player, що видно з журналу установки.

Перегляд журналу оновлень

Друге оновлення замінило деякі компоненти Flash Player, а в папці WinSxS збереглися обидві версії:

Adobe Flash

Після видалення попередніх версій з папки 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, хоча навіть цей метод не поддержіваетсяgt ;. Читач блогу Олександр ділився в коментарях посиланням на свою статтю про це (Публікація посилання не означає, що я рекомендую цей спосіб або перевіряв конкретну реалізацію).

З чим пов`язані зміни в системі обслуговування 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.oldЯк видалити папку windows.old
Як створити папку ubuntuЯк створити папку ubuntu
Папка system volume information і як її очиститиПапка system volume information і як її очистити
Поради з налаштування та оптимізації windows xpПоради з налаштування та оптимізації windows xp
Розмір папки winsxs в windows 7. Займає дисковий простірРозмір папки winsxs в windows 7. Займає дисковий простір
Рішення помилки в командному рядку: «помилка: 14098, сховище компонентів…Рішення помилки в командному рядку: «помилка: 14098, сховище компонентів…
Пропадає місце на жорсткому диску. Що робити?Пропадає місце на жорсткому диску. Що робити?
Що робити, якщо гальмує жорсткий диск?Що робити, якщо гальмує жорсткий диск?
Dism - управління компонентами образів windows.Dism - управління компонентами образів windows.
Як скинути windows 10?Як скинути windows 10?
» » Як зменшити розмір папки winsxs в windows 8.1