|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Папка winsxs в Windows 7 |
|
Разное - [решено] Папка winsxs в Windows 7
|
(*.*) Сообщения: 36561 |
Официальная информация Цитата:
Сколько места на диске занимают жесткие ссылки 6 ошибок людей с маленьким системным разделом |
||
Отправлено: 14:48, 12-06-2009 |
![]() Старожил Сообщения: 335
|
Профиль | Отправить PM | Цитировать Цитата F1re0k:
По моим наблюдениям папка WinSxS - это своего рода распакованный полностью дистрибутив Windows - там есть все - драйверы, компоненты, библиоткеки (dllcache) разных версий и т.д. И действительно, часть файлов имет жесткие ссылки на System32 и другие папки, это в основном касается драйверов, и неизменяемых файлов. Но, это не касается библиотек и исполняемых файлов! Ну сами по-судите - папка WinSxS сделана в т.ч. и для восстановления Windows "на лету" - т.е. в ней всегда есть оригинальный файл. А если он будет жесткой ссылкой, скажем на Explorer.exe, то при заражении вирусом explorer.exe он также будет зараженным и в WinSxS. Кроме того, для меня остается непонятным для чего нужно держать в этой папке столько копий того же shell32.dll разных версий. Ведь это не msvcr**.dll, от версии и билда которого зависят многие программы. В моей свежеустановленной Win7 x64 SP1 с обнволениями по сей день в папке WinSxS есть аж 10 версий файлов shell32 - по 5 на каждую разрядность. В системе Shell32 имеет версию 7601-17859, а в WinSxS есть и более новые - 21890 и 22015 но по ветке ldr. Так что как видим, WinSxS выполняет однвоременно еще и функцию папок Reinstalled Backups и $hf_mig$ из 5,1 систем. Короче говоря - очень даже по Майкросовтовски сложить в одну папку WinSxS все файлы из дистрибутива, dllcache, репозиторий драйверов, бекапы обновлений и др. библиотек. Выскажу свое ФИ: Конечно, Win7 прекрасная система, но некоторые вещи прямо скажем нервируют (ну чем помешала возможность перехода на уровень вверх в проводнике, а также возможность его настройки - отключения строки адреса и т.д.), в особенности сборник хлама в лице WinSxS. Да, к чему это я. Размер систменого раздела БЕЗОПАСНО можно уменьшить на пару гиг следующим образом: Можно принудительно заменить файлы из папки System32 их жесткими ссылками на файлы в WinSxS. Но в таком случае, мы теряем возможность восстанавливать систему без дистрибутива Windows, ведь как я уже сказал выше, если вирус изменит к примеру explorer.exe в папке System32, о он тут же поломается и в WinSxS. Также для освобождения места можно удалить exe файлы и библиотеки более старых весрий, нежели уже имеются в системе. Если с exe файлами все очевидно, то с библиоткеками не совсем так. Всевозможные mfc**, msxml**, msvcp**, vcomp*, GdiPlus*, comctl32, msvcirt, atl.dll, dxmrtp.dll, rtcdll.dll ни вкоем случае не трогаем. Остальные же библиотеки разных версий как правило не нужны. Также, если система уже перешла на ldr ветку, то можно удалить и все версии grd файлов. Тут одно НО - все это приходиться делать в ручную. И не всякому даже опытному пользователю это убдет по зубам. Да и ИМХО не стоит оно того для еденичного компа. Я лично сейчас занимаюсь это для корпортаивной среды, в которой у меня более 600 компов, у 80% из которых харды 80-160Гб. P.S> Только одного mshtml.dll в WinSxS аж 244 метра!, и ни один из них по-умолчанию не является жесткой ссылкой ни на какой файл в системе |
|
Последний раз редактировалось Real Root, 19-11-2012 в 16:35. Отправлено: 16:23, 19-11-2012 | #71 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Real Root:
Side-by-side assembly - Wikipedia, the free encyclopedia |
|
Отправлено: 16:44, 19-11-2012 | #72 |
![]() Старожил Сообщения: 335
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата:
|
||
Последний раз редактировалось Real Root, 19-11-2012 в 17:05. Отправлено: 16:51, 19-11-2012 | #73 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Real Root:
|
|
Отправлено: 17:25, 19-11-2012 | #74 |
![]() Старожил Сообщения: 335
|
Профиль | Отправить PM | Цитировать Цитата Iska:
для чего нужно держать в этой папке столько копий того же explorer.exe разных версий? Пройдитесь по этой папке поиском с маской *.exe - и посмотрите сколько там exe-файлов. По-вашему все они для решения проблемы dll hell? Может просто Майкрософт всем поморочил голову... P.S> Wordpad.exe 2-х разных версий... наврное тоже dll hell. |
|
Отправлено: 18:39, 19-11-2012 | #75 |
Ветеран Сообщения: 1240
|
Профиль | Отправить PM | Цитировать По поводу так называемой "проблемы DLL-hell" у меня есть свое отдельное мнение. Лично я за свою долгую компьютерную жизнь встречался с ним только в древние 90-е когда системные DLL перетирались самопальными инсталляторами в основном игр на какие-то явно левые или патченные версии, с которыми даже сами устанавливаемые игрушки не работали. Решалось это очень просто - был набор системных DLL, которые тупо копировались в System32 (с переименованием занятой если надо или вообще из-под Дос в времена Windows 95). С появлением нормальных инсталляторов, в том числе бесплатных, проблема куда-то ушла сама собой.
Зато долбаные vcredist от каждой версии MSVC-2005/2008 с массой версий/вариантов в таких печенках сидят, что вот бы только встретить того у... нехорошего человека, который эту гадость придумал. Причем в лучших традициях МС - на сайте зачастую невозможно понять какую-же версию vcredist'а предлагают скачать и какая же собственно нужна конкретной программе. "Повбывабы..." (с) ![]() И вот, встречайте! MSVC-2010. "Мы опять нашли виновного в вечной борьбе! Это Side-by-side, от которого наконец-то решено отказаться! Это так облегчит жизнь разработчикам программ!". Одни эмоции... |
Отправлено: 19:22, 19-11-2012 | #76 |
![]() Старожил Сообщения: 335
|
Профиль | Отправить PM | Цитировать Итак товарищи.
Делюсь опытом очистки WinSxS: Имеем систему Win7 x64. Как я уже писал ранее, Microsoft решила в папку записать все что только ей вздумается - тут есть и решение проблемы DLLHell, и весь дистрибутив винды (чтоб можно было изменить/восстановить компоненты без дистрибутива), и все обновы винды так же складываются сюда. Т.е. в XP WinSxS было решение проблемы DllHell, папка $hf_mig$ содержала в себе самые последние версии библиотек, идущие с обновами, папки вида $NtUninstallKBххххххх$ содержали инфу и файлы для отката обнов, папки дистрибутива вообще не было... Теперь же с приходом Vista и Win7 все это стало попадать в одну папку. По мнению Microsoft все системные файлы никогда не должны удаляться из системы, чтоб в любой момент можно было бы восстановить любую версию. Тут уже отмечалось, что WinSxS состоит из хардлинков. Это так, но лишь примерно на половину. Все остальное - неиспользуемые фалйы для доустановки компонентов и файлы обновлений после SP1. К слову, таких обнволений после SP1 с учетом апгрейда до IE9 и далее до IE10 вышло более 500 штук!!! И в каждом апдейте может быть от 1 до 100 файлов (обновления IE). В итоге мы получаем кучу файлов разных версий которые вообще не могут быть причастны к решению проблемы dllhell - если в необходимости 10 версий shell32 (или imgres) некоторые люди еще убеждены, то как быть с 7-ю вариациями файлов explorer.exe и прочих exe-шников? Тут становится очевидным что все это - сохраненные и НЕ ИИСПОЛЬЗУЕМЫЕ файлы обновлений. Как удалить только фалы обновлений я не знаю. Приходится действовать по-другому. В XP в папке WinSxS все папки начинаются на x86_Microsoft.БИБЛИОТЕКА.... Обратите внимание на точку перед названием библиотеки. В папке WinSxS Win7 абсолютное большинство папок имеют названия либо не имеющие точки перед конечным именем файла (amd64_fbrespub_...), либо имеют название amd64[x86]_microsoft-..... и т.д. Обратите внимание что после microsoft, вместо точки стоит тире! В то же время, есть и папки вида amd64[x86]_microsoft...... И обратите внимание на то что, именно второй тип папок полностью содержит в себе список таких же, что и были в XP. И помимо их есть еще некоторое колличество новых. Мое предположение - к реальной проблеме dllhell относятся лишь папки вида amd64[x86]_component. Т.е. после типа библиоткеи, через нижний слешь идет класс либы и после обязательно точка. Пример: amd64_microsoft.vc80.atl......, amd64_microsoft.windows.gdiplus_....., msil_mscorlib.resources_........, wow64_microsoft.windows....., x86_microsoft.vc90.mfc_...... и похожие. Допускаю, что фалы, начинающиеся на wow64 и msil не относятся к проблеме dllhell, но они не так много весят и я все же стараюсь придерживаться какойто системы, так что не стал рисковать, удаляя их. Теперь по итогам: Я имею собственное Интернет-кафе, поэтому для меня экономия 5Гб места весьма не маловажное занятие. Есть еще несколько способов освобождения заветного места (замена msi, msp файлов их символьными ссылками на сетевой ресурс - учитывая что стоит клон системы на всех компах, экономим еще 5 Гиг места), в итоге я выигрываю до 12 Гб места. Пока что за все время я не сталкивался с ситуацией чтобы что-то работало не так. Но, в основном люди игрыют в игры, сидят в интернете и используют офисные приложения. Т.е. в моем интернет-кафе не используются спцифичные приложения в стиле старых версий 1С. Скажу лишь одно - пока что отрицательных эффектов не замечено, но как всякая теория, моя - так же требует длительной проверки не одним человеком. И если вы собираетесь испытывать мой способ на рабочей системе, либо вы не обладаете большими знаниями в области устройства ОС, то лучше воздержитесь от этого. Но если все же решились - сделайте обязательный бекап всего системного раздела. Делать нужно именно бекап - не проканает просто скопировать папку в другое место, а в случае чего вернуть ее на мест (причина - хардлинки). Так что жду отзывов. К профессионалам этого сайта убедительная просьба - если вы не вникали в устройство этой самой папки WinSxS в Win7, а полагаетесь лишь на отмазки самой MS, и при этом не пытаясь проедлать что-либо из описанного - то воздержитесь от комментариев в стиле: Цитата Iska:
|
|
Последний раз редактировалось Real Root, 12-05-2013 в 22:58. Отправлено: 22:51, 12-05-2013 | #77 |
Support L1+ Сообщения: 5269
|
Профиль | Отправить PM | Цитировать Между прочим, у меня вопрос к тем, кто говорит что "папка winsxs не потребляет столько дискового пространства, как об этом сообщает Explorer". Как тогда объяснить это играм и программам, которые про это не знают и считают, что место занято на самом деле? И кстати да, скажите тогда уж заодно как узнать истинный размер этой папки.
|
Отправлено: 00:02, 13-05-2013 | #78 |
![]() Старожил Сообщения: 335
|
Профиль | Отправить PM | Цитировать Цитата Avatar-Lion:
Как узнать сколько там уникальных файлов, а сколько нет - не знаю. А какой смысл? По моим оценкам - в свежеустанволенной системе (без обнов) почти все что есть в winSxS - это ссылки. т.е. удалять ее нет вообще смысла - по-идее места не освободиться нисколько. Ну может быть метров 500 (не устанволенные компоненты). Но вот если вашей системе от года и более, и вы регулярно устанавливаете обновления (включен windows update) - то в таком случае уникальных файлов будет очень много. Даже на только что установленной системе SP1 с устанволенными всеми обновами (а их на сегодня 119), удалив папку WinSxS по предложенной технологии вы выиграете около 1,5-2Гб. В моем случае освободилось 3800Мб - тестовая система установлена была в июле 2012 года и ежемесячно пополнялась обновками. |
|
Отправлено: 00:19, 13-05-2013 | #79 |
Support L1+ Сообщения: 5269
|
Профиль | Отправить PM | Цитировать Так. Стоп. Потребляет, не потребляет... Меня не это волнует. Меня волнует другой момент. Простой пример: игра требует 20Гб свободного места, а у меня свободно только 17Гб. Папка winsxs занимает 9Гб. Вы пишете, что реальный объём ее меньше. Ну и? Установщик игры говорит что недостаточно места, как ему объяснить что на самом деле winsxs весит не 9Гб, а в два раза меньше? Или я чего-то не понимаю?
|
Отправлено: 00:28, 13-05-2013 | #80 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Проверка свободного места на диске | WoRG | AutoIt | 2 | 25-03-2010 17:28 | |
VBS/WSH/JS - скрипт мониторинга свободного места | Grub | Скриптовые языки администрирования Windows | 3 | 24-06-2009 10:06 | |
Служба репликации обнаружила нехватку свободного места, хотя места там предостаточно. | andriod | Microsoft Windows NT/2000/2003 | 5 | 20-03-2009 11:28 | |
Определение свободного места на диске | IGROK | Microsoft Windows 2000/XP | 8 | 21-10-2003 15:24 | |
Проблема свободного места | CBMen | Microsoft Windows 2000/XP | 7 | 06-09-2002 18:59 |
|