Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows Vista » Разное - Предлагаю обсудить WinSxS в Vista

Ответить
Настройки темы
Разное - Предлагаю обсудить WinSxS в Vista

Пользователь


Сообщения: 107
Благодарности: 17

Профиль | Отправить PM | Цитировать





Идея WinSxS отличная и отлично работает в Windows XP.
Размер этой папки при установке тонн разнообразного софта составляет от 15 до 50 Мб (обычно 20 Мб) и хранится там 100-200 файлов в 30-50 папках, и это обычно версии пары Microsoft библиотек (msvcrt, gdiplus, mfc, msvcm и т.д.)

В Windows Vista папка WinSxS выполняет другие функции чем в XP и/или делает это по другому.

По ходу на эту папку возложены также функции %windir%\$NtUninstallKBxxxxxx$\ в XP

Любое установленное обновление существенно увеличивает папку WinSxS - похоже что бросает старые версии обновленных файлов.
Для примера установка SP1 увеличивает папку WinSxS на +1.5 Gb

Сейчас на свежем ноутбуке после установки всех обновлений и набора софта папка WinSxS:
- 31 000 файлов
- 7800 папок
- 4.9 Гб места

По отзывам на иностранных сайтах эта папка обычно разрастается до 15-17 Гб

Также большинство *.exe/*.dll файлов в папке System32 являются линками на реальные файлы в WinSxS

Бесконтрольное и неумерное разрастание этой папки говорит о том, что при установке новых версий файлов (или даже повторной установки одной и той же версии) старые файлы не удаляются.

Соответственно есть идея: можно написать winsxs-clener: каждый файл проверяется на наличие каких-либо ссылок на него, если файл мертвый - удаляем. Если папка остается пустой - тоже удаляем.

Отправлено: 17:22, 12-07-2008

 

Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


Я пытался чистить эту папку,давно правда,сократил ее до 1.8гига,была до этого где то 5.5
,принцип очистки таков-включить все службы которые вам необходимы(чтобы работали)и включить все компоненты которые хотите использовать(в компонентах поставить галки) у меня галок всего 3 было,остальные мне не нужны,и приступаем-делаем себе полный доступ к этой папке и ее подпапкам,
и начал удалять из этой папки все что не оспользуется в данный момент,система то что работает недолжна дать удалить,выскочит предупреждение что удалить невозможно-я жал пропустить и отметил галочку Для всех
это конечно рискованный вариант и я его никому и не советую но у меня после этого все работало как и обычно.
А можно вообще все службы включить и только после этого производить очистку

Безопасная очистка это помоему просто удаление дубликатов-ищем дубликаты файлов например с помощью того же тотал командера я нашел их около 500 мегов,их можно удалить помоему ничего не опасаясь

Отправлено: 10:13, 18-02-2009 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Цитата cprrpc:
это конечно рискованный вариант »
Это хороший способ убить систему.

Цитата cprrpc:
и я его никому и не советую »
Зачем же тогда пишете об этом?

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 15:54, 18-02-2009 | #22


Аватара для ewgen86

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Короче убито 5 часов почти но победа за нами.
Удалось корректно переместить папку WINSXS на другой раздел.
Если тема еще актуальна опишу весь процесс подробно.
5 часов ушло на догадки и ковыряние, у вас по написанному пройдет максимум за минут 40-час.

Отправлено: 21:26, 27-05-2009 | #23


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


Цитата ewgen86:
Если тема еще актуальна опишу весь процесс подробно. »
С удовольствием прочитаем.

Отправлено: 22:34, 27-05-2009 | #24


Пользователь


Сообщения: 64
Благодарности: 1

Профиль | Отправить PM | Цитировать


Скажите, а Windows 7 тоже страдает подобными проблемами?

Отправлено: 07:31, 28-05-2009 | #25


Аватара для ewgen86

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Внимание!!! Предупреждаю сразу - сначала внимательно читаем, потом только делаем. Лучше распечатать на бумагу если нет другого компа с подключенным инетом под рукой.

Дано : Компьютер в домене Active Directory.



Диски (скрин после переноса папки WinSxS):



Состояние после переноса WinSxS



Делал по материалам сайтов (не спешите сразу делать как там описано, дочитайте до конца):

http://aspoc.net/archives/2007/12/05...tory-in-vista/
http://technet.microsoft.com/ru-ru/s.../bb897556.aspx
http://www.vistax64.com/tutorials/67...ship-file.html

Процедура

Как рекомендует Мэт Вэйд (Matt Wade) почти Дарт Вейдер

Вам понадобится две утилиты: PendMoves and MoveFile. Поместите их в \Windows\System32 директорию для быстрого доступа.
(Хотя они вряд ли вообще понадобятся, не рекомендую)

1. Если вы в домене то войдите в компьютер под учеткой ЛОКАЛЬНОГО Администратора.
2. С помощью Windows Explorer найдите папку \Windows\WinSXS. Клик правой кнопкой мыши на папке, в быстром меню выбираем "Свойства" (Properties). Выберите вкладку "Безопасность" (Security)для просмотра разрешений на папку. Меняем владельца с TrustedInstaller на Администратора и даем полный доступ группе Администраторов на всю папку и вложенные файлы WinSxS.


!!! на этом советы Мэта можно больше не слушать поэтому переводить не буду. Копирнул As Is. Кому интересно почитайте но не повторяйте моих ошибок. Переходим к пункту 3.


Open an administrator command prompt, and create a dummy directory. Execute “mkdir c:\windows\winsxs.moved“
Next, create a junction (like a Symbolic link for Vista). Execute “mklink /J c:\windows\winsxs.link winsxs.moved“
Now delete the winsxs.moved directory. Execute “rmdir c:\windows\winsxs.moved“
Now we will use MoveFile to schedule renaming of the WinSXS directory at reboot. This is the magic that will give us control over the directory.
From the administrator command prompt, execute “movefile c:\windows\winsxs c:\windows\winsxs.moved“. As you can see, this is renaming the WinSxS directory before Vista can get a lock.
From the command prompt, run “movefile c:\windows\winsxs.link c:\windows\winsxs“. This puts a winsxs directory back (as far as Vista is concerned), so everything doesn’t collapse in a heap.
From the command prompt, run “pendmoves“. It will show the two pending moves you’ve entered above, with NO ERRORS. If it all looks good, REBOOT!

(На этом моменте при стандартной загрузке Vista грузиться отказалась напрочь, в безопасном режиме только BSOD )

On reboot the critical renames/moves will execute, and the WinSxS directory will be unlocked and able to be moved in the next steps.
Open an administrator command prompt, and execute “dir c:\windows\winsxs*“. If you performed the previous steps correctly, you’ll see a WinSxS.moved directory and the WinSxS junction. If it did not work, repeat the above steps. Our next step is to relocate the WinSXS directory and amend the junction.
Using Windows Explorer, COPY the entire WinSxS.moved directory to a \Windows directory on another partition or drive.
When the copy is finished, rename the new directory from WinSxS.moved to WinSxS.
Go to an administrator command prompt and execute “rmdir c:\windows\winsxs“.
Then, execute “mklink /J c:\windows\winsxs d:\windows\winsxs“.
To be sure everything is happy, in Windows Explorer browse to c:\windows\winsxs. You will see all of the files. (Even though they are actually on your other partition or drive)
Reboot
After reboot, you should be able to delete c:\windows\winsxs.moved and FINALLY liberate all that disk space. Whew! Now take a bow.
This process can also be applied to the Windows Updates directory. When you download Windows Updates etc., the files get placed into C:\Windows\SoftwareDistribution, and this will quickly become huge. It is easier though… stop the Automatic Update service, move directory, create junction, restart service, DONE!

Ага, DONE! Щассс...

3. Загрузитесь с установочного диска Vista.

4. После выбора языка установки на следующем окне есть кнопка "Установить", не нажимать, в самом внизу ссылка на восстановление системы, идем туда. Пройдет поиск установленных систем, если диски в рэйде можно там же подгрузить драйвера если потребуется.

5. После того как пройдет попытка автоматического восстановления выбрать "Выбор вариантов восстановления" , внизу будет "Командная строка". Выбираем запускаем консоль CMD.

6. Копируем полностью папку WinSxS на d:\windows\winsxs или другой раздел следующей командой: (внимание!!! если у вас много разделов и много винтов то проверьте буквы дисков, остались они прежними или поменялись, как было у меня- диск D при установке стал E и наоборот, т.е. папку winsxs я копировал на Е диск, потом они вернутся на свои места)

xcopy c:\windows\winsxs\* d:\windows\winsxs /h/i/c/k/e/y/x

У меня копирнулось что то около 79000 файлов, процедура достаточно долгая, минут 20-30.

7. Запускаем “rmdir /s/q c:\windows\winsxs” и линкуем “mklink /J c:\windows\winsxs d:\windows\winsxs”

8. Выполним “dir c:\windows\winsxs*” и проверим связь папки winsxs к d:\windows\winsxs.

9. Вводим exit и перегружаемся.

После перегрузки, если все прошло нормально проверяем свободное место на дисках. У меня освободилось гигов 5. Почему так - не знаю. Ведь папка занимает места почти 12 гиг.



Теперь вкратце опишу мои попытки и методы:

После того как система перестала грузиться, выдавать BSOD даже в безопасном режиме, у меня ушло много времени на борьбу с утилитой movefile. Загрузившись с дистрибутива Висты в командной консоли запускаем c:\windows\regedit там уже выделяем ветвь HCLM - далее меню файл - загрузить куст- И ВОТ ОН ! Проводник! Куст не грузим а пользуемся окном выбора как проводником. Только Total Commander привычней, удобней и безопасней. Ищем на дисках папку с любимым тоталом, Правой кнопкой - Запуск от имени Администратор на екзешнике. Все! Диски и файлы в нашем распоряжении.

Проблема была в том, как выяснилось, что утилита movefile, предназначенная для переноса системных файлов и папок на этапе загрузки системы и до применения параметров безопасности, исправно шедулила при каждом запуске мой линк c:\windows\winsxs изменяя его в c:\windows\winsxs.moved .
Естественно оставляя винду без папки winsxs. Утилита movefile прописывает задания в ветку реестра HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations .
Загрузившись с дистрибутива Висты в командной консоли запускаем c:\windows\regedit там выделяем ветвь HCLM - далее меню файл - загрузить куст- выбираем на диске c:\Windows\System32\config\SYSTEM , тот который без расширения и побольше размером, сохраняем куст под любым именем и лезем в HCLM\(имя загруженного куста)\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations .
Два раза кликаем на параметре PendingFileRenameOperations и видим наши назначенные задания внизу списка. Удаляем, закрываем, выгружаем куст. Перегружаемся. Все работает.

Будут вопросы пишите, отвечу.
После переноса система работает уже сутки , весь софт носится нормально. Глюков нет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:00, 28-05-2009 | #26


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


доброго времени суток. вот я наткнулся тут на утилитку в виде bat файла для очистки этой самой папки, но запустить пока не решился. видимо сперва нужно сделать бэкап. тут я вижу храбрецов достаточно, кто испытает на себе и опишет результаты? вот ссылка http://windowsfixup.com/2009/05/wins...isk-space-fix/

Отправлено: 13:34, 30-05-2009 | #27


Новый участник


Сообщения: 2
Благодарности: 1

Профиль | Отправить PM | Цитировать


Неочень то и получается с этим bat файлом ..
Было 7,3 Гига стало 7,2....

Отправлено: 01:18, 01-06-2009 | #28


Аватара для ewgen86

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Только открыл батник почитать, сразу предупрежу сторонников FAT fs на домашних компах -
Код: Выделить весь код
echo The filesystem on drive %rootd% isn't NTFS.
	echo.
	pause
	goto :EOF
Т.Е. даже не пытайтесь запустить сей шедевр.

Отправлено: 08:17, 01-06-2009 | #29


Новый участник


Сообщения: 2
Благодарности: 1

Профиль | Отправить PM | Цитировать


На FAT можно и не пытаться, а на NTFS толку нет.
Таким макаром папка вновь жрёт место на диске.
ждём новых идей.......
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:13, 01-06-2009 | #30



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows Vista » Разное - Предлагаю обсудить WinSxS в Vista

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Winsxs и aero.msstyles.mui jentoso Microsoft Windows 7 1 10-10-2009 23:39
Принтеры Samsung ML-1210\1250 - предлагаю обсудить Kvazar Непонятные проблемы с Железом 19 09-05-2004 10:50




 
Переход