Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

Увага. (Попередження)

1) Описувана процедура дуже небезпечна для ОС, тому перед її застосуванням необхідно зробити знімок диска або партіціі за допомогою Acronis True Image або подібної програми.

2) Процедура виконується тривалий час (години) - тому плануй час.

3) Процедура не може обробляти файли заблоковані якимись процесами. Більш того, якщо процедура не зможе нормально обробити заблоковані файли, різко зростає ризик що потім щось не запрацює або система буде зіпсована. Тому на час виконання процедури, необхідно закрити всі додатки і зупинити всі можливі служби. Але ще краще виконувати процедуру в save mode, тому що в цьому випадку набагато менше файлів заблоковано системою.

----------------------------------------

Ну ось знову зіткнувся з нестачею місця на диск C: на домашньому комп'ютері.

Аналіз за допомогою програми FolderSizes показав, що найбільше місця на диск займає папка C: Windows. а в ній папка winsxs.

Почав вивчати проблему з читання статей. Ось, наприклад, від одного з розробників Windows

Натрапив на дуже цікаву статтю (правда вона для Vista, у мене 7)

Батник до речі крутий, цей Крістіан просто монстр в написанні батники, таке зробити не кожен зможе ...

У Help.htm у нього написано що батник робить незворотні зміни, тобто якщо щось піде не так, то система буде зіпсована і ясна річ краще попередньо зняти образ диска.

Отже, утиліти vsp1cln.exe і compcln.exe я не роблю, тому що у мене Windows 7, а вони ніби як призначені для Windows Vista.

Оскільки я скачав батник з набором всіх необхідних утиліт і Config.txt вже був ніби як правильно налаштований, то залишилося просто запустити батник. Якщо Config.txt немає, можна просто запустити батник і вибрати [q], Config.txt буде сформований.

Я вирішив робити за алгоритмом

Phase 1 scan
Phase 1 apply
Reboot
Phase 2 scan
Phase 2 apply
Reboot

Для початку визначу розмір папки winsxs (через провідник) - це для контролю.

Розмір: 4,16 Гб
Розмір на диску: 4,22 Гб
Фото: 29752
Папок: 7037

1) Скачую WinsxsLite.bat. (Якщо там вже немає можна пошукати по WinsxsLite.bat).
Dmitry Bobrovsky
2) (Малюнок 1). Запускаю батник WinsxsLite.bat. При запуску шукаються файли мультимедійні файли прикладів і формується батник для їх видалення DelWinsxsSampleMedia.bat (виконую його - це звільняє 30Мб для мене). Після цього з Мотрю розмір папки winsxs - [w]. (Визначення розміру так само може бути тривалим, на моєму старенькому ноутбуці, приблизно хвилин 15 йшло).
Dmitry Bobrovsky

Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

3) (Малюнок 2). Далі вибираю [1] і [s] (scan), йде довгий сканування (у мене близько 1 години). В результаті формується файл ToDo1.txt з результатами сканування. Після цього ще раз вибираю [1], але тепер меню ставати різноманітнішим і я вибираю [a] (applay). Знову йде процес (тут вже швидше хвилин 15-20).

4) (Малюнок 3). Після виконання першої фази - 18 pending hardlink. Роблячи перший раз, виконав тут [A] uto start, який ніхрена не відпрацював на Windows 7. Роблячи вдруге виконав Re [s] hchedule activation - ЦЕ ПРАЦЮЄ, тобто всі лінки були відпрацьовані.

Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

5) (Малюнок 4). Перевіряю розмір. Я так розумію що потрібно орієнтуватися на free space. Було 15064 Мб стало 15829 Мб = 765 Мб звільнилося.

Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

6) Перезавантаження. Думаю що в ній немає необхідності, але про всяк випадок ...

7) (Малюнок 5). Запускаю батник WinsxsLite.bat і вибираю [2] і [s]. Йде процес сканування (набагато швидше ніж в першій фазі, хвилин 10-15). Під час сканування формується файл ToDo2.txt. Після сканування вибираю [2] і [a]. Йде процес застосування. Н а малюнку 5 видно що батник вилаявся що у мене ToDo2.txt застарів. Саме тому в документації говориться що краще сканування і застосування робити в один час інакше, якщо зробити скан, а потім через кілька днів застосувати результати ToDo * .txt, його вміст може стати неактуальним і система може бути зіпсована.

Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

9) Запускаю WinsxsLite.bat. Програма мені каже що ОС не була перезавантажена і потрібне перезавантаження (з чогось би це?). Ну да ладно перезавантажувати ще раз.

10) Запускаю WinsxsLite.bat. Програма каже що потрібно обробити pending hardlink і пропонує зробити або Auto start або Exit. Роблю [A] uto start. Перезавантажувати.

11) Запускаю WinsxsLite.bat. Спрацьовує автостарт, чогось робить.

Все нарешті все завершено.

Дивлюся розміри (Малюнок 6). 16278-15064 = 1214 Мб. Ого цілий гігабайт звільнився.

Зменшення розміру папки winsxs в windows 7 або як користуватися - dmitry bobrovsky blogdmitry

Можна ще зробити [R] elocate folders - дозволяє перемістити системні папки на інший диск. Вважаю цей пункт варто використовувати тільки в разі крайньої потреби. Я його не робив.

І до речі по провіднику виходить що місця звільнилося зовсім мало і чомусь різниця в 12 файлів ... (Провідник реально неправильно показує розмір папки winsxs).

Розмір: 4,14 Гб
Розмір на диску: 4,20 Гб
Фото: 29740
Папок: 7037

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