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

Як грамотно зменшити розмір папки WinSxS в Windows 7 SP1 - Вадим Стеркиной

  1. [+] Сьогодні в програмі
  2. Рада перед очищенням
  3. інструкції
  4. Як працює очищення папки WinSxS в Windows 7
  5. Реалізація
  6. неясності
  7. Як автоматизувати очищення папки WinSxS
  8. Питання та відповіді
  9. Неможливо завантажити оновлення KB2852386. Що робити?
  10. Віддалиться чи папка WinSxS після очищення?
  11. Що конкретно видаляється?
  12. Скільки місця звільниться? Чому у інших віддалилося 6GB, а у мене нічого ???
  13. Як визначити, стискаються чи файли в папці WinSxS в процесі оптимізації
  14. Чому не працює команда DISM / Online / Cleanup-Image / StartComponentCleanup?
  15. дискусія

Здавалося б,   дві   великі   статті про оптимізацію папки WinSxS в Windows 8 повинні були вичерпати тему Здавалося б, дві великі статті про оптимізацію папки WinSxS в Windows 8 повинні були вичерпати тему. Але Microsoft раптово вирішила порадувати і власників Windows 7, для яких я публікую цю розповідь.

Незважаючи на численні застереження, власники Windows 7 з маленьким самі знаєте чим не залишають спроб почистити папку WinSxS кривими способами. Ось вам свіженький приклад вбивства Windows 7 учасником конференції OSZone під ніком ... xaker 7. Сподіваюся, після виходу цього запису таких жахів буде на порядок менше.

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

Як очистити папку WinSxS в Windows 7

8 жовтня 2013 року вийшло рекомендований оновлення KB2852386 тільки для всіх видань Windows 7 SP1, які пройшли перевірку справжності . Воно додає довгоочікувану функцію в утиліту «Очищення диска».

Рада перед очищенням

Я думаю, що ви захочете дізнатися, скільки місця заощадила очищення. Тому зараз відкрийте властивості диска (А не папки winsxs) і запишіть обсяг вільного простору (в байтах) або просто зробіть скріншот.

інструкції

Вони гранично прості:

  1. встановіть оновлення KB2852386 за допомогою Windows Update (рекомендую) або скачайте в IE пакет зі статті бази знань.
  2. Виконайте cleanmgr в командному рядку, запущеної від імені адміністратора (Так буде швидше).
  3. Знайдіть у списку опцію «Очищення оновлень Windows».

    Примітка. Пункт очищення оновлень доступний тільки в тому випадку, коли є файли, які можна видалити.
  4. Натисніть ОК і наберіться терпіння, тому що операція займе якийсь час.
  5. Після закінчення очищення перезавантажитеся і подивіться у властивостях диска, який обсяг пам'яті звільнилося.

Як працює очищення папки WinSxS в Windows 7

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

Реалізація

Оновлення KB2852386 замінює всього один файл - Scavengeui.dll, в якому реалізована вся робота по очищенню. Фактично, в утиліту «Очищення диска» додали виклик функції DISM , Доступною в новіших ОС при використанні в утиліті DISM.exe параметра / StartComponentCleanup (але не додаткового ключа / ResetBase).

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

Так, при кожному запуску утиліти «Очищення диска» в папку% LocalAppData% \ Temp \ {GUID} чогось копіюється вміст папки% WinDir% \ System32 \ DISM (причому тимчасова папка зберігається після завершення операції). Після чого за допомогою оновленої DLL здійснюється програмний виклик функції глибокого очищення безпосередньо з утиліти. Втім, копіювання папки DISM спостерігалося ще до виходу KB2852386.

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

неясності

Є підстави вважати, що алгоритм очищення в Windows 7 не зовсім такий же, як в Windows 8 і вище з ключем / StartComponentCleanup. Зокрема, у мене і у читачів поки не виявилося стиснення файлів , Незважаючи на ідентичність текстового опису в утиліті cleanmgr. Перевірте у себе і напишіть в коментарях!

Ще один незрозумілий нюанс - це загадкова фраза в статті бази знань (переклад - мій):

Therefore, after you run the Disk Cleanup wizard, you may be unable to roll back to a superseded update.
Після очищення диска у вас може не бути можливості відкотитися до оновлення, заміненого більш свіжим.

І ніде не пояснюється, від чого залежить ця можливість :) В моєму експерименті у всіх оновлень можливість видалення збереглася, як і повинно бути при використанні ключа / StartComponentCleanup в Windows 8 і новіше. Можливо, з часом конкретика і з'явиться ...

Нарешті, не зовсім зрозуміло, що заважало реалізувати це раніше, і чому оновлення з'явилося саме зараз. До речі, перенесення очищення в утиліту DISM.exe Windows 7 поки не планується, що не дозволяє обробляти автономні образи. Можливо, таке перенесення розкриває цілий пласт питань підтримки, пов'язаних з обслуговуванням образів.

Як автоматизувати очищення папки WinSxS

У Windows 8 очищення покладено на окреме заплановане завдання , А в крайньому випадку можна скористатися утилітою командного рядка DISM.exe. У Windows 7 єдиний доступний поки спосіб полягає в створення налаштованої конфігурації утиліти «Очищення диска» і додавання отриманої команди в планувальник.

У командному рядку, від імені адміністратора , Виконайте:

:: настройка очищення папки winsxs REG ADD "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ VolumeCaches \ Update Cleanup" / v StateFlags0088 / t REG_DWORD / d 2 / f :: (необов'язково) настройка очищення тимчасових файлів (зокрема зачищає тимчасову папку dism) REG ADD "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ VolumeCaches \ Temporary Files" / v StateFlags0088 / t REG_DWORD / d 2 / f :: створення запланованого завдання "CleanupWinSxS" schtasks / Create / TN CleanupWinSxS / RL Highest / SC monthly / TR "cleanmgr / sagerun: 88"

Заплановане завдання «CleanupWinSxS» буде виконуватися 1го числа кожного місяця, видаляючи файли, замінені оновленням, які вийшли у другий вівторок попереднього місяця. Число і час запуску ви можете змінити в бібліотеці планувальника завдань (taskschd.msc). Для успішного виконання завдання необхідна наявність у користувача прав адміністратора.

Питання та відповіді

Перший день обговорення окреслив коло питань Перший день обговорення окреслив коло питань. Відповіді на більшість з них можна дізнатися, вивчивши попередні статті про папці WinSxS, на які я активно посилався. Але матеріал вимагає уваги і певного рівня технічної підготовки. Тому я постараюся максимально просто розібрати їх тут.

Неможливо завантажити оновлення KB2852386. Що робити?

Качати за допомогою Windows Update, як я відразу раджу в статті. Оновлення буде в списку рекомендованих.

Якщо ви намагаєтеся завантажити в браузері і отримуєте помилку "Ця версія засобу перевірки Windows Geniune Advantage паче не підтримується ...», переконайтеся що:

  1. Для закачування використовується Internet Explorer
  2. В Internet Explorer дозволена установка додатків / елементів ActiveX

При дотриманні цих двох умов засіб перевірки справжності не скачується на ПК, а встановлюється в якості надбудови браузера і виконує валідацію.

Це - все офіційні способи отримання оновлення, і інші тут розглядатися і обговорюватися не будуть.

Віддалиться чи папка WinSxS після очищення?

Ні, але число підпапок і файлів в ній зменшиться, а отже і її обсяг.

Що конкретно видаляється?

Файли, що не оновлень. Ці файли не беруть участі в роботі системи, тому що замість них вже використовуються файли з більш свіжих оновлень.

Скільки місця звільниться? Чому у інших віддалилося 6GB, а у мене нічого ???

Обсяг вилучених файлів залежить від поєднання трьох чинників:

  1. Дата установки SP 1 або Windows 7 з SP1, від якого в будь-якому випадку ведеться облік встановлених оновлень. Чим довше встановлена ​​система, тим більше кількість і обсяг попередніх версій файлів в WinSxS.
  2. Частота оновлення компонента. Наприклад, хвилі помилки 0xc0000005 пов'язані з тим, що файли ядра оновлювалися три місяці поспіль. При цьому після кожного оновлення в WinSxS зберігалася попередні версії файлів.
  3. Регулярність установки оновлень. Продовжуючи приклад, якщо автоматичне оновлення щойно увімкнули після тримісячної перерви, в winsxs осяде тільки один набір файлів, а не три.

Я спробую пояснити на пальцях, максимально спростивши технічні подробиці і зробивши деякі припущення. Уявіть, що Microsoft випускає раз в два місяці оновлення файлу asdf.dll. Розглянемо трьох користувачів:

  • Михайло встановив Windows 7 з SP1 (відразу після його виходу) в лютому 2011 року і включив автоматичну установку оновлень. До жовтня 2013 року вийшло 15 оновлень, які вигідно відрізняються файл asdf.dll. Очищення диска видалила 14 непотрібних файлів і залишила один з попереднього поновлення, зберігаючи можливість відкоту.
  • Андрій встановив в один день з Михайлом, але відразу відключив автоматичну установку оновлень. Він їх ставив вручну, керуючись гороскопом, і до жовтня 2013 роки зробив це лише 4 рази. Очищення диска видалила 3 ​​непотрібних попередніх версії файлу.
  • Олексій регулярно переустановлює систему, і останній раз він це зробив в серпні 2013 року. До жовтня того ж року встигло вийти тільки одне оновлення для файлу asdf.dll. Очищення диска не вилучено нічого, тому що немає попереднього поновлення, до якого можна відкотитися.

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

Так зрозуміло? :)

Як визначити, стискаються чи файли в папці WinSxS в процесі оптимізації

Судячи з питань і деяким скриншотам утиліти TreeSize , Прикладів аналізу виявилося недостатньо. Все дуже просто: в меню Scan - Select Directory і виберіть C: \ Windows \ WinSxS.

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

Папки із стисненими файлами позначені синім. Поки що я не бачив жодного факту стиснення в Windows 7.

Чому не працює команда DISM / Online / Cleanup-Image / StartComponentCleanup?

Тому що вона для Windows 8 і новіше. У Windows 7 використовуйте очищення диска, слідуючи інструкціям цієї статті.

Далі буде…

дискусія

У мене до вас приблизно ті ж питання, що і після публікації аналогічної статті про Windows 8. Але з огляду на високий відсоток власників Windows 7, я очікую побачити більше відповідей :)

Будь ласка, напишіть в коментарях:

  1. Чи вийшло у вас оптимізувати папку WinSxS
  2. Скільки місця ви зекономили (перевести байти в гігабайти можна так )
  3. Як давно ви встановили систему
  4. Зазнали чи у вас файли в підпапках WinSxS стиску в рамках очищення (якщо стискаються, покажіть скріншот TreeSize)

Якщо у вас виникли питання, я постараюся відповісти на них в коментарях і / або доповнити статтю.

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

2852386. Що робити?
Віддалиться чи папка WinSxS після очищення?
Що конкретно видаляється?
Скільки місця звільниться?
Чому у інших віддалилося 6GB, а у мене нічого ?
2852386. Що робити?
Віддалиться чи папка WinSxS після очищення?
Що конкретно видаляється?
Скільки місця звільниться?
Чому у інших віддалилося 6GB, а у мене нічого ?