Зменшення папки WinSxS в Windows 8 і 81.
Папка WinSxS не дає спокою користувачам з часів Windows Vista. І дійсно, якщо ви зайдете в директорію Windows на системному диску і подивіться розмір папки WinSxS, то можете сильно здивуватися. Що ж знаходиться в цій папці, чому вона така велика і чи можна зменшити її розмір? Спробуємо це з'ясувати.
Для початку нагадаю, що з себе представляє папка WinSxS.
Все більш-менш сучасні операційні системи Microsoft (починаючи з Windows Vista) складаються з компонентів. Компонент в Windows представляє із себе один або кілька бінарних файлів, файл-каталог і XML-файл з описом налаштувань (ключі реєстру, налаштування безпеки і т.п.). Компоненти групуються в логічні блоки, з яких збираються різні редакції Windows.
Всі компоненти ОС знаходяться в папці WinSxS, яка є сховищем компонентів. Кожен компонент в сховище має своє унікальне ім'я, яке включає в себе номер версії, мова локалізації та архітектуру процесора, для якої він був зібраний.В операційній системі є тільки один екземпляр кожної версії кожного файлу, і екземпляр цей знаходиться в папці WinSxS, а всі інші екземпляри вдають із себе жорсткі посилання (hard links) на файли, що знаходяться в сховищі.
По суті, в папці WinSxS міститься практично вся операційна система, включаючи і невстановлені компоненти.До речі, саме тому при установці додаткових компонентів система не запитує інсталяційний диск.
Розмір папки WinSxS спочатку великий, але з часом він ще збільшується. Відбувається це через оновлення компонентів. Оскільки одиницею поновлення в Windows є не файл, а компонент, то при оновленні одного єдиного бінарного файлу випускається нова версія всього компонента.Нова версія встановлюється в систему, при цьому попередня не видаляється, а залишається в сховище. Такий підхід дає можливість в будь-який момент скасувати оновлення і відкотитися до попередньої версії компонента.
Таким чином , розмір папки WinSxS безпосередньо залежить від віку системи і кількості встановлених оновлень - чим старше система, тим більше розмір.Втім не все так погано і на практиці середній розмір папки становить не більше 10-15 Гб. Крім того не забуваємо, що більшість системних файлів з папки Windows проектуються в неї за допомогою жорстких посилань з папки WinSxS, так що насправді розмір WinSxS набагато менше.
Саме через наявність жорстких посилань файлові менеджери можуть показувати кілька перебільшений розмір папки WinSxS.Більш точні дані про розмір папки в Windows 8 можна дізнатися за допомогою утиліти Disk Usage від Sysinternals. Досить просто розпакувати утиліту і виконати команду:
du C: \ Windows \ WinSxS
Як бачите, утиліта показує трохи менший розмір папки, ніж Провідник.
Якщо у вас на системному диску не вистачає місця, то розмір сховища можна зменшити, видаливши невикористовувані компоненти.Відразу попереджу, що зайві файли можна просто взяти і видалити, це може привести до часткової або навіть повної непрацездатності системи. У Windows 8 є три безпечних способу очистити папку WinSxS.
Утиліта «Очищення диска»
Для очищення сховища можна скористатися графічної утилітою «Очищення диска», запущеної з правами адміністратора.Для цього треба зайти в папку C: \ Windows \ System32, знайти файл cleanmgr.exe і вибрати запуск від імені адміністратора.
Для зменшення розміру папки WinSxS треба поставити галочку навпроти пункту «Очищення оновлень Windows» і натиснути ОК. До речі, утиліта не зовсім точно визначає обсяг вивільняється простору, реально він може відрізнятися на пару сотень мегабайт в меншу сторону.
Утиліта DISM
За допомогою консольної утиліти DISM також можна очистити сховище компонентів. Для цього в командному рядку, запущеної з правами адміністратора, треба виконати команду:
Dism/Online/Cleanup-Image/StartComponentCleanup
Також за допомогою DISM можна очистити сховище після установки сервіс-пака (SP):
Dism/Online/Cleanup-Image/SPSuperseded/HideSP
Ключ/SPSuperseded видаляє архівні файли, створені при установці SP, а/HideSP прибирає його зі списку встановлених оновлень.Але оскільки замість сервіс-пака для вісімки вийшла Windows 8.1, то використовувати ці ключі не вийде, принаймні поки. Втім, цей спосіб можна використовувати і в Windows 7 з встановленим SP1.
Планувальник завдань
В бібліотеці планувальника завдань, в розділі Microsoft \ Windows \ Servicing є завдання StartComponentCleanup.Це завдання запускається системою автоматично, в рамках автоматичного обслуговування системи, але при бажанні можна запустити його вручну. Ефект від запуску цього завдання практично такий же, як і при використанні попередніх способів, за винятком того, що ігноруються поновлення, встановлені за останні 30 днів.
Нове в Windows 8.1
В Windows 8.1 в утиліті DISM додалося кілька нових параметрів, призначених для очищення сховища. Тепер ми можемо подивитися реальний розмір сховища і проаналізувати його вміст командою:
Dism/Online/Cleanup-Image/AnalyzeComponentStore
І найцікавіше, з'явилася можливість не тільки очистити сховище, а й видалити всі попередні версії компонентів:
Dism/Online/Cleanup-Image/StartComponentCleanup/ResetBase
Ключ/ResetBase не використовується при плановій очищення та очищення з графічної оснастки.Його використання допоможе вивільнити ще кілька дискового простору, але будьте обережні. Видалення попередніх версій позбавляє вас можливості видалити встановлені оновлення та унеможливлює відкат змін в разі будь-яких проблем.
Ось так просто, однією командою або декількома кліками мишкою можна звільнити кілька додаткових гігабайт на диску.Втім, на сьогоднішній день обсяги жорстких дисків дозволяє не замислюватися про нестачу місця, та й SSD об'ємом 128-256 Гб цілком доступні за ціною. Тому, на мій погляд, проблема з великим розміром папки WinSxS актуальна в основному для власників планшетів з Windows 8.
.