В тази статия ще говорим за директорията WinSxS в Windows 10 и Windows 8.1, причините за неговия постоянен растеж и методи за почистване. указател C: \ windows\ WinSxS е хранилище на компоненти на Windows. Тази директория съдържа dll библиотеки, двоични и xml файлове, необходими за инсталирането и работата на роля на Windows OS. При инсталиране на актуализации на Windows (това се случва месечно), новата версия на актуализирания компонент се инсталира в системата, а старата се записва в хранилището на WinSxS (това е необходимо, за да се гарантира съвместимост и възможност за „връщане назад“ към стари версии на компоненти при изтриване на актуализация на проблема).
Съдържание:
- Как да разберете реалния размер на папка WinSxX в Windows 10 / 8.1
- Почистване на магазина за компоненти (WinSxS папки) в Windows 10 / 8.1
- Функции по поръчка в Windows 10 и 8.1
- Активирайте компресията на NTFS в папката WinSxS в Windows 10 и 8.1
Както може би се досещате, директория WinSxS постоянно ще се увеличава с течение на времето и размерът й не се ограничава от нищо (въпреки че на практика размерът на папката WinSxS в Windows 10 / 8.1 рядко надвишава 15-20 GB.)
Най-естественият начин да намалите размера на папката WinSxS в Windows 10 и Windows 8 е да премахнете старите версии на компонентите, останали след актуализация на системата от системата. За целта използвайте стандартния съветник за чисти дискове или специални опции за команда на DISM (вижте по-долу).
съвет. В Windows 7 SP 1 възможността за изтриване на стари файлове за актуализация за почистване на дискове е достъпна само след инсталиране на отделна актуализация - KB 2852386.Как да разберете реалния размер на папка WinSxX в Windows 10 / 8.1
Друга особеност на папката WinSxS е наличието на голям брой т.нар трудно звена (твърди символни връзки). Твърдата връзка е напълно равна на оригиналния указател на файл. Т.е. указателят и изходният файл могат да имат различни имена и да бъдат в един и същ раздел в различни директории, но в действителност те ще сочат към един и същ обект. Именно поради наличието на твърди връзки, които са включени в изчисляването на общия размер на директорията, файловите мениджъри (включително Windows Explorer) показват малко преувеличен размер на папката WinSxS. Можете да разберете реалния (без твърдите връзки) размер на папката WinSxS с помощта на помощната програма SysInternal дю:
du -v c: \ windows \ winSXS
Можете също така да анализирате размера на компонентното хранилище (папка WinSxS), като използвате командата DISM:
Dism.exe / Онлайн / Cleanup-Image / AnalyzeComponentStore
Нека да разберем какво връща тази команда:
Размер за съхранение на компонент според Explorer: 5.70 GB (това е размерът на съхранението, с изключение на твърдите връзки)
Действителен размер на магазина за компоненти: 5,49 GB (действителен размер на магазина за компоненти, включително твърди връзки)
Съвместим с Windows: 3.12 GB (необходими системни файлове, не могат да бъдат изтрити)
Резервни копия и деактивирани компоненти: 2,12 GB (остарели компоненти на файлове, които са необходими в случай на проблеми с инсталираните актуализации)
Кеш и временни данни: 245.87 MB (файлове се използват за ускоряване на системата за поддръжка)
Последна почистена дата: 2018-07-31 12:45:23
Брой освободени пакети: 10 (файлове, които бяха актуализирани след инсталиране на актуализации на Windows, те ще бъдат изтрити, когато съхранението се почисти)
Препоръчително почистване на функциите в магазина: Да
Както можете да видите, в този случай можете да намалите размера на директорията WinSxS с 2,1 GB + 250 MB.
За много потребители естественият въпрос е дали е възможно ръчно да се изтрият файлове от папката WinSxS. Отговорът на този въпрос е категоричен NO! Подобни действия е много вероятно да нарушат Windows. Въпреки че някои опити за изтриване на файлове от папката WinSxS може да са успешни, не можете да препоръчате този метод от гледна точка на потенциална опасност за системата.
Нека се спрем на най-безобидните от системна гледна точка методи за почистване на папката WinSxS в Windows 10 и Windows 8.1. Това е:
- Премахване на по-стари компоненти, остава след инсталиране на актуализации;
- Характеристики на технологията за търсене (функции при поискване), което ви позволява да премахнете неизползваните компоненти на Windows от диска;
- Компресиране на файлове в папка WinSxS - начин за намаляване на размера на директорията WinSxS поради NTFS компресия на съдържанието му.
За постигане на максимални резултати и трите метода могат да се използват заедно..
Почистване на магазина за компоненти (WinSxS папки) в Windows 10 / 8.1
Според мен, най-бързият и лесен начин за изчистване на пространството за съхранение на компоненти (т.е. изчистване на папката WinSxS) чрез изтриване на стари версии на компонентите е да изпълните командата:
Dism.exe / Онлайн / Cleanup-Image / StartComponentCleanup
Опцията / StartComponentCleanup има допълнителна опция. / Нулиране, което ви позволява да премахнете всички предишни версии на компонентите (след това няма да можете да премахнете инсталираните актуализации или Service Pack и бутонът „Изтриване“ ще изчезне в панела за актуализация appwiz.cpl) Цялата команда изглежда така:
Dism.exe / Онлайн / Cleanup-Image / StartComponentCleanup / ResetBase
Можете също да премахнете остарелите актуализации от съветника за почистване на диска. Изпълнете командата cleanmgr с права на администратор.
В прозореца на помощната програма изберете устройството и в следващия прозорец щракнете върху бутона "Изчистване на системните файлове".
След това изберете опцията „Файлове за актуализиране на Windows“ и щракнете върху OK, за да започнете да почиствате. Помощната програма за почистване на диска ще покаже колко пространство можете да освободите, като изтриете файловете на дневника на стари актуализации на Windows. В моя пример това е 427 MB.
След като почистите съхранението с DISM, проверете колко свободно дисково пространство има..
В допълнение, Планировчикът на Windows 10 има специална задача за автоматична поддръжка, която извършва същата операция като dism с клавиша StartComponentCleanup, като премахва всички остарели актуализации, по-стари от 30 дни. Този стремеж е кръстен StartComponentCleanup намира се под \ Microsoft \ Windows \ Обслужване.
Функции по поръчка в Windows 10 и 8.1
В статията „Безопасно изчистване на папката WinSxS в Windows Server 2012“ разгледахме функцията Удобства за търсене (функции при поискване), което предоставя възможност за изтриване на двоични файлове с неизползвани роли от директорията WinSxS. Има специален командлет на Powershell за премахване на неизползвани роли от диска. - Uninstall-WindowsFeature. При Windows 10 и 8.1 обаче не всичко е толкова просто. Факт е, че командлерът Uninstall-WindowsFeature липсва в тези версии на Windows. И Характеристиките на търсенето технологията се реализира само с помощта на DISM или командлета DISM PowerShell. Освен това е важно да знаете, че командата DISM, за разлика от командлета Uninstall-WindowsFeature, не анализира зависимостите на пакетите един от друг. Така че, когато премахнете Windows пакет с помощта на DISM, само компонентът, посочен в командата, ще бъде изтрит и всички пакети, зависими от него, ще останат в системата. Поради тази причина не трябва да използвате DISM за премахване на роли от диск в Windows Server 2012, защото има много по-удобен и функционален инструмент.
Пълен списък на наличните функции в изображението на Windows 10 / 8.1 можете да получите чрез командата:DISM.exe / Онлайн / Английски / Get-функции / Формат: Таблица
Да предположим например, че компонент TelnetClient в бъдеще нямаме нужда. Премахнете този компонент от диска (по същество от директорията WinSxS) с командата:DISM.exe / Онлайн / Disable-Feature / Име на функция: TelnetClient / Remove
Ако отново изброите всички налични функции при поискване в Windows, ще видите, че състоянието на компонента се променя на За хора с увреждания с полезен товар Премахнато.
По този начин в Windows можете значително да намалите размера на папката WinSxS, като изтриете неизползваните компоненти от диска. Единственото предупреждение е, че опцията за почистване на директория WinSxS е подходяща за достатъчно напреднали потребители, които разбират компонентите на Windows 10 и тяхното предназначение.
Активирайте компресията на NTFS в папката WinSxS в Windows 10 и 8.1
Друг начин за намаляване на размера на WinSxS директория в Windows 10 / 8.1 е компресирането на съдържанието на директорията на ниво файлова система NTFS..
забележка. Както при всяка друга нестандартна намеса в системната конфигурация, силно се препоръчва да се извърши пълно резервно копие на системата.- Отворете команден ред с права на администратор;
- Спиране и деактивиране на услугите на Windows Installer и Windows Module Installer:
sc stop msiserver sc stop TrustedInstaller sc config msiserver start = забранено sc config TrustedInstaller start = забранено
- Архивирайте списъците за достъп (ACL), присвоени на файлове и папки в директорията WinSxS, с помощта на помощната програма icacls. Резервното копие на ACL е обикновен текстов файл, в който са изброени всички файлове и директории и разрешенията, възложени им от NTFS (в бъдеще това резервно копие ще е необходимо за възстановяване на оригиналните ACL):
icacls "% WINDIR% \ WinSxS" / запишете "% WINDIR% \ WinSxS_NTFS.acl" / t
- Присвояваме се собственика на папката WinSxS и всички поддиректории:
takeown / f "% WINDIR% \ WinSxS" / r
- Предоставете на вашия акаунт пълни права върху директорията WinSxS:
icacls "% WINDIR% \ WinSxS" / grant "% USERDOMAIN% \% USERNAME%" :( F) / t
- Компресирайте директорията WinSxS и цялото му съдържание с помощта на командата компактен. Някои от файловете могат да бъдат използвани от системата, така че ако стартирате командата без опцията / i, компресирането ще бъде спряно на първия файл, който в момента се използва от системата. С помощта на Process Explorer можете да намерите името на процеса, който е отворил файла (CTRL + F) и да го прекратите. Този подход за компресия отнема много време. Ще се ограничим само до компресиране на неизползвани файлове (в Windows 10 можете да използвате по-напреднала компресия LZX):
компактен / s: "% WINDIR% \ WinSxS" / c / a / i *
- Възстановете собственика на директорията WinSxS, като върнете TrustedInstaller:
icacls "% WINDIR% \ WinSxS" / setowner "NT SERVICE \ TrustedInstaller" / t
- Възстановете оригиналните разрешения за NTFS в директорията WinSxS от архива на ACL:
icacls "% WINDIR%" / възстанови "% WINDIR% \ WinSxS_NTFS.acl"
- Възстановете типа на стартиране на услугите на Windows Installer и Windows Module Installer:
sc config msiserver start = търсенето sc config TrustedInstaller start = търсенето
Проверете текущия размер на директорията WinSxS:
Както можете да видите, в нашия пример размерът на папката WinSxS поради компресия намаля от 5.8 GB до 4 GB (около една трета). Не е лошо, особено за малко SSD-устройство, мястото на което е доста скъпо.
Какво може да повлияе на компресирането на WinSxS Directory.
Windows работи с компресирани файлове в прозрачен режим, но при обработката на такива файлове може да се наложи допълнително време за декомпресиране / компресиране, което означава известно забавяне в инсталирането на компоненти на Windows или актуализации. Въпреки това, за съвременните процесори (процесори) компресирането / декомпресирането на файлове се извършва почти моментално, така че потребителят може дори да не забележи реално намаляване на скоростта. Не само това, ако твърдият диск е бавен и процесорът е достатъчно бърз - дори при компресия можете да забележите увеличение на скоростта на работа с устройството! Обърнете внимание, че когато активирате ntfs компресия на цялото съдържание на папката WinSxS, редица файлове в други системни директории ще бъдат компресирани поради използването на твърди връзки.
Тези команди могат да се изпълняват отделно (по-лесно е да се контролира успеха на всяка от тях) или можете да комбинирате всички операции в един скриптов файл, когато стартирате, ще започне процедурата за компресиране на данни в папката WinSxS. Можете да изтеглите готовия пакетен файл тук: compress_winsxs.bat
Този скрипт може да се използва постоянно по време на работа на системата, защото след инсталиране на нови актуализации и програми, в директорията на WinSxS ще се появят нови "некомпресирани" файлове.
забележка. Друг скрипт върви по мрежата, което ви позволява да намалите размера на папката WinSxS - WinSxSLite (от Кристиан Беринг Бое). Този скрипт, според информацията на разработчика, търси най-новите библиотечни файлове на диска и създава връзки към тях от всички предишни версии и изтрива неподходящи версии. Считаме за необходимо да разубедим нашите читатели да използват скрипта WinSxSLite, защото въпреки доста разумна идея, резултатът от неговото изпълнение е непредсказуем и въпреки намаляването на размера на директорията WinSxS, част от функционалността на Windows спира да работи.