Обяснено е папката WinSxS в Windows 10

Повечето от вас може би са забелязали папката WinSxS в Windows 10/8/7 и са били изненадани от нейния размер. За тези, които не са, папката се намира на C: \ Windows \ Winsxs и има огромен размер! Моят е почти 5 GB и има около 6000 папки и 25000 файла и заема почти 40% от папката на Windows! Докато размерът на тази папка Winsxs, в XP, е около 25-50 MB; големият му размер в Windows 10, Windows 8, Windows 7 и Windows Vista е интригуващ за мнозина! Проверете изображението по-долу.

winsxs-folder-windows

И така, каква е тайната на тази папка Winsxs в Windows 10, Windows 8.1, Windows8, Windows 7 и Windows Vista? Нека го намерим в този пост.

Папката WinSxS съхранява множество копия на dll, exe и други системни файлове, за да позволи на множество приложения да работят в Windows без проблем със съвместимостта. Ако разглеждате вътре, ще видите това, което изглежда като много дублиращи се файлове, всеки с едно и също име. Това всъщност са различни версии на едни и същи файлове, които се съхраняват; тъй като различните програми може да изискват различни версии.

Какво е папка WinSxS Windows 10

Накратко, Winsxs, което означава „Windows Side By Side“ , е кешът за собствено сглобяване на Windows. Там се съхраняват библиотеки, които се поддържат от множество приложения. Тази функция беше представена за първи път в Windows ME и беше разгледана като решение на Microsoft за така наречените „dll hell“ проблеми, които тормозеха Windows 9x.

В Winsxs папката „backup“ е най-голямата, както може да се забележи на изображението по-долу.

Подпапки на WinSxS

Отново, както може да се види на изображението по-долу, в папката Winsxs типовете файлове „Други“ заемат по-голямата част от пространството. Те се състоят предимно от .imd, .ngr, .csd, .dll, .dll.mui, .exe и други такива типове файлове.

Типове файлове в WinSxS

В Windows 7 и по-нови версии няма папка „dllcache“ и нито можете да намерите папката „i386“, където системата кешира (като в XP) всичките си модули източници. Именно тази папка WinSxS съхранява споделените компоненти на успоредни приложения. Тези файлове могат да бъдат множество версии на един и същ монтаж или приложение. Всеки един до друг монтаж има уникална идентичност. Един от атрибутите на идентичността на сглобката е нейната версия.

„Асамблеите едно до друго се използват от операционната система като основни единици за именуване, свързване, версиране, внедряване и конфигуриране. Папката Winsxs включва всички манифести, незадължителни компоненти и Win32 файлове на трети страни ”, казва Microsoft.

Но защо толкова много подпапки и защо да съхранявате толкова много различни версии на един и същ dll, exe или други файлове?

Както споменахме, Windows съхранява старите dll и библиотечни компоненти в папката WinSxS. Сега, ако по-нова версия на този файл е част от операционната система, но конкретно приложение изисква определена по-стара версия за стартиране, тогава ще се използва по-старата версия от папката W inSxS, оставяйки по-новата версия на сегашното й място, за други приложения, които може да го изискват.

Така че очевидно не можете да изтриете тази директория или да я преместите другаде. Също така не е препоръчително да изтривате каквото и да било тук, тъй като подобна стъпка вероятно може да направи приложенията ви неработоспособни или дори да повреди вашата система! Ако имате инсталирани много приложения, можете да очаквате да имате папка W inSxS с голям размер. Тази папка на WinSxs не може да се намира на друг том освен системния том. Това се дължи на твърдите връзки на NTFS. Ако се опитате да преместите папката, това може да доведе до актуализации на Windows, сервизни пакети, функции и др., Които не се инсталират правилно.

Ако изтриете компоненти от папката WinSxS като манифестите или сглобките и т.н., може да имате проблеми. Всяка система би реагирала по различен начин. Това, което може да работи за един, може да сломи друго! Например, ако инсталирате програма, която изисква точно тази сборка, която може да сте изтрили, тогава тази програма просто няма да се стартира! Компресирането на папката също е не-не, тъй като може да причини проблеми по време на WindowsUpdatates или по време на инсталиране на актуална корекция.

Най-безопасният начин да го почистите е чрез просто деинсталиране на приложения, които не са ви необходими. Това обаче също не е надеждно, тъй като много приложения все още оставят своите файлове тук, тъй като те могат да бъдат споделени между други приложения. Така че вероятността dud неизползваният dll да бъде изоставен е доста висока.

Не бихме препоръчали използването на инструменти за почистване на WinSxS като WinsxsLite, тъй като в крайна сметка може да счупите Windows.

И ако се опитвате да изпробвате нов софтуер или често инсталирате и деинсталирате, може да забележите, че размерът на Winsxs наистина е голям, тъй като Windows ще съхранява множество копия на тези dll файлове, за да позволи на множество приложения без проблем със съвместимостта.

