Winsxs перенос на другой диск
Привет. Есть у меня подозрение, что технология SSD такова, что при отсутствии достаточного свободного места на SSD диске он начинает притормаживать . Поэтому я собрал некоторые советы из серии "как выиграть больше свободного места на SSD не навредя при этом ни диску, ни системе". Все опробованы лично, ничего не поломал, поэтому могу рекомендовать.
Давайте пройдемся по списку:
1. Папки TEMP
Это папки для хранения временных файлов программ. Идем в "Панель управления - Система - Дополнительные параметры системы - Переменные среды". Меняем путь для папок TMP и TEMP на удобный вам. Я создал папку на обычном диске и прописал путь для хранения файлов туда.
2. Файл подкачки
Как по мне, так этот файл нужен при объеме оперативной памяти меньше 2 (ну ладно, меньше 4) гигабайт. Поэтому я его просто отключил. Идем в "Панель управления - Система - Дополнительные параметры системы - Быстродействие (Параметры) - Дополнительно - Виртуальная память (Изменить)". Убираем птичку с "Автоматически выбирать объем файла подкачки", на диске "С" выбираем "Без файла подкачки", а на диске "D" (или какой там у вас) выбираем "Размер по выбору системы" или, если не планируете использовать файл подкачки, то "Без файла подкачки". Не забывайте нажимать кнопку "Задать", иначе не сохранится ваш выбор.
3. Восстановление системы
При желании, можно ограничить размер места, отведенного под восстановление. Идем в Панель управления - Система - Защита системы - Настроить. Там задаем желаемый объем. У меня стоит 5% - но каждый волен выделить сколько не жалко.
4. Индексация дисков
Весь индекс хранится на диске "С". Занимает места не критично, но я на всякий пожарный перенес эту папку на другой диск.
На диске, куда планировал перенести, сделал папку "System_Index_Search" (название произвольное).
Затем нажал "Пуск" и в строке поиска написал "Параметры индексирования" (без кавычек). Запустил то приложение, которое искал.
В нем нам нужна кнопка "Дополнительно", а уж там выбрал свою созданную папку "System_Index_Search".
2. Архивы обновлений системы.
В Windows 7 есть папка " winsxs ", которая находится на "C:\Windows\". Там система хранит все старые обновления на случай "вдруг пригодится". Мне ни разу не пригодилось и, сколько я ее не чистил, никаких проблем не возникало.
А чистить папку "winsxs" следует так:
Запускаем командную строку от имени администратора и вводим или копируем в неё "DISM.exe /online /Cleanup-Image /spsuperseded" (без кавычек).
Появляется такая надпись:
Перенос Windows 7 на твердотельный диск небольшого объема. Часть 4. Оптимизация размещения системных папок, настройка SSD
Все получилось, и двухдисковая конфигурация себя полностью оправдала. Удалось, во-первых, полноценно задействовать SSD-диск, во-вторых, без ущерба для скорости работы системы сохранить оперативный простор в смысле места для пользовательских данных. Как я уже говорил, опасения по поводу того, не скажется ли негативно перенос профилей пользователей Windows 7 с твердотельного накопителя на обычный механический диск, не подтвердились.
Теперь сделаем дополнительно оптимизацию размещения системных папок Windows 7 и уберем несколько редко используемых гигабайт данных с SSD-диска.
Средства очистки в Windows 8
Проверить наличие и удалить файлы отката установки сервисных пакетов
Для начала обратите внимание на размер подпапки Backup в папке C:\Windows\winsxs. Если она занимает заметно больше 0,5 ГБ, то это могут быть файлы, предназначенные для отката установки сервисных пакетов.
Эти файлы появляются в том случае, когда исходная операционная система была обновлена установкой сервисного пакета. Например, SP1 в Windows 7. Удалить эти файлы можно с помощью команды DISM.
DISM перечисляет, устанавливает, удаляет, настраивает и обновляет компоненты и пакеты в образах Windows.
Для этого в командной строке, запущенной от имени администратора, нужно выполнить следующую команду:
dism /online /Cleanup-Image /spsuperseded /hidesp
/online – задает работающую операционную систему как назначение;
/Cleanup-Image — выполняет операции очистки и восстановления;
/spsuperseded /hidesp — удаляет архивные файлы, созданные в ходе установки пакета обновления и скрывает пакет обновления в списке установленных обновлений.
Стало быть, уменьшить размер папки WinSxS и высвободить таким образом место на диске в моем случае не получится – удалять просто нечего. В противном случае можно было бы высвободить несколько гигабайт.
Обязательно читаем об изменениях в обслуживании папки WinSxS в Windows 7 после обновления KB2852386 от 8 октября 2013 года.
До того, как перейти к каким бы то ни было действиям с папкой WinSxS, нужно получить на это права.
Очистка папки WinSxS в Windows 8.1
Скорость работы системы Windows 7 на твердотельном накопителе
Если сравнить скорость работы компьютера с Windows 7 на твердотельном накопителе с той, которую он имел с системой, установленной на обычный механический диск, то коротко описать результаты такого сравнения можно так — это два разных компьютера. Время загрузки системы сократилось с, примерно, полутора минут до 18 секунд.
Больше всего впечатляет то, что после входа в пользовательский сеанс больше не надо ничего ждать, и можно сразу начинать работать. Раньше это был долгий и, можно даже сказать, мучительный процесс постепенного появления значков запускаемых при старте программ в трее, гаджетов на рабочем столе и так далее, который сопровождался непрерывным и долгим обращением к жесткому диску. Теперь ничего похожего нет.
Больше всего я опасался, что нечто подобное произойдет из-за переноса профилей пользователей на обычный механический диск. Но, как я уже говорил раньше, общей радостной картины такое вынужденное решение не испортило. Даже наоборот.
Что касается запуска пользовательских программ, то я охарактеризовал бы его одним словом – мгновенный. Преувеличиваю, конечно. Разумеется, какое то время реально он занимает, но по ощущениям именно так.
Желаю всем скорейшего приобретения и установки в компьютер твердотельного SSD накопителя. И ничего страшного, если он будет маленьким.
Новые возможности уменьшения размера папки WinSxS в Windows 8 и Windows 7
8 октября 2013 года в категории рекомендуемых вышло обновление KB2852386, которое наконец-то добавило очень важный функционал в утилиту «Очистка диска» для Windows 7 SP1 и Windows Server 2008 R2 SP1.
Это обновление распространяется на все легитимные, то есть прошедшие проверку подлинности, издания Windows 7 SP1 и Windows Server 2008 R2 SP1.
17 октября 2013 года состоялся релиз Windows 8.1. Начнем рассмотрение способов очистки папки WinSxS с этой новейшей версии операционной системы, так как в ней они представлены наиболее полно. Далее рассмотрим особенности реализации алгоритма очистки в Windows 8 и, наконец, в Windows 7 и Windows Server 2008.
Перенос каталога MSOCache
Этот пункт актуален для тех, у кого установлен Microsoft Office. Папка эта на диске C: нам точно не нужна. Переносим аналогично предыдущему пункту:
robocopy C:\MSOCache\ X:\SystemFoldersC\MSOCache\ /E /COPYALL /XJ
Удаляем C:\MSOCache и создаем соответствующую символьную ссылку на C:
mklink /D C:\MSOCache\ X:\SystemFoldersC\MSOCache\
Думаю, что на этом надо остановиться. В принципе, процесс перемещения папок на второй (механический) диск при необходимости можно продолжить. Переместить можно все, что угодно, но тут, главное, не забыть, зачем вообще в систему устанавливался твердотельный накопитель .
Графическая утилита очистки
Начнем с более привычных для большинства пользователей графических утилит. А для того, чтобы оценить эффективность новых способов очистки, зафиксируем исходный объем места, занимаемого Windows 8.1.
Кроме этого запомним количественные свойства папки WinSxS из “Свойства”:
Размер: 5,54 ГБ
На диске: 5,46 ГБ
Файлов: 46657
Папок: 12786
Теперь нажимаем “Очистка диска”.
Пока ничего нового по сравнению c предыдущими версиями Windows не появилось.
Нажимаем “Очистить системные файлы”, дожидаемся завершения процесса обнаружения кандидатов на удаление и смотрим еще раз:
Вот это и есть то новое, что появилось в Windows. Объем файлов обновлений подлежащих удалению в представленном примере относительно небольшой. Он будет зависеть от количества и объема обновлений, сделанных с момента последнего выполнения очистки. Запускаем процесс:
Не смотря на небольшой объем удаляемых файлов, очистка занимает ощутимое время. Посмотрим, что получилось в результате. Папка WinSxS:
Размер: 5,05 ГБ
На диске: 4,97 ГБ
Файлов: 45519
Папок: 12758
Нетрудно посчитать, что показанный файловым менеджером объем папки WinSxS уменьшился примерно на 500 МБ. Это даже больше, чем было обещано. Однако, посмотрим диск:
10,3 - 9,97 = 0,33 ГБ или 338 МБ
Можно предположить, что это более правильное значение. Такая разница показаний может быть обусловлена ошибками расчета занятого места из-за большого количества жестких символьных ссылок в папке WinSxS. Как можно в Windows 8.1 посмотреть точный размер WinSxS, чуть ниже.
Быстро вызвать графическую утилиту очистки диска во всех системах можно командой cleanmgr.
Переходим к консольным командам.
Настройка Windows 7 для работы с SSD
В заключение перечислю основные настройки Windows 7 для правильной работы SSD накопителя.
Отключение Prefetch и Superfetch
Задачей Prefetch Service является уменьшение времени запуска приложений и времени загрузки системы. Windows отслеживает порядок загрузки и запуска приложений и записывает сведения в виде файлов небольшого размера в папке %systemroot%\prefetch. Эта информация используется сервисом для ускорения запуска приложений.
Если система расположена на SSD, то использование Prefetch Service никаких преимуществ не дает и даже мешает.
Управление сервисом осуществляется с помощью следующего ключа реестра >
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Параметр EnablePrefetcher может принимать следующие значения:
0 — отключить сервис;
1 — упреждающая выборка приложений;
2 — упреждающая выборка приложений, запускаемых во время загрузки системы;
3 — включены обе упреждающие выборки (пп. 1 и 2).
Соответственно, нужно запустить редактор реестра regedit и присвоить «EnablePrefetcher» значение «0» >
Superfetch так же предназначен для ускорения загрузки приложений. На основе анализа того, какие приложения наиболее часто используются на компьютере, Superfetch осуществляет их предварительную фоновую загрузку в свободную оперативную память.
Для загрузки приложений с SSD — Superfetch не нужна. Не выходя из редактора реестра присваиваем параметру «EnableSuperfetch» значение «0«.
После выключения служб файлы из папки C:\Windows\prefetch автоматически не удаляются. Для экономии нескольких десятков мегабайт их можно удалить вручную.
Возможные варианты запуска очистки в команде DISM в Windows 8
Собственно, не варианты, а один единственный вариант:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Посмотреть информацию о WinSxS и обновлениях по /AnalyzeComponentStore не получится – версия DISM Windows 8 такой ключ не распознает.
То же самое относится и к /ResetBase – не поддерживается.
Причины, побудившие Microsoft изменить отношение к объему, занимаемому операционной системой Windows на диске
Перед тем как непосредственно перейти к описанию новых возможностей очистки папки WinSxS, совершим очень короткий экскурс в историю развития операционных систем Microsoft и посмотрим сколько места занимали разные версии Windows по годам.
Операционные системы MS Windows
Дата выхода
Место на диске Мб
Коэффициент увеличения
3.1
08.04.1992
11
95
24.08.1995
100
9,1
98
25.06.1998
200
2,0
ME
14.09.2000
500
2,5
XP
25.10.2001
2 500
5,0
Vista
30.11.2006
20 000
8,0
7
22.10.2009
20 000
1,0
Нетрудно подсчитать, что Windows Vista, появившаяся в 2006 году, потребовала для своей установки примерно в 1800 раз больше места на жестком диске, чем было нужно для Windows 3.1 в 1992 году. Такой фантастический скачок аппетита ОС произошел всего за 14 лет.
Особенно драматически захват дискового пространства выглядит в моменты “революционных” изменений операционной системы: 3.1 – 95, 98 – XP (ME прошла практически незамеченной), XP – Vista.
В некотором смысле мы уже привыкли к тому, что переход на каждую новую версию Windows сопровождался или сменой компьютера, или, как минимум, походом в магазин за оперативной памятью или новым жестким диском.
В одной из статей я описывал установку Linuxmint на нетбук “Asus Eee PC 900” с двумя маленькими SSD (4 + 8 ГБ). Сборка для обычного компьютера (не для нетбука) с полным набором программ чувствует себя на нем вполне комфортно.
Примерно такой же объем – около 10 ГБ, нужен на диске для Mac OS.
К сожалению это еще не все. Наверняка многие слышали шутливое сравнение Microsoft Windows с газом – оба пытаются сразу занять собой весь объем в котором находятся. Это, конечно, преувеличение, но, как известно, в каждой шутке есть только доля шутки.
В процессе эксплуатации Windows начинает занимать все больше и больше места на накопителе и не только за счет новых программ и пользовательских данных. Бороться с этим неприятным явлением бывает очень непросто.
До недавнего времени такая ситуация не сильно волновала Microsoft, так как стоимость единицы хранения информации на механическом жестком диске к моменту выхода очередной версии Windows успевала упасть до приемлемого значения.
Сложившийся ход вещей нарушил приход в пользовательский сектор значительно более дорогих и менее емких твердотельных накопителей SSD.
Возможно, что пройдет еще немного времени и твердотельные накопители емкостью более 100 Гб станут обычными для всех пользовательских устройств. Пока же большинство планшетных компьютеров комплектуются SSD объемом до 64 Гб, а уместить на накопитель такого объема операционную систему Windows вместе с пользовательскими данными крайне проблематично.
Полноценная Windows 7 x64 на один SSD объемом 60 ГБ точно не поместилась.
Возможно, что частично это объясняет и неудачи с Surface – собственным планшетом от Microsoft.
Можно предположить, что эти обстоятельства и заставили инженеров Microsoft искать возможности для минимизации дискового объема, необходимого для работы Windows. Перейдем к рассмотрению таковых, известных на сегодняшний момент времени.
Перенос каталога Installer
Если программ у вас установлено много, то скрытая системная папка C:\Windows\Installer, скорее всего, имеет весьма солидный размер. У меня она занимает около 8 ГБ. Судя по названию, файлы из этой папки используются нечасто, а некоторые, возможно, не будут востребованы уже никогда. Переносим смело.
Используем для этой цели тот же инструментарий, что и для копирования каталогов пользователей: xcopy, robocopy или FAR. Например,
robocopy C:\Windows\Installer\ X:\SystemFoldersC\Installer\ /E /COPYALL /XJ
После завершения копирования удаляем папку Installer с SSD-диска C: и создаем на ее месте символьную ссылку. Например,
mklink /D C:\Windows\Installer\ X:\SystemFoldersC\Installer\
Новые возможности обслуживания папки WinSxS в Windows 7
Как уже говорилось в начале статьи, эти возможности появились с выпуском обновление KB2852386 8 октября 2013 года.
Можно сказать, что это обновление настоящий подарок Microsoft пользователям легальных версий Windows 7 SP1.
В отличие от новейших версий операционной системы, в Windows 7 изменения коснулись исключительно графических утилит. Версия системы DISM осталась прежней и никакие ключи, связанные с очисткой обновлений, она не воспринимает. Но, как говорится, и за это большое спасибо.
Запуск очистки из свойств диска или командой cleanmgr. В “Администрирование” новый пункт не добавился.
Процесс полностью аналогичен описанному для Windows 8.1. Если запустить очистку диска командой cleanmgr, то нажимать кнопку “Очистить системные файлы” не придется – в списке кандидатов на удаление сразу появится строка “Очистка обновлений Windows”:
В отличие от Windows 8 / 8.1 непосредственно после выполнения очистки ничего не произойдет. Для того, чтобы файлы удалились из папки WinSxS, компьютер надо перезагрузить.
На представленном рисунке их объем равен нулю, но на самом деле на рабочем компьютере удалось избавится примерно от 3 ГБ. Это отличный результат.
Запланированная очистка
Точно также, как в Windows 8.1.
Очистка системы по расписанию
Согласно документации TechNet, начиная с Windows 8 очистка системы теперь выполняется автоматически как запланированное задание:
Если открыть “Планировщик заданий”, в разделе “Администрирование” панели управления, то в папке Servicing можно увидеть задание “StartComponentCleanup”.
При автоматическом запуске задание не будет удалять обновления, установленные в последние 30 дней.
Кроме того, в заголовке описания — “Run the StartComponentCleanup task in Task Scheduler to clean up and compress components” есть прямой намек на сжатие компонентов.
К сожалению, пока информации о том, что действительно имелось в виду, нет. Возможно, редко используемые компоненты будут подвергаться ntfs-сжатию, как это некогда было раньше. Например, в Windows Server 2003. История покажет.
Теперь перейдем к предыдущим версиям Windows и коротко посмотрим какие из перечисленных возможностей очистки системы имеются в них.
Команды очистки файлов обновлений
Начнем опять же с Windows 8.1, как наиболее продвинутой в этом плане.
Запускаем командную строку от имени администратора. В Windows 8.1 это можно сделать через “Поиск”. В окне поиска нужно набрать cmd, затем выбрать по клику правой кнопкой мыши “Запуск от имени администратора”.
Все команды, которые будут представлены, можно выполнять и в Windows PowerShell. Кому как больше нравится.
Речь пойдет о системе обслуживания образов DISM, вернее о ее новых возможностях.
Выполним в начале команду:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Эта команда покажет размер хранилища компонентов WinSxS каким его видит проводник, фактический размер и сколько места занято общими с Windows файлами (жесткими ссылками), объем резервных копий и отключенных компонентов, дату последней очистки и сколько пакетов можно освободить.
Показанное на рисунке состояние WinSxS соответствует полученному в результате очистки с помощью графической утилиты. Посмотрим, изменится ли что-то если повторно запустить процесс очистки, но с помощью DISM.
Выполним основную команду очистки в DISM:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Повторяем запуск DISM с ключом /AnalyzeComponentStore и убеждаемся, что в папке WinSxS ничего не изменилось. Это означает, что запуск команды очистки в DISM эквивалентен рассмотренной выше графической утилите “Очистка диска”.
Судя по описанию команд в TechNet можно дополнительно уменьшить занимаемый системой объем за счет удаления всех предыдущих версий компонентов. Сделать это можно выполнив предыдущую команду очистки с дополнительным ключом:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Необходимо иметь в виду, что после выполнения этой команды не будет возможности отменить установленные обновления. Такая необходимость возникает не так уж часто, но лучше все же не рисковать и сделать предварительно системный бекап.
Надо сказать, что в рассматриваемом примере выполнение указанной команды на первый взгляд не возымело на папку WinSxS никакого действия, но при этом неожиданно уменьшилось общее место, занимаемое системой на диске C:\ до 9,58 ГБ. Впрочем, сомневаться в том, что это работает, не стоит.
Если после выполнения команды очистки с ключом /ResetBase открыть “Программы и компоненты” в “Панель управления” и попытаться удалить любое обновление из списка, то это окажется невозможным – кнопка “Удалить” попросту не появляется.
Отключение дефрагментации SSD накопителя
В отличие от Windows XP, Windows 7 хорошо умеет работать с SSD накопителями. Она понимает, что накопитель твердотельный и сама отключает ряд ненужных, или даже вредных, функции. К таковым относится, например, дефрагментация SSD диска, которая, в силу особенностей накопителя, скорости дисковым операциям не прибавляет, а вот срок его службы снижает.
Убедиться в том, что SSD не дефрагментируется по расписанию можно запустив dfrgui. В открывшемся окне «Дефрагментация диска» нажимаем «Настроить расписание» > «Выбрать диски».
Убеждаемся, что SSD накопитель в списке не фигурирует.
Как оказалось, в Windows 8 наблюдается баг, благодаря которому система все же выполняет дефрагментацию SSD накопителя. Это не правильно и будем надеяться, что в ближайшее время Microsoft исправит ошибку.
Оптимизация размещения системных папок Windows 7 на SSD
Размер, занимаемый Windows 7 на SSD-диске
Посмотрим на окончательное размещение системных каталогов на двух жестких дисках >
Благодаря переносу части «второстепенных» папок на механический диск, удалось дополнительно уменьшить примерно на 30% занимаемый системой объем на SSD-диске. Файл подкачки (Pagefile.sys), естественно, второстепенным можно назвать с очень большой натяжкой, но, как я уже говорил, если на его счет есть сомнения, то теперь для него хватит места и на твердотельном накопителе.
Перенос папки C:\Windows\WinSxS\Backup на другой диск
Пользователи часто задают вопрос о том, можно ли перенести папку WinSxS на другой диск. Ответ такой – всю папку перенести нельзя. Виной тому все те же жесткие символьные ссылки, которые могут существовать только в пределах одного дискового раздела.
Можно попробовать перенести подпапку Backup из WinSxS, так как она жестких символьных ссылок внутри себя не содержит, а только уникальные файлы. Убедиться в этом можно, например, с помощью файлового менеджера FAR, просмотрев содержимое подпапки в 9-м режиме одной из панелей программы.
Естественно, заниматься этим стоит только в том случае, когда размер подпапки Backup заслуживает внимания в принципе.
На моей рабочей машине с Windows 7 x64 файлы в WinSxS\Backup занимают около 0,6 ГБ. В Windows 8 примерно столько же. Если у вас эта папка имеет аналогичный объем, то, скорее всего, овчинка выделки не стоит. Кроме того, после ntfs-сжатия WinSxS размер этой папки уменьшится до ~0,4 ГБ.
Как выяснилось, после переноса Backup из WinSxS на другой диск отказались устанавливаться некоторые обновления, например KB2849470, KB2862966 и другие. Бороться с этой неприятностью получается пока только временным возвратом папки Backup на исходное место.
Таким образом, на сегодняшний момент времени переносить Backup я не рекомендую и предлагаю сразу перейти к ntfs-сжатию.
Оставлю описание алгоритма переноса для энтузиастов, возможно, кто-то сумеет разобраться в чем тут дело.
До начала переноса WinSxS\Backup нужно установить все текущие системные обновления, так как в противном случае некоторые файлы в WinSxS\Backup окажутся заблокированными. Возможно даже имеет смысл обновления временно отключить.
Выбираем раздел, на который будет переноситься подпапка и создаем корневой каталог.
У меня уже перенесено несколько системных папок на диск D:\. В их число входит Installer, MCOCache, Search. Сделано это было для того, чтобы освободить место на небольшом твердотельном накопителе SSD после установки на него системы Windows 7. Корневую папку для этих целей я назвал “SystemFoldersC”.
Скопируем папку C:\Windows\WinSxS\Backup в новое место с сохранением всех разрешений.
В командной строке для этого целесообразно воспользоваться командой:
xcopy C:\Windows\WinSxS\Backup X:\SystemFoldersC\WinSxS\Backup\ /E /H /O /X Здесь X:\SystemFoldersC\WinSxS\Backup – диск и название нового местоположения файлов из папки Backup.
Если пользоваться xcopy, то конечные папки можно заранее не создавать.
Интересно отметить, что команда “robocopy”, которую я наряду с “xcopy” рекомендовал использовать для переноса профилей пользователей на другой диск, в данном случае отказалась добавлять в разрешения конечной папки системного пользователя «TrustedInstaller», не смотря на указание ключа /COPYALL. Это неправильно и для нашего случая недопустимо.
Из графических утилит для этой цели можно использовать опять же файловый менеджер FAR:
Вместо вложенных каталогов в новом местоположении можно сделать одну папку с названием, например, WinSxSBackup, как показано на рисунке. “Говорящее” имя нужно для того, чтобы в дальнейшем (когда через пару недель забудете что и зачем делали ) вспомнить о ее назначении. Впрочем, это дело вкуса и предпочтений.
После завершения копирования удаляем подпапку Backup из C:\Windows\WinSxS и создаем на ее месте символьную ссылку:
mklink /D C:\Windows\WinSxS\Backup\ X:\SystemFoldersC\WinSxS\Backup\
Символьные ссылки очень удобно делать в FAR по Alt+F6. Если название конечной папки было изменено, то сразу после создания ссылки ее нужно переименовать в “Backup”.
Возможность очистки системного диска в Windows Server 2008 R2 SP1
Обновление KB2852386 коснулось не только настольной версии Windows, но и серверной Windows Server 2008 R2 SP1. Это не удивительно, так как Windows Server 2008 и Windows 7 имеют одинаковую основу.
Непосредственно после установки этого замечательного обновления на сервер ничего не произойдет. Дело в том, что по-умолчанию в Windows Server 2008 не устанавливается, как это ни странно, утилита «Очистка диска» (Disk Cleanup) и, стало быть, несмотря на то, что обновление установлено, ни о какой очистке обновлений Windows речь идти не может.
Для того, чтобы утилита стала доступна, потребуются дополнительные действия. Существуют два варианта.
Первый, скажем так, стандартный по версии Microsoft, предполагает добавление с помощью оснастки “Диспетчер сервера” компоненты “Возможности рабочего стола” (Desktop Experience).
При этом надо иметь в виду, что помимо “Очистка диска” будут добавлены “Проигрыватель Windows Media”, “Темы оформления рабочего стола”, “Видео для Windows”, “Windows SideShow”, “Защитник Windows”, “Центр синхронизации”, “Звукозапись”, “Таблица символов” и “Ножницы”.
Совершенно не факт, что все эти десктопные функции нужны на сервере. В подавляющем большинстве случаев точно не нужны. И, кстати, данная установка потребует перезагрузки сервера.
Благо, существует второй и очень простой способ включить “Очистку диска”. Для этого нужно скопировать из каталога:
%systemroot%\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da в %systemroot%\System32 файл cleanmgr.exe
C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_ru-ru_02ec7949035cc80a в %systemroot%\System32\ru-RU файл cleanmgr.exe.mui
Таким способом можно включить очистку диска (но не очистку обновлений) и в других релизах Windows Server 2008. Окончания названий папок в WinSxS будут другими, но найти их по слову cleanmgr труда не составит.
При добавлении функционала по второму варианту запустить очистку диска можно выполнив команду
от имени администратора.
Далее все полностью аналогично описанному чуть выше для Windows 7 SP1.
В Windows 7 SP1 и Windows Server 2008 R2 SP1 это пока все. В запланированные задания ничего не добавляется, сжатия файлов также не наблюдается. Поэтому, если есть желание дополнительно уменьшить объем, занимаемый файлами в папке WinSxS, то можно сделать это выполнив выборочное ntfs-сжатие.
Описанный и реализованный ранее в командном файле “winsxscompact” алгоритм ntfs-сжатия папки WinSxS дополнен новыми командами очистки обновлений для операционных систем Windows 7 SP1/Server 2008 R2 SP1 — Windows 8/8.1.
Напоминаю, что для того, чтобы совершенно бесплатно скачать скрипт “winsxscompact.cmd”, выполняющий очистку обновлений и ntfs-сжатие уникальных файлов в папке WinSxS, достаточно подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.
Вопрос ко всем. Сколько места получилось освободить с помощью нового способа очистки папки WinSxS? Пожалуйста указывайте наименование и разрядность ОС.
Назначение и свойства папки WinSxS в Windows, способы очистки и сжатия, перенос подпапки Backup
К сожалению, на поверку причиной этого оказалась не только популярность самой темы, но и то, что народ упорно ищет ресурс, с которого можно скачать скрипт WinSxSLite 1.88, о котором я неосторожно упомянул в той публикации.
Попробую отговорить ищущих WinSxSLite от использования этого не беспроблемного командного файла и, в дополнение к рассмотренному в прошлой публикации способу уменьшения размера папки WinSxS, предложить еще один вариант плюс готовый скрипт “winsxscompact”, выполняющий все необходимые операции.
Во-первых, не ищите версию 1.88 – ее нет и, скорее всего, уже никогда не будет, так как проект некоторое время назад прекратил свое развитие.
Во-вторых, этот командный файл, безответственно рекламируемый как чудодейственное средство борьбы с размером WinSxS, скорее всего, не принесет желаемого результата. Даже если посчастливится довести его четырехпроходную работу до конца, то выигрыш свободного места на диске в результате окажется весьма небольшим.
А вот проблемы на собственную пятую точку и сильную головную боль получить с WinSxSLite очень даже легко. Я уже не говорю о потраченном времени. Почитайте для начала отзывы тех, кто этим скриптом рискнул воспользоваться. Правда, боюсь, что не всем из них удалось написать отзывы с тех компьютеров, на которых они его применили.
Давайте еще раз коротко пробежимся по свойствам и особенностям папки WinSxS.
Сжатие папки WinSxS
Как я и обещал в самом начале, мы, наконец, добрались до печально известной системной папки C:\Windows\winsxs. Традиционно эта папка доставляет много огорчений пользователям Windows из-за своего сильно увеличивающегося в процессе эксплуатации компьютера размера. Учитывая то обстоятельство, что описание способа безопасного уменьшения объема папки WinSxS может быть интересным не только тем, кто собрался переносить систему на твердотельный диск, я вынес его в отдельный пост.
Использование программного обеспечения производителей дисков
Не знаю, как обстоят дела с SSD дисками других производителей, но Intel для настройки своих дисков предлагает утилиту Intel SSD Toolbox. С ее помощью можно не только сделать большинство необходимых настроек, но и выполнить немедленно, или запрограммировать на регулярный запуск команду Trim. Зачем нужна команда Trim, мы разбирались в статье, посвященной AHCI.
Дополнительно Intel SSD Toolbox показывает информацию о диске, информацию SMART с расчетом остаточного ресурса, позволяет выполнить диагностику SSD накопителя и стирание с него всей информации.
Назначение и особенности папки WinSxS в Windows
- Папка WinSxS впервые появилась в Windows Vista. В ней содержится вся информация о конфигурации системы и ее компонентах.
По этой причине она имеет очень большое значение для правильной работы операционной системы. Чем больше программ и обновлений установлено, тем, в общем случае, будет больше объем содержимого WinSxS.
Несистемное удаление файлов из папки WinSxS, как и замена ссылок, которой занимается WinSxSLite, с очень большой вероятностью приведут к нарушению работы Windows. В некоторых случаях такого рода вмешательство будет для системы фатальным.
- Главной особенностью папки WinSxS является присутствие в ней большого числа жестких символьных ссылок (hard links).
Мы уже говорили в прошлый раз о жестких символьных ссылках. Они представляют собой своеобразное раздвоения, растроение и т.д. одного объекта, так как физически, в смысле места, занимаемого на диске, файл один, а совершенно идентичных полноправных ссылок на него в разных местах каталога файловой системы может быть несколько.
Именно поэтому все файловые менеджеры, начиная с Windows Explorer, показывают неправильный, сильно завышенный из-за повторного подсчета занимаемого файлами – жесткими ссылками места, размер папки WinSxS. Иными словами, не верь глазам своим.
По примерным оценкам, которые были сделаны в прошлый раз, жесткие символьные ссылки добавляют к объему этой папки около 40%. Очевидно, что эта цифра может быть различной на разных компьютерах, но суть при этом не меняется. По поводу подпапки “Backup”, расположенной внутри папки WinSxS, чуть ниже.
Таким образом, если Windows Explorer или FAR говорят, что объем папки WinSxS составляет, например, 10 ГБ, то на самом деле уникальных файлов (с которыми теоретически можно попытаться что-то сделать) в этой папке будет только около 6 ГБ. Все остальные – это файлы, разбросанные по другим системным папкам, таким, как Windows, Program Files, , Program Files (x86), ProgramData и так далее.
Это значит, что если даже совсем удалить из WinSxS файлы, представляющие собой ссылки на объекты системных папок, то в смысле места, занимаемого операционной системой Windows на жестком диске, ровным счетом ничего не изменится.
- Системные инженеры Microsoft предприняли адекватные меры для того, чтобы прекратить бесконтрольный рост объема папки WinSxS.
В последних версиях Windows папка WinSxS растет уже совсем не так интенсивно, как когда-то в Windows Vista.
В частности, внутри этой папки есть подпапка Backup. В ней хранится информация для восстановления (откатов) системы. В последних версиях Windows появился механизм обслуживания этой подпапки, который ее периодически очищает.
Для информации: в только что установленной в VirtualBox 64-разрядной Windows 8.1 Preview после первого обновления папка WinSxS заняла 5,44 ГБ, подпапка Backup – 209 МБ. Это значительно меньше, чем в других версиях Windows. Возможно потому, что Preview, а может быть действительно что-то изменилось.
Если кто рискнет, не сочтите потом за труд сообщить о результатах. Моя попытка применения WinSxSLite оказался на 100% отрицательной с последующим восстановлением системы из бекапа.
Выравнивание разделов на SSD диске
По-хорошему, об этом надо было бы говорить когда мы занимались переносом системы с механического жесткого диска на SSD. Я как-то упустил этот момент.
В двух словах о проблеме. Смысл заключается в том, чтобы не допустить смещения страниц логической разметки диска, которую делает файловая система, относительно страниц и блоков физической структуры SSD накопителя.
Традиционно на механических дисках первые 63 сектора первого трека используются для размещения служебной и системной информации, такой как параметры диска, MBR и др. Раздел начинается с 64-го сектора. Если использовать такую разметку, то раздел начнется с середины 4-килобайтной страницы SSD. В этом случае на каждой границе страниц SSD будет добавляться лишняя операция ввода/вывода. Это не может не сказаться негативно на скорости дисковых операций и на долговечности SSD накопителя.
Windows 7 отлично разбирается в этой теме и по умолчанию создает раздел на SSD со смещением относительно начала диска равным 1024 KB (1 048 576 Байт). Такое значение является оптимальным и решает все проблемы.
Таким образом, если создавать разделы на SSD диске в Windows 7, то они окажутся выровненными автоматически. Acronis также, начиная с версии 2011, создает разделы с правильным начальным смещением. В пользу этого говорит то обстоятельство, что Intel дает эту программу вместе со своими SSD.
Проверить правильность разметки разделов можно запустив MSInfo32 («Сведения о системе»). Открываем «Запоминающие устройства» -> «Диски». Далее в параметрах SSD диска находим «Начальное смещение раздела». Если оно равно 1 048 576 Байт, то все в порядке.
Можно предложить еще воспользоваться для этой цели бесплатной тестовой утилитой As SSD Benchmark >
Кроме того в Интернет есть онлайн калькулятор выравнивания SSD.
Перемещаем индексную базу поиска на второй диск
Для ускорения поиска файлов и данных, например, в Outlook, Windows строит индекс. Вы часто что-то ищете на компьютере? Я изредка. Да и поиск по индексным файлам базы данных обычно осуществляется очень быстро. Смело можно переносить индексную базу на второй диск. По умолчанию индекс расположен в C:\ProgramData\Microsoft\Search
Предварительно сделаем на диске X: (X: — буква механического диска) папку с произвольным названием, но так, чтобы впоследствии было понятно ее назначение. Например, X:\SystemFoldersC. В нее мы все и перенесем.
Запускаем «Панель управления» > «Параметры индексирования» > «Дополнительно» >
Нажимаем «Выбрать новое» и находим в открывшемся окне поиска только что сделанную папку X:\SystemFoldersC.
Итоги оптимизации системных папок
Включение режима AHCI контроллера жестких дисков
Этой теме была посвящена отдельная статья. В ней рассматривались вопросы, почему режим работы контроллеров жестких дисков Advanced Host Controller Interface (AHCI) так важен для правильной работы SSD накопителей и как его включить в Windows 7.
NTFS-сжатие уникальных файлов в папке C:\Windows\WinSxS
NTFS-сжатие уникальных файлов является весьма эффективным и совершенно безопасным способом уменьшения размера, занимаемого на диске файлами папки WinSxS. По эффективности высвобождения места на жестком диске этот способ точно не уступает WinSxSLite.
Алгоритм сжатия уникальных файлов в папке WinSxS подробно описывался в предыдущей статье.
Сегодня я хочу предложить вам маленький подарок, а именно, готовый командный файл “winsxscompact.cmd”, который выполнит все необходимые операции.
Для того, чтобы скачать скрипт нужно просто подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.
Командный файл “winsxscompact.cmd” написан для русских версий Windows 7 / 8 /8.1 (В Windows Vista не тестировался, но должен работать).
Наберитесь терпения – на выполнение необходимых операций потребуется заметное время. Дождитесь появления в окне “FINISH — работа командного файла успешно завершена…».
В процессе тестирования скрипта выигрыш места на диске C:\ после сжатия уникальных файлов в WinSxS составил от 1,4 ГБ в только что установленной в VirtualBox системе Windows 8 х64 до 2,3 ГБ на рабочем компьютере с Windows 7 x64. Это больше, чем после WinSxSLite, а главное, совершенно безопасно. Если по какой-то причине полученный результат не удовлетворяет, можно легко вернуть все в исходное состояние.
После завершения сжатия файлов в папке WinSxS сделайте дефрагментацию диска С:.
Надеюсь, что никаких проблем с использованием командного файла не возникнет. Будут вопросы – задавайте. Обязательно сообщите о полученном результате.
Я знаю, что это не может быть удалено, и хотя есть некоторые посты, в которых говорится о том, как сделать его меньше, они не работают для меня.
На данный момент моя папка winsxs на 18 ГБ занимает почти половину диска, на котором установлена ОС. У меня есть тонны пространства на других дисках - могу ли я его переместить?
Будьте осторожны: если вы переместите его, Windows может работать нестабильно, и, кстати, в какой-то момент они будут восстановлены.
Эти 18 ГБ не являются реальными, поскольку многие из этих файлов являются жесткими ссылками на файлы в других местах и учитываются дважды.
Я был одержим winsxs, начиная с Windows Vista и после Windows 7, пока я не отказался.
Если вы хотите сделать это, я рекомендую прочитать пост в блоге Disk Space раньше.
Не удаляйте это!
Перемещение WinSxS не рекомендуется, потому что это может серьезно сломать вашу систему.
Короче говоря, Winsxs, что означает «Windows Side By Side», - это кэш сборок Windows. Там хранятся библиотеки, которые используются несколькими приложениями. Эта функция была впервые представлена в Windows ME и рассматривалась как решение Microsoft для решения так называемых проблем «dll hell», которые мучают Windows 9x.
В этой папке находятся все библиотеки, которые могут использоваться различными приложениями, единственный способ уменьшить их размер - удалить приложения.
Там больше информации о папке WinSxS здесь.
Как уже упоминалось, Windows хранит старые библиотеки DLL и компоненты библиотеки в папке WinSxS. Теперь, если более новая версия этого файла является частью ОС, но конкретное приложение требует для работы определенную более старую версию, тогда будет использоваться более старая версия из папки winsxs, оставляя более новую версию на прежнем месте, для других приложения, которые могут потребовать это.
Очевидно, что вы не можете удалить этот каталог или переместить его в другое место. Также не рекомендуется ничего удалять здесь, так как такой шаг может сделать ваши приложения неработоспособными или даже сломать вашу систему! Если у вас установлено много приложений, вы можете ожидать, что у вас будет папка winsxs большого размера.
Как получить права на папку C:\Windows\WinSxS
Учитывая важность содержимого WinSxS для операционной системы, изначально полный доступ к ней имеет только пользователь TrustedInstaller. Группа «Администраторы» обладает правами исключительно на чтение и выполнение.
Начать надо все же с бекапа системы – мало ли что, вдруг что-то у вас пойдет не так.
Предоставить группе «Администраторы» необходимые для дальнейших манипуляций права можно в командной строке, или с помощью графических утилит Windows. Рассмотрим по очереди оба варианта.
В командной строке с правами администратора нужно последовательно выполнить следующие команды:
Первая сохранит разрешения (ACL) для всех файлов в каталоге C:\Windows\WinSxS и его подкаталогов в ACL-файл:
icacls C:\Windows\winsxs /save C:\Windows\aclwinsxs.txt /T — “C:\Windows\aclwinsxs.txt” – файл, в котором будут записаны ACL. Вы можете выбрать другой путь и название этого файла. В принципе, эту операцию можно и не делать, но хуже не будет.
Вторая принудительно назначит группу «Администраторы» владельцем каталога WinSxS и всех вложенных папок и файлов:
takeown /A /R /F C:\Windows\winsxs
Третья добавит администраторам права на полный доступ ко всем папкам и файлам в этой папке:
icacls C:\Windows\winsxs /T /grant Администраторы:(F)
Так как файлов очень много, выполнение команд займет определенное время. После завершения изменений все пользователи из группы “Администраторы” смогут добавлять, удалять и перемещать файлы в папке WinSxS.
Такой же результата можно получить в Windows Explrer. Для этого его нужно сначала запустить с повышенными привилегиями. В командной строке, запущенной от имени администратора (выбрать в контекстном меню по клику правой кнопкой мыши) нужно набрать “explorer” и нажать “Enter”. Все дальнейшие действия выполняем в открывшемся окне.
Заходим в папку Windows, находим каталог WinSxS и открываем его свойства правой кнопкой мыши. Далее “Безопасность” –> “Дополнительно” –> “Владелец”:
Как и в случае командной строки ждем завершения операции.
Теперь можно назначить группе “Администраторы” полные права на нужную нам папку. Закрываем окно с оповещением о смене владельца и переходим на вкладку “Разрешения” –> “Изменить разрешения”:
Выбираем группу “Администраторы”, отмечаем чекбокс “Заменить все разрешения …”, нажимаем “Изменить”. В открывшемся окне разрешаем полный доступ для группы “Администраторы”:
Нажимаем “ОК” и возвращаемся на предыдущий экран. Проверяем правильность сделанных изменений и нажимаем “Применить” или “ОК”. Соглашаемся с двумя предупреждениями системы, ждем завершения операции.
Теперь мы можем делать с содержимым папки WinSxS все, что захочется, главное не сделать того, что сильно не понравится Windows. Например, можно заняться переносом WinSxS\Backup на другой диск.
Что реально можно сделать для уменьшения объема папки WinSxS
Как восстановить права на папку C:\Windows\WinSxS и сделать ее владельцем системный сервис TrustedInstaller
После завершения операций переноса WinSxS\Backup\ на другой диск имеет смысл вернуть прежние разрешения на папки и файлы.
Вернуть TrustedInstaller владение каталогом WinSxS можно следующей командой:
icacls C:\Windows\winsxs /setowner "NT Service\TrustedInstaller" /T /L /C
Для того, чтобы предоставить группе “Администраторы” права только на чтение и выполнение, нужно выполнить такую команду:
icacls C:\Windows\winsxs /T /L /grant:r Администраторы:(RX)
Если на первом шаге работы в командной строке ACL были сохранены, то вместо этой команды можно сделать восстановление разрешений из ранее созданного файла:
icacls C:\Windows /restore C:\Windows\aclwinsxs.txt /L /C
То же самое можно сделать и в Windows Explorer описанным выше путем в следующем порядке.
Сначала заходим в свойства папки WinSxS –> “Безопасность” –> “Дополнительно” –> “Владелец”. Последовательно нажимаем “Изменить” –> “Другие пользователи и группы”:
В поле выбираемых объектов вводим NT SERVICE\TrustedInstaller и нажимаем “OK”.
В окне “Дополнительные параметры безопасности” выделяем появившегося в списке TrustedInstaller ставим галочку в чекбокс “Заменить владельца подконтейнеров и объектов” и нажимаем “OK”. Дожидаемся завершения операции и закрываем все окна.
Переходим на вкладку “Разрешения”. Нажимаем “Изменить разрешения” –> “Изменить”:
Выставляем права как показано на рисунке. Нажимаем “ОК”.
Не забываем поставить галочку в чекбокс “Заменить все разрешения дочернего объекта …“, нажимаем “ОК”. Дожидаемся завершения операции. Если в процессе выполнения появятся ошибки, игнорируем их.
Теперь разрешения на папку WinSxS полностью соответствуют исходным.
Графическая утилита
По внешнему виду она ничем не отличается от Windows 8.1 и точно также может быть запущена разными способами: из свойств диска, командой cleanmgr или из “Панель управления” –> “Администрирование”:
Процесс очистки так же внешне ничем не отличается от Windows 8.1 и занимает весьма значительное время. В виртуальной машине Windows 8 х64 удаление обещанных 1,12 ГБ файлов обновлений происходило ну очень долго. Думал, что уже и не дождусь завершения.
Читайте также: