Як зменшити розмір папки 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 новими параметрами командного рядка, які я розберу в цій статті. Але спочатку - кілька приміток:
- У моєму розпорядженні знаходиться англійська Windows 8.1 Preview, в якій результати команд DISM не локалізовано, незважаючи на російський мовний пакет. Фанатичним прихильникам локалізованих ОС доведеться потерпіти :)
- Оскільки Windows 8.1 Preview встановлена недавно, розмір папки WinSxS невеликий, так само як і вигода від описаних в статті маніпуляцій. Однак, чим довше встановлена ОС, тим помітніше користь від змін в системі обслуговування.
- Всі команди потрібно виконувати від імені адміністратора.
Чи готові? Давайте підемо від простого до складного!
Як визначити реальний розмір папки WinSxS в Windows 8.1
За допомогою одного з нових параметрів DISM ви можете проаналізувати сховище компонентів, тобто папку WinSxS.
Dism.exe / Online / Cleanup-Image / AnalyzeComponentStore
Результат команди буде приблизно таким:
Тут усе своєю чергою:
- Розмір сховища компонентів, яким його бачить провідник, тобто без урахування жорстких посилань всередині WinSxS.
- Реальний розмір сховища компонентів з урахуванням жорстких посилань (за винятком посилань на папку 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.
Конкретної команди не видно, оскільки очищення реалізована оброблювачем 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 і вище застосовується стиснення. Я виділю кілька відомих мені моментів:
- Стиснення застосовується до файлів, які не використовує операційна система. До них відносяться попередні версії компонентів і відключені компоненти. Цим, мабуть, і пояснюється не настільки суттєвий виграш від видалення попередніх версій з параметром / ResetBase.
- Використовується стиснення NTFS. За непідтвердженою інформацією, в Windows 8.1 також використовується алгоритм разностного стиснення (delta compression), який перевершує по ефективності стиснення NTFS. Ймовірно, цей алгоритм спирається на блоки даних.
- Економія дискового простору може бути дуже істотною в деяких сценаріях. Так, на установці 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 видалення попередніх версій надає запасний аеродром в найважчих випадках.
- Команда rmdir (rd) - видалити каталог файлової системи windows.
- Файли і папки windows xp
- Поради з налаштування та оптимізації windows xp
- Як прибрати папки в windows 8.1
- Як очистити папку winsxs в windows 7 sp1
- Як видалити папку windows.old
- Включення додаткових тем оформлення в windows 7
- Секрети windows 7 beta
- Як скинути windows 10?
- Відновлення сховища компонентів в windows 10, використовуючи powershell
- Розмір папки winsxs в windows 7. Займає дисковий простір
- Dism - управління компонентами образів windows.
- Що робити, якщо гальмує жорсткий диск?
- Папка system volume information і як її очистити
- Пропадає місце на жорсткому диску. Що робити?
- Як очистити папку winsxs і чи можна її видалити
- Як очистити папку winsxs?
- Як створити папку
- Як створити папку ubuntu
- Отримання доступу до папки system volume information
- Рішення помилки в командному рядку: «помилка: 14098, сховище компонентів…