Разное - Предлагаю обсудить WinSxS в Vista

Ответить
 • Просмотры: 8
Аватара пользователя
Vancouver

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение Vancouver »

Занимаемое дисковое пространство



Цитата:



На практике практически каждый файл в папке WinSxS является "жесткой ссылкой" (от англ. hard link) на физически существующий файл, то есть все файлы находятся вне этой папки. Так, к примеру, в папке WinSxS находится файл advapi32.dll, размер которого составляет более >700Кб, но, на самом деле, это жесткая ссылка на одноименный файл из папки Windows\System32. При этом через Windows Explorer размер файла учитывается дважды.
Аватара пользователя
Valeant

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение Valeant »

Цитата cprrpc:



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




Это хороший способ убить систему.




Цитата cprrpc:



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




Зачем же тогда пишете об этом?
Аватара пользователя
InSSIDer

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение InSSIDer »

Папка с Windows

Изображение



Папка Winsxs

Изображение



Многовато будет! Изображение
Аватара пользователя
Vadikan

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение Vadikan »

Цитата ewgen86:



Если тема еще актуальна опишу весь процесс подробно.
Разное - Предлагаю обсудить WinSxS в Vista




С удовольствием прочитаем.
Аватара пользователя
ewgen86

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение ewgen86 »

Короче убито 5 часов почти но победа за нами.

Удалось корректно переместить папку WINSXS на другой раздел.

Если тема еще актуальна опишу весь процесс подробно.

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

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение Котяра »

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



Дано : Компьютер в домене 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 и видим наши назначенные задания внизу списка. Удаляем, закрываем, выгружаем куст. Перегружаемся. Все работает.



Будут вопросы пишите, отвечу.

После переноса система работает уже сутки , весь софт носится нормально. Глюков нет.
Аватара пользователя
InSSIDer

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение InSSIDer »

Скажите, а Windows 7 тоже страдает подобными проблемами?
Аватара пользователя
InSSIDer

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение InSSIDer »

Неочень то и получается с этим bat файлом ..

Было 7,3 Гига стало 7,2.... Изображение
Аватара пользователя
ramon82

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение ramon82 »

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

Re: Разное - Предлагаю обсудить WinSxS в Vista

Сообщение ramon82 »

Неочень то и получается с этим bat файлом ..

Было 7,3 Гига стало 7,2.... Изображение
Ответить

Вернуться в «Microsoft Windows Vista»