Обяснена папката на Winsxs

Потребителите на Windows, които са пуснали анализатор на дисково пространство като TreeSize през последните дни, може да се натъкнат за първи път в папката Winsxs в директорията на Windows.

Папката обикновено има размер от около 5 до 8 гигабайта в Windows Vista и Windows 7, има обаче отчети за по-големи папки, до 16 гигабайта.

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

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

winsxs

Важно е да погледнете назад във времето. В Windows 9x операционната система имаше проблеми с библиотеките с динамични връзки, по-точно с различни версии на един и същ dll. Просто няма начин да се съхраняват множество версии на dll, което доведе до несъвместимости и други проблеми.

След това в Windows ME Microsoft започна да включва опции за съхраняване на множество версии на dll, използвайки едно и също име в операционната система. Едва през Windows Vista тази технология беше превърната в това, което потребителите на Vista и Windows 7 изпитват днес.

Ако отворите папката в Windows Explorer, ще забележите огромен списък с папки, като всяка папка съдържа поне един файл, но често множество файлове. Папки, които започват с едно и също име, хостват различни версии на един и същ DLL, понякога има пет или повече папки, които съдържат различни версии на една и съща библиотека с динамични връзки.

папка winxs

Winsxs, означава Windows Side by Side, визирайки концепцията за хостинг на едни и същи файлове в различни версии на операционната система.

Резервната папка се показва като най-голямата папка в папката Winsxs, следвана от папката naturallanguage6 и Manifests.

Публикация в блога на Technet от Джеф Хю обяснява преминаването от описана от INF ОС към компонентност в Windows Vista.

Всички компоненти в операционната система се намират в папката WinSxS - всъщност наричаме това място магазина за компоненти. Всеки компонент има уникално име, което включва версията, езика и архитектурата на процесора, за които е създаден. Папката WinSxS е единственото място, на което компонентът се намира в системата, всички други екземпляри на файловете, които виждате в системата, се „проектират“ чрез твърдо свързване от магазина на компоненти. Нека повторя тази последна точка - има само един екземпляр (или пълно копие на данни) на всяка версия на всеки файл в ОС и този екземпляр се намира в папката WinSxS. Така погледнато от тази гледна точка, папката WinSxS е наистина цялостта на цялата ОС, посочена като "плоска" в операционните системи на ниско ниво. Това също обяснява защо вече няма да бъдете подканени за медии при изпълнение на операции като System File Checker (SFC) или когато инсталирате допълнителни функции и роли.

Публикацията на Джеф дава отговор на въпроса дали е безопасно да се изтриват файлове в папката winxs, накратко: Не е така.

Единствената опция за безопасно намаляване на размера на файла в тази папка е премахването на софтуер от операционната система, който вече не е необходим, но дори това няма да намали значително размера на файла.

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

Най-добре е да оставите папката сама. Потребителите на Windows Vista може да могат да намалят размера на папката Winsxs, като стартират приложение на трета страна WinsxsLite

WinsxsLite е предназначен като инструмент за намаляване на размера на winxs във Vista.

,

WinsxsLite се разделя на две фази.

Първата фаза търси програмните файлове и папките на Windows за файлове,

които са точно идентични с файловете в папката winxs.

,

Втората фаза замества всички стари версии на всеки файл във winxs,

с твърди връзки към файл с най-висока версия.

Така че, все пак ще изглежда, че има, да речем, 16 различни версии на a

конкретен файл, но в действителност има насочен само към един обект от данни

от 16 записа в директорията.

Освен това неизползваните локализирани файлове могат да бъдат елиминирани, като ги замените

с твърди връзки към съответните файлове на други езици.

,

Забележка: И двете фази не са задължителни.

,

Забележка: Ако Vista SP1 е инсталирана, уверете се, че vsp1cln.exe е стартиран.

Препоръчително е да създадете резервно копие на системата преди да стартирате WinsxsLite, като се има предвид, че софтуерът прави необратими промени в системния дял на Windows, които могат да бъдат отменени само чрез архивиране.

Последната версия на програмата винаги е налична на уебсайта на проекта на Google Code. Сайтът препраща към местоположение за изтегляне на Rapidshare, ние сме поели свободата да качим най-новия файл и на нашите сървъри. Можете да изтеглите 20K инструмента по-долу: WinsxsLite1.86

Моля, обърнете внимание, че той е съвместим само с Windows Vista, но не и с Windows 7.

Потребителите на Windows Vista с инсталиран Service Pack могат освен това да стартират инструмента за команден ред VSP1CLN за премахване на файлове, които вече не са необходими след инсталирането на сервизния пакет. Моля, обърнете внимание, че тези файлове са необходими за деинсталиране на SP в Vista.

Имате ли допълнителни съвети за намаляване на размера на папката Winsxs? Кажете ни за тях в коментарите.

Актуализация : Скорошната информация показва, че папката Winsxs всъщност може да не е толкова голяма, колкото е докладвана от системата, а основната причина за това е, че много от файловете в папката са твърди връзки, сочещи към файлове на друго място в системата.

„Директорията на Windows SxS представлява„ състояние на инсталация и обслужване “на всички системни компоненти. Но в действителност той всъщност не изразходва толкова дисково пространство, колкото се появява при използване на вградените инструменти (DIR и Explorer) за измерване на използваното дисково пространство. Фактът, че ни е трудно да знаете колко място всъщност се изразходва в директория, определено е справедлив момент!

На практика почти всеки файл в директорията WinSxS е „твърда връзка“ към физическите файлове на друго място в системата - което означава, че файловете всъщност не са в тази директория. Например в WinSxS може да има файл, наречен advapi32.dll, който заема> 700K, но това, което се отчита, е твърда връзка към действителния файл, който живее в Windows \ System32 и ще се брои два пъти (или повече), когато просто разглеждане на отделните директории от Windows Explorer. "

Повече информация за това е достъпна в блога за инженерни Windows 7.