Как уменьшить объем занимаемый windows 7

Рассмотрим шесть основных способов посадить разжиревшую W7 на диету

Файл подкачки 

Начнем с самого противоречивого вопроса. Windows создает на системном диске файл подкачки (который еще иногда не совсем корректно называют свопинг-файлом). Изначальный размер этого файла определяется объемом оперативной памяти — чем ее больше, тем больше файл подкачки. 

Этот файл носит имя «Pagefile.sys» и хранится по умолчанию в корневом каталоге системного диска. Его можно уменьшить или переместить на диск с данными. И тот, и другой вариант имеют массу плюсов и минусов, а о расчете правильного размера файла подкачки я мог бы написать целую статью, но как-нибудь в другой раз. 

Чтобы изменить настройки файла подкачки, нажмите кнопку «Параметры» (Settings) в разделе «Быстродействие» (Performance) на вкладке «Дополнительно» (Advanced) окна «Свойства системы». В появившемся диалоговом окне «Параметры быстродействия» (Performance Options) откройте вкладку «Дополнительно» (опять) и нажмите кнопку «Изменить» (Change) в разделе «Виртуальная память» (Virtual Memory). 

Для начала снимите флажок «Автоматически выбирать объем файла подкачки» (Automatically Manage). После этого станут доступны все прочие опции. 

Поскольку мой компьютер не испытывает недостатка в оперативной памяти, я ограничил исходный размер файла подкачки 1024 мегабайтами, позволив ему расширяться до 4 Гбайт при необходимости. Изменив настройки, не забудьте нажать кнопку «Задать» (Set). 

Чтобы переместить файл подкачки на другой диск, выберите опцию «Без файла подкачки» (No Paging File) и нажмите кнопку «Задать». Затем выберите в списке нужный диск и укажите размер либо выберите опцию «Размер по выбору системы» (System Managed Size). Нажмите «Задать». 

Файл гибернации 

Windows поддерживает два режима экономии энергии: сон и гибернация. Последний актуален главным образом для ноутбуков. Настольные компьютеры в гибернации, как правило, не нуждаются, особенно если имеют надежное бесперебойное питание. 

При гибернации система создает скрытый файл «hiberfil.sys», который хранится в корневом каталоге системного диска. По умолчанию, он использует 75% доступного дискового пространства. 

Если компьютер оснащен диском маленького объема, гибернацию можно отключить из командной строки с правами администратора. Для этого введите в строке поиска меню «Пуск» ключевое слово «cmd» (без кавычек) и нажмите [Alt]+[Shift]+[Enter]. В появившемся окне командной строки введите команду powercfg –h off и нажмите [Enter] (включить гибернацию можно той же командой, но вместо off нужно подставить on). Из командной строки можно также проверить размер файлов подкачки и гибернации, воспользовавшись командой dir c:\ /as. 

Восстановление системы 

Функция «Восстановление системы» (System Restore) позволяет при необходимости вернуть прежние системные настройки, а также сохраняет предыдущие версии важных файлов. Для этого система периодически создает точки восстановления — мгновенные снимки текущего состояния системы. Эта информация, естественно, сохраняется на системном диске и занимает драгоценное место. В принципе, создание точек восстановления можно полностью отключить, но я бы не советовал этого делать. Лучше ограничить пространство, выделенное для их хранения. 

Для этого откройте диалоговое окно «Свойства системы» и выберите вкладку «Защита системы» (System Protection). Выделите в списке системный диск (C:) и нажмите кнопку «Настроить» (Configure). В появившемся диалоговом окне можно настроить использование дискового пространства. Я, как видите, выделил под точки восстановления всего 3% от общего объема диска. Этого хватит для сохранения нескольких точек восстановления, чего вполне достаточно для отката к предыдущему состоянию системы при возникновении проблем. 

+ основной материал: Производительность видеокарт [рейтинговая таблица]

Индекс файлов 

Поиск Windows — прекрасная штука, но за все хорошее приходится платить. Все файлы в пользовательских папках, а также электронные письма, индексируются для дальнейшего поиска по содержимому или свойствам. Эта информация хранится в виде группы файлов в скрытой папке на системном диске. Общий объем индекса может достигать нескольких гигабайтов — в зависимости от количества проиндексированных файлов. 

Некоторые рекомендуют полностью отключить службу поиска Windows, но на мой взгляд, это плохой совет. Лучше переместить файлы индекса на диск с данными. Вот как это делается: 

1. На диске с данными создайте новую пустую папку для файлов индекса. В моем примере это папка «Index» на диске «X:». 

2. В строке поиска меню «Пуск» введите ключевое слово «индекс» (без кавычек). В списке результатов выберите «Параметры индексирования» (Indexing Options). 

3. В появившемся диалоговом окне нажмите кнопку «Дополнительно». 

4. В разделе «Расположение индекса» (Index Location) указано текущее размещение файлов индекса — по умолчанию «C:\ProgramData\Microsoft». Нажмите кнопку «Выбрать новое» (Select New) и выберите папку, созданную в п.1. Нажмите «OK». 

Как очистить папку WinSxS в Windows 7

8 октября 2013 года вышло рекомендуемое обновление KB2852386 только для всех изданий Windows 7 SP1, прошедших проверку подлинности. Оно добавляет долгожданную функцию в утилиту «Очистка диска».

Совет перед очисткой

Я думаю, что вы захотите узнать, сколько места сэкономила очистка. Поэтому сейчас откройте свойства диска (а не папки winsxs) и запишите объем свободного пространства (в байтах) или просто сделайте скриншот.

Инструкции

Они предельно просты:

Установите обновление KB2852386 посредством Windows Update (рекомендую) или скачайте в IE пакет из статьи базы знаний.
Выполните cleanmgr в командной строке, запущенной от имени администратора (так будет быстрее).
Найдите в списке опцию «Очистка обновлений Windows».

Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1
Примечание. Пункт очистки обновлений доступен только в том случае, когда есть файлы, которые можно удалить.
Нажмите ОК и наберитесь терпения, потому что операция займет некоторое время.
По окончании очистки перезагрузитесь и посмотрите в свойствах диска, сколько места освободилось.
Как работает очистка папки WinSxS в Windows 7

Я очень подробно разбирал весь процесс применительно к Windows 8 и 8.1, поэтому не буду повторяться, а лишь отмечу несколько моментов.

Реализация

Обновление KB2852386 заменяет всего один файл — Scavengeui.dll, в котором реализована вся работа по очистке. Фактически, в утилиту «Очистка диска» добавили вызов функции DISM, доступной в более новых ОС при использовании в утилите DISM.exe параметра /StartComponentCleanup (но не дополнительного ключа /ResetBase).

Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1
Увеличить рисунок

Так, при каждом запуске утилиты «Очистка диска» в папку %LocalAppData%\Temp\{GUID} зачем-то копируется содержимое папки %WinDir%\System32\DISM (причем временная папка не удаляется после завершения операции). После чего с помощью обновленной DLL осуществляется программный вызов функции глубокой очистки непосредственно из утилиты. Впрочем, копирование папки DISM наблюдалось еще до выхода KB2852386.

Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

Неясности

Есть основания полагать, что алгоритм очистки в Windows 7 не совсем такой же, как в Windows 8 и выше с ключом /StartComponentCleanup. В частности, у меня и у читателей пока не выявилось сжатия файлов, несмотря на идентичность текстового описания в утилите cleanmgr. Проверьте у себя и напишите в комментариях!

Еще один непонятный нюанс — это загадочная фраза в статье базы знаний (перевод – мой):

Therefore, after you run the Disk Cleanup wizard, you may be unable to roll back to a superseded update.
После очистки диска у вас может не быть возможности откатиться к обновлению, замененному более свежим.
И нигде не объясняется, от чего зависит эта возможность :) В моем эксперименте у всех обновлений возможность удаления сохранилась, как и должно быть при использовании ключа /StartComponentCleanup в Windows 8 и новее. Возможно, со временем конкретика и появится…

Наконец, не совсем понятно, что мешало реализовать это раньше, и почему обновление появилось именно сейчас. Кстати, перенос очистки в утилиту DISM.exe Windows 7 пока не планируется, что не позволяет обрабатывать автономные образы. Возможно, такой перенос вскрывает целый пласт вопросов поддержки, связанных с обслуживанием образов.

Свободная публикация материалов сайта при условии наличия ссылки на сайт. Здесь общение с автором проекта по вопросам рекламы,  развития и поддержки проекта, обмена информацией, авторских прав — в контакты. Почта администратора сайта — evgeniy@fedoroff.net. Статья 29.4 Каждый имеет право свободно искать, получать, передавать, производить и распространять информацию любым законным способом. Перечень сведений, составляющих государственную тайну, определяется федеральным законом. © fedoroff.net  

18.10.2012, 16:17. Показов 18685. Ответов 6


Для начала несколько общих советов, а потом — гвоздь программы — сокращение размера системного файла c:\windows\winsxs

Все знают, что Windows 7 бесконтрольно и нещадно отжирает место на диске, не спрашивая при этом разрешения пользователя. Случается, что после перезагрузки свободное место на диске уменьшается на Гигабайты, не понятно с чего. Народ на форумах, в основном, советует, что надо бы отключить создание точек восстановления, режим гибернации или хибернации, вместо полного дампа ядра, поставить минидамп, а также про очистку кэша браузеров. Стандартный набор. Все это помогало, но не так глобально, как хотелось бы. Анализируя распределение занятого места на диске при помощи замечательной и, в добавок, freeware утилиты WinDirStat (к сожалению, не нашел на этом форуме возможности вставлять картинки, что бы приложить скрин с ее интерфейсом )
я обнаружил, что неестественно огромное пространство занимает загадочная папка winsxs в системном каталоге c:\windows\winsxs. Ребята из микрософта сообщили, что это системный каталог хранящий все линки к программам и компонентам и прочую системную ерунду, грозя страшными катастрофами ( смерть винды ) тому, кто решится там что-то менять или удалять. Короче, перспектива мало радужная, и я уж было хотел оставить этот каталог в покое, как вдруг набрел на оригинальное решение по оптимизации размеров winsxs. Решение называется WinsxsLite и представляет собой набор программ и скриптов для оптимизации каталога winsxs. Проще говоря, скрипт собирает информацию о файлах находящихся в этом каталоге и заменяет их ссылками на аналогичные файлы последних версий. Т.е. вместо каталога с файлами мы получаем каталог с ссылками на файлы, там где это возможно ( понятно, насколько это отразится на размере) Здесь я прикладываю ссылку на архив с этой программой и инструментами к ней WinsxsLite.

Нужно раз архивировать ее в отдельную директорию. Заходим консолью (cmd.exe) и запускаем на выполнение скрипт WinsxsLite.bat. Кстати, файл Config.txt лучше удалить перед запуском. Скрипт сам воссоздаст конфиг по умолчанию, если не найдет файла с этим именем. Сам процесс работы скрипта довольно длительный, состоит из двух стадий. Займет времени: часа три. И требует дополнительных пояснений, без которых разобраться будет несколько сложно.
Что бы запустить первую стадию, мы просто пишем 1 и ввод. По истечении где-то часа полутора сканирование закончится. Создастся файл toDo1.txt. А дальше начинается самое интересное.

С этого момента повнимательнее. Автор скрипта в хэлпе сообщает, что надо применить изменения, т.е. набрать Apply и перегрузиться. Хоть убей, не мог найти в меню команды Apply, перезагрузка тоже ничего не меняла. Авторы русскоязычных статей, такое впечатление, что просто тупо копировали друг у друга перевод английского мануала, и не удосужились проверить работу winsxsLite на практике. А оказалось все просто. После проведения сканирования по фазе 1. Мы просто нажимаем в меню еще раз единичку т.е. «1», и здесь уже нам дают совершить этот основной акт Apply, чтобы изменения из текстового файла ToDo1.txt были применены к системе и вступили в силу. Без этого ничего бы не было.
Дальше перегружаемся, и со второй фазой проделываем аналогичные действия: сканируем ( 2 и энтер ), потом применяем: 2 и энтер, А и энтер. Перегружаемся и наслаждаемся освободившемся пространством на диске. Если винда использовалась активно ( много чего было установлено ) то размер системной папки может сократиться до 30 %.

На самом деле папка занимает меньше места, чем кажется, но если вы дорожите каждым ГБ свободного места, можете регулярно удалять её содержимое.

Как уменьшить размер папки WinSxS в Windows 7 и 8

Папка WinSxS находится в C:\Windows\WinSxS, занимает много места и продолжает расти. В этой папке накапливаются ненужные файлы, например, старые компоненты системы, и чем дольше у вас стоит операционная система, тем больше папка WinSxS.

Почему папка WinSxS растет?

Когда вы устанавливаете любые обновления системы, старые файлы заменяются новыми, а в папке WinSxS на случай багов сохраняются все старые варианты.

Файлы из папки Windows попадают в WinSxS с помощью жестких ссылок, и файловые менеджеры принимают их за реальный объем. Поэтому размеры папки могут отображаться неверно, а на самом деле она, как правило, весит не больше 15ГБ.

Однако если вы хотите почистить свою систему от ненужных файлов, есть несколько способов сделать это.

Очистка обновлений Windows

В командной строке нужно набрать cleanmgr, и встроенная утилита покажет, сколько места вы можете освободить. Надо просто отметить «Очистка обновлений Windows» и нажать ОК.

cleanup

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

В следующий раз при перезагрузке, Windows 7 потратит несколько минут на очистку системных файлов, прежде чем вы сможете снова увидеть свой рабочий стол. Если же этой опции у вас нет, наверняка вы давно не обновляли Windows. Установите последние обновления системы, и она появится.

В отличие от семерки, Windows 8 и 8.1 очищают обновления автоматически в Планировщике. Windows очищает папку по расписанию с помощью задания Microsoft – Windows – Servicing – StartComponentCleanup, которое автоматически запускается в фоновом режиме и удаляет компоненты через 30 дней после того, как вы установили обновления.

startcomponentcleanup-scheduled-task

Если вы хотите удалять обновления вручную, откройте «Очистку диска», отметьте «Очистку обновлений Windows» и нажмите ОК.

В ОС Windows 8.1 реализовано еще больше возможностей для самостоятельного удаления файлов. Там можно удалить все предыдущие версии, даже когда с момента установки новых еще не прошло 30 дней. Для этого надо запустить командную строку от имени администратора и ввести нужные команды.

Например, одна команда удаляет все версии обновлений без 30 дней ожидания:

DISM.exe /online /Cleanup-Image /StartComponentCleanup

Другая удаляет файлы, нужные для удаления пакетов обновлений. После ввода этой команды вы не сможете удалить установленные пакеты обновлений: 

DISM.exe /online /Cleanup-Image /SPSuperseded

Еще одна команда удалит все старые версии каждого компонента. После этого вы не сможете удалить все установленные пакеты обновлений: 

DISM.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

Удаление компонентов по требованию

Современные версии Windows позволяют включать компоненты системы по требованию. Список функций находится в окне «Компоненты Windows», в которое можно попасть из панели управления. Даже если вы не установили какие-то из них, то есть, они не отмечены флажком, компоненты все равно хранятся на вашем жестком диске в папке WinSxS. Если вы захотите их установить, не придется ничего скачивать, можно сделать это из папки. 

turn-windows-features-on-or-off

Однако, даже неиспользуемые компоненты занимают место на жестком диске, и если вам очень важно свободное место, можете их удалить. В Windows 8 добавлена новая опция, которая позволяет удалить все эти файлы из WinSxS, а если они внезапно понадобятся вам, можете скачать их у Microsoft. Чтобы удалить компоненты, откройте командную строку и вбейте следующую команду: 

DISM.exe /Online /English /Get-Features /Format:Table

Вы увидите разные компоненты и их состояние. 

windows-features-name-and-state

Чтобы удалить функцию из системы, можно использовать следующую комнду, заменив NAME на название функции, которую вы хотите удалить. 

DISM.exe /Online /Disable-Feature /featurename:NAME /Remove

remove-windows-feature-from-disk

Если вы выполните команду / GetFeatures еще раз, вы увидите, что функция сменила статус на: «Disabled with Payload Removed» («Отключено с удалением полезных файлов») вместо просто «Disabled» («Отключено»).

Время на прочтение4 мин

Количество просмотров884K

Многие обладатели Windows Vista и 7 наверняка сталкивались с тем, что папка Windows c ходом времени разрастается как на дрожжах. Я мирился с этим до тех пор, пока 40-гиговый раздел с системой не начал периодически выдавать мне сообщения о том, что свободное место на нем заканчивается.

Я нашел один чудесный инструмент, магия которого позволяет уменьшить размер папки winsxs без потери производительности/стабильности/данных. Сначала я проделал все описанное под катом на своем домашнем буке, а сейчас для чистоты эксперимента повторю на рабочем.

0. Немножко теории

Вообще о том, как Windows использует пространство системного диска, сказано немало, поэтому здесь буду краток.

pagefile.sys — файл подкачки. Можно отключить при большом размере оперативки, можно отрегулировать размер вручную.

hiberfil.sys — файл, в который сохраняется снимок(снэпшот) оперативной памяти при «засыпании» компьютера. В меню «Очистка диска» кроме всего прочего есть пунктик «Очистка файлов режима гибернации». Если вы этим режимом не пользуетесь, можете очищать. Если же вы регулярно «засыпаете» свой комп/ноут, то, очистив этот файл, вам придется воспользоваться вот этим советом, или попросту ввести в командной строке powercfg -h on && shutdown -r.

Личные папки пользователей (Мои документы, Рабочий Стол, Appdata, Главное меню и проч.) можно безболезненно перенести в другое место как через свойства нужных папок, так и через regedit или групповые политики. Это разговор отдельный, здесь я его рассматривать не буду.

Нужно отметить, что любые апдейты и апгрейды в системе Windows обратимы, то есть установив Vista Service Pack 2 (6.0.6002), вы можете откатиться назад до 6.0.6001, а потом и до исходной сборки. Для того, чтобы сделать все установленные в системе обновления необратимыми, необходимо воспользоваться двумя системными утилитами:
vsp1cln.exe — подметает мусор после установки Vista SP1.
compcln.exe — делает то же самое для SP2.

Система создает точки восстановления по требованию и автоматически при установке драйверов, важных обновлений, по расписанию или по требованию. Восстановление использует до 15% пространства на каждом из дисков, на котором оно задействовано. Его можно отключить, можно через «Очистку диска» на вкладке «Дополнительно» оставить только последнюю точку восстановления для экономии места.

Про папку winsxs разработчиками была написана целая статья о том, что мол, это основное хранилище ОС, а все остальные системные файлы — это типа хардлинки, бла-бла-бла…, и да, примите как божий дар то, что со временем размер папки будет только увеличиваться.

1. Подготовка

Windows Vista Business 32-bit.
Сначала я выяснил размер папки winsxs — около 4,5 гигов.
Далее методично были установлены все важные и рекомендуемые обновления по состоянию на 8.10.2009, включая SP1 и SP2. После завршения всех процедур, я скачал чудесный Scanner, чтобы нагляно оценить масштаб бедствия.

Установка обновлений преобразила папку Windows.

Теперь по порядку:
— vsp1cln.exe;
— compcln.exe — работала около пяти минут.

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

2. Winsxslite

Это даже не программа — это .bat файл, уменьшающий размер папки winsxs. Он написан неким Christian Bering Boegh и распространяется «as is», что лично у меня вызвало некоторые подозрения, развеять которые мог лишь успешно отработавший скрипт. По ссылке можно найти последнюю версию скрипта (1.86) с комментариями автора.

Работа скрипта включает две фазы:
1. Поиск в папках Program Files и Windows файлов, идентичных файлам в winsxs.
2. Замена старых версий файла в winsxs жесткими ссылками на более новые версии файла.

Работать можно как с онлайн-системой (то есть с работающей ОС) так и с образом ОС.
Работа с онлайн-системой выглядит так:
— Phase 1 scan;
— Phase 1 apply;
— Перезагрузка;
— Phase 2 scan;
— Phase 2 apply;
— Перезагрузка.

Перезагрузка нужна потому, что к некоторым файлам нет доступа на изменение и скрипт создает TODOlist, данные из которого берутся после перезагрузки.

Для работы скрипта используется также конфигурационный файл config.txt, в котором указаны исключения для первой фазы (логи, temp, cache и т.п.), и языковые приоритеты для второй фазы (неиспользуемые файлы локализации заменяются на хардлинки соответствующих файлов других языков), в конфигу по умолчанию прописывается «da-dk=KEEP», что меняется на нужную строку ru-ru=KEEP, uk-ua=KEEP или другую необходимую.

Winsxslite будет работать только при наличии следующего ПО:
— SubInACL v5.2.3790.1180;
— PendMoves v1.1 and MoveFile v1.0;
— Ln — Command Line Hardlinks;
— Fcmp v1.6 — автор рекомендует пользоваться именно 1.6;
— MD5File;
— StringConverter v1.2.

Все установленные файлы я сложил в папку с winsxslite. Если кому скучно выполнять все процедуры самому, вот ссылка. Там собственно winsxslite, всё необходимое ПО плюс конфиг с исправленным da-dk. Конфиг можно удалить. При первом запуске winsxslite будет создан дефолтный конфиг и help-файл.

3. Результаты

Взглянув на результаты, я понял, что совершил стратегическую ошибку — я взял для теста ноутбук, который почти не использовался в работе. То есть, возраст ОС составлял от силы пару дней, за ноутбуком фактически никто не работал. На домашнем же компе результаты были более ощутимыми. Там папка winsxs похудела гигов на 8, но до тех же самых 14,8.

Автор пишет, что эксплорер не выдает реального размера этой папки, и в его утилите можно узнать истинный размер.

Как бы то ни было, оба пациента не пострадали, а winsxslite оказался отличным подспорьем в деле уменьшения объема ненасытной винды.

В заключение хотелось бы отметить, что обе фазы скрипта могут занять от одного до двух часов работы компьютера.

P.S. Статья про использование дискового пространство в Win7. Никакие сторонние программы для кастрации системы (типа vLite) не использовались.

Вы тут: Главная Popular WOW! Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

Казалось бы, две большие статьи об оптимизации папки WinSxS в Windows 8 должны были исчерпать тему. Но Microsoft внезапно решила порадовать и владельцев Windows 7, для которых я публикую этот рассказ.

Несмотря на многочисленные предостережения, обладатели Windows 7 с маленьким сами знаете чем не оставляют попыток почистить папку WinSxS кривыми способами. Вот вам свеженький пример убийства Windows 7 участником конференции OSZone под ником… xaker 7. Надеюсь, после выхода этой записи таких ужасов будет на порядок меньше.

[+] Сегодня в программе

8 октября 2013 года вышло рекомендуемое обновление KB2852386 только для всех изданий Windows 7 SP1, прошедших проверку подлинности. Оно добавляет долгожданную функцию в утилиту «Очистка диска».

Совет перед очисткой

Я думаю, что вы захотите узнать, сколько места сэкономила очистка. Поэтому сейчас откройте свойства диска (а не папки winsxs) и запишите объем свободного пространства (в байтах) или просто сделайте скриншот.

Инструкции

Они предельно просты:

  1. Установите обновление KB2852386 посредством Windows Update (рекомендую) или скачайте в IE пакет из статьи базы знаний.
  2. Выполните cleanmgr в командной строке, запущенной от имени администратора (так будет быстрее).
  3. Найдите в списке опцию «Очистка обновлений Windows».

    Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

    Примечание. Пункт очистки обновлений доступен только в том случае, когда есть файлы, которые можно удалить.

  4. Нажмите ОК и наберитесь терпения, потому что операция займет некоторое время.
  5. По окончании очистки перезагрузитесь и посмотрите в свойствах диска, сколько места освободилось.

Как работает очистка папки WinSxS в Windows 7

Я очень подробно разбирал весь процесс применительно к Windows 8 и 8.1, поэтому не буду повторяться, а лишь отмечу несколько моментов.

Реализация

Обновление KB2852386 заменяет всего один файл — Scavengeui.dll, в котором реализована вся работа по очистке. Фактически, в утилиту «Очистка диска» добавили вызов функции DISM, доступной в более новых ОС при использовании в утилите DISM.exe параметра /StartComponentCleanup (но не дополнительного ключа /ResetBase).

Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

Увеличить рисунок

Так, при каждом запуске утилиты «Очистка диска» в папку %LocalAppData%\Temp\{GUID} зачем-то копируется содержимое папки %WinDir%\System32\DISM (причем временная папка не удаляется после завершения операции). После чего с помощью обновленной DLL осуществляется программный вызов функции глубокой очистки непосредственно из утилиты. Впрочем, копирование папки DISM наблюдалось еще до выхода KB2852386.

Как грамотно уменьшить размер папки WinSxS в Windows 7 SP1

Увеличить рисунок

Неясности

Есть основания полагать, что алгоритм очистки в Windows 7 не совсем такой же, как в Windows 8 и выше с ключом /StartComponentCleanup. В частности, у меня и у читателей пока не выявилось сжатия файлов, несмотря на идентичность текстового описания в утилите cleanmgr. Проверьте у себя и напишите в комментариях!

Еще один непонятный нюанс — это загадочная фраза в статье базы знаний (перевод – мой):

Therefore, after you run the Disk Cleanup wizard, you may be unable to roll back to a superseded update.
После очистки диска у вас может не быть возможности откатиться к обновлению, замененному более свежим.

И нигде не объясняется, от чего зависит эта возможность :) В моем эксперименте у всех обновлений возможность удаления сохранилась, как и должно быть при использовании ключа /StartComponentCleanup в Windows 8 и новее. Возможно, со временем конкретика и появится…

Наконец, не совсем понятно, что мешало реализовать это раньше, и почему обновление появилось именно сейчас. Кстати, перенос очистки в утилиту DISM.exe Windows 7 пока не планируется, что не позволяет обрабатывать автономные образы. Возможно, такой перенос вскрывает целый пласт вопросов поддержки, связанных с обслуживанием образов.

Как автоматизировать очистку папки WinSxS

В Windows 8 очистка возложена на отдельное запланированное задание, а в крайнем случае можно воспользоваться утилитой командной строки DISM.exe. В Windows 7 единственный доступный пока способ заключается в создании настроенной конфигурации утилиты «Очистка диска» и добавления полученной команды в планировщик.

В командной строке, от имени администратора, выполните:

:: настройка очистки папки winsxs
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup" /v StateFlags0088 /t REG_DWORD /d 2 /f
:: (необязательно) настройка очистки временных файлов (в частности зачищает временную папку dism)
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files" /v StateFlags0088 /t REG_DWORD /d 2 /f
:: создание запланированного задания "CleanupWinSxS"
schtasks /Create /TN CleanupWinSxS /RL Highest /SC monthly /TR "cleanmgr /sagerun:88"

Запланированное задание «CleanupWinSxS» будет выполняться 1го числа каждого месяца, удаляя файлы, замененные обновлением, вышедшим во второй вторник предыдущего месяца. Число и время запуска вы можете изменить в библиотеке планировщика заданий (taskschd.msc). Для успешного выполнения задания необходимо наличие у пользователя прав администратора.

Вопросы и ответы

Первый день обсуждения очертил круг вопросов. Ответы на большинство из них можно узнать, изучив предыдущие статьи о папке WinSxS, на которые я активно ссылался. Но материал требует внимания и определенного уровня технической подготовки. Поэтому я постараюсь максимально просто разобрать их здесь.

Не удается скачать обновление KB2852386. Что делать?

Качать с помощью Windows Update, как я сразу советую в статье. Обновление будет в списке рекомендуемых.

Если вы пытаетесь скачать в браузере и получаете ошибку «Эта версия средства проверки Windows Geniune Advantage более не поддерживается…», убедитесь что:

  1. Для закачки используется Internet Explorer
  2. В Internet Explorer разрешена установка дополнений / элементов ActiveX

При соблюдении этих двух условий средство проверки подлинности не скачивается на ПК, а устанавливается в качестве надстройки браузера и выполняет валидацию.

Это — все официальные способы получения обновления, и другие здесь рассматриваться и обсуждаться не будут.

Удалится ли папка WinSxS после очистки?

Нет, но число подпапок и файлов в ней уменьшится, а следовательно и ее объем.

Что конкретно удаляется?

Неиспользуемые файлы обновлений. Эти файлы не участвуют в работе системы, потому что вместо них уже используются файлы из более свежих обновлений.

Сколько места освободится? Почему у других удалилось 6GB, а у меня ничего???

Объем удаленных файлов зависит от сочетания трех факторов:

  1. Дата установки SP 1 или Windows 7 с SP1, от которого в любом случае ведется учет установленных обновлений. Чем дольше установлена система, тем больше количество и объем предыдущих версий файлов в WinSxS.
  2. Частота обновления компонента. Например, волны ошибки 0xc0000005 связаны с тем, что файлы ядра обновлялись три месяца подряд. При этом после каждого обновления в WinSxS сохранялась предыдущие версии файлов.
  3. Регулярность установки обновлений. Продолжая пример, если автоматическое обновление только что включили после трехмесячного перерыва, в winsxs осядет только один набор файлов, а не три.

Я попробую объяснить на пальцах, максимально упростив технические подробности и сделав некоторые допущения. Представьте, что Microsoft выпускает раз в два месяца обновление файла asdf.dll. Рассмотрим трех пользователей:

  • Михаил установил Windows 7 с SP1 (сразу после его выхода) в феврале 2011 года и включил автоматическую установку обновлений. К октябрю 2013 года вышло 15 обновлений, заменяющих файл asdf.dll. Очистка диска удалила 14 ненужных файлов и оставила один из предыдущего обновления, сохраняя возможность отката.
  • Андрей установил в один день с Михаилом, но сразу отключил автоматическую установку обновлений. Он их ставил вручную, руководствуясь гороскопом, и к октябрю 2013 года сделал это лишь 4 раза. Очистка диска удалила 3 ненужных предыдущих версии файла.
  • Алексей регулярно переустанавливает систему, и последний раз он это сделал в августе 2013 года. К октябрю того же года успело выйти только одно обновление для файла asdf.dll. Очистка диска не удалила ничего, потому что нет предыдущего обновления, к которому можно откатиться.

Все трое в один день выполнили оптимизацию папки WinSxS. Очевидно, у Михаила она была самой большой, а очистка позволила высвободить самый значительный объем дискового пространства.

Так понятно? :)

Как определить, сжимаются ли файлы в папке WinSxS в процессе оптимизации

Судя по вопросам и некоторым скриншотам утилиты TreeSize, примеров анализа оказалось недостаточно. Все очень просто: в меню Scan – Select Directory и выберите C:\Windows\WinSxS.

Как уменьшить размер папки winsxs

Увеличить рисунок

Папки со сжатыми файлами помечены синим. Пока что я не видел ни одного факта сжатия в Windows 7.

Почему не работает команда DISM /Online /Cleanup-Image /StartComponentCleanup?

Потому что она для Windows 8 и новее. В Windows 7 используйте очистку диска, следуя инструкциям этой статьи.

Продолжение следует…

Дискуссия

У меня к вам примерно те же вопросы, что и после публикации аналогичной статьи о Windows 8. Но учитывая высокий процент владельцев Windows 7, я ожидаю увидеть больше ответов :)

Пожалуйста, напишите в комментариях:

  1. Получилось ли у вас оптимизировать папку WinSxS
  2. Сколько места вы сэкономили (перевести байты в гигабайты можно так)
  3. Как давно вы установили систему
  4. Подверглись ли у вас файлы в подпапках WinSxS сжатию в рамках очистки (если сжимаются, покажите скриншот TreeSize)

Если у вас возникли вопросы, я постараюсь ответить на них в комментариях и/или дополнить статью.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Компьютер не переходит в спящий режим windows 10 снова запускается
  • Windows 10 windows defender repair
  • Как разблокировать диск d на windows 10 bitlocker
  • Формат шрифтов для windows
  • Windows server dns server configuration