Почистване на папка WinSxs

Windows 8.1 представи нова опция за команден ред за DISM.exe, / AnalyzeComponentStore. Изпълнявайки тази команда, ще анализирате папката WinSxS и ще ви каже дали се препоръчва почистване на Component Store или не. Той присъства и в Windows 10 .

В Windows 8 / 8.1 / 10 отворете инструмента за почистване на диска и използвайте опцията за почистване на Windows Update, за да почистите WinSxS.

Microsoft пусна актуализация, която добави опцията за почистване на Windows Update към инструмента за почистване на диска в Windows 7 .

Вече можете да почистите WinSxS в Windows Server 2008 R2 с новата нова актуализация.

Ето някои други опции, които може да помислите за освобождаване на дисково пространство - някои рутинни и някои екстремни:

  1. Стартирайте инструмента за почистване на диска
  2. Деинсталирайте неизползвани приложения
  3. Преместете файла на страницата на друго устройство
  4. Деактивирайте хибернацията
  5. Използвайте специалната опция за изхвърляне на файлове, за да заснемете файловете за изхвърляне на памет на друг том в системата.
  6. Деактивирайте точките за възстановяване на системата
  7. Изтеглете директориите на потребителския профил и програмните файлове на друг том в системата.

Актуализация 1 от блоговете на TechNet: Една от най-големите промени между предишните версии на Windows беше преминаване от описана от INF операционна система към компонентизация. Всички компоненти в операционната система се намират в папката WinSxS - всъщност ние наричаме това местоположение хранилището на компоненти. Всеки компонент има уникално име, което включва версията, езика и архитектурата на процесора, за които е създаден. Папката WinSxS е единственото местоположение, в което компонентът се намира в системата, всички останали копия на файловете, които виждате в системата, се „проектират“ чрез твърдо свързване от хранилището на компоненти.

След като вече знаете защо магазинът може да стане толкова голям, следващият ви въпрос вероятно е да попитате защо не премахваме по-старите версии на компонентите. Краткият отговор на това е надеждността. Храненето на компоненти, заедно с друга информация за системата, ни позволява да определим по всяко време коя е най-добрата версия на компонент за проекта. Това означава, че ако деинсталирате актуализация на защитата, ние можем да инсталираме следващата най-висока версия в системата - вече нямаме проблем с „деинсталиране в неизправност“. Това също означава, че ако решите да инсталирате незадължителна функция, ние не просто избираме RTM версията на компонента, ние ще разгледаме каква е най-високата налична версия в системата.

Единственият начин безопасно да намалите размера на папката WinSxS е да намалите набора от възможни действия, които системата може да предприеме - най-лесният начин да направите това е да премахнете пакетите, които са инсталирали компонентите на първо място. Това може да стане чрез деинсталиране на заменени версии на пакети, които са във вашата система. Service Pack 1 съдържа двоичен файл, наречен VSP1CLN.EXE , инструмент, който ще направи пакета Service Pack постоянен (не сменяем) във вашата система и ще премахне RTM версиите на всички заменени компоненти. Това може да се направи само защото, като направите Service Pack постоянен; можем да гарантираме, че никога няма да имаме нужда от RTM версиите.

Актуализация 2 от блогове E7: „Модулирането“ на операционната система беше инженерна цел в Windows Vista. Това трябваше да реши редица проблеми в наследения Windows, свързани с инсталирането, обслужването и надеждността. Директорията на Windows SxS представлява „състоянието на инсталиране и обслужване“ на всички системни компоненти. Но в действителност той не консумира толкова много дисково пространство, колкото изглежда, когато използва вградените инструменти (DIR и Explorer) за измерване на използваното дисково пространство. Фактът, че ви правим сложно да знаете колко място се изразходва в дадена директория, е справедлив момент! Директорията WinSxS също така позволява офлайн обслужване и прави Windows Vista и по-късно „безопасни за изображения“.

Има няколко блога и дори някои „подземни“ инструменти, които ви казват, че е добре да изтриете директорията WinSxS и със сигурност е вярно, че след инсталацията можете да я премахнете от системата и ще изглежда, че системата се зарежда и работи добре . Но както е описано по-горе, това е много лоша практика, тъй като премахвате възможността за надеждно обслужване, всички компоненти на операционната система и възможността да актуализирате или конфигурирате незадължителни компоненти на вашата система. Windows поддържа директорията WinSxS само на физическото устройство в първоначално инсталираното му място.

Заключение

Нека папката WinSxS да бъде такава, каквато е!

Научете за папката Sysnative и папките Catroot & Catroot2 тук.

Допълнителни четения:

  1. Анализирайте Windows Component Store или WinSxS в Windows
  2. Почистване на папка WinSxS в Windows
  3. Добавете опцията за почистване на Windows Update към инструмента за почистване на диска в Windows
  4. Почистете директорията WinSxS на Windows Server.
winsxs-folder-windows