В этой статье мы поговорим о каталоге WinSxS в Windows, причинах его постоянного роста и способах очистки. Каталог C:\windows\WinSxS является хранилищем компонентов Windows. В этом каталоге хранятся dll библиотеки, бинарные и xml файлы, необходимые для установки и работы различных ролей и компонентов Windows. Каждый раз когда вы устанавливаете обновления Windows (это происходит ежемесячно), новая версия обновляемого компонента устанавливается в систему, а старая сохраняется в хранилище компонентов WinSxS (это необходимо для обеспечения совместимости и возможности “отката“ к старым версиям компонентов при удалении проблемного обновления).
Со временем размер каталога WinSxS постоянно увеличивается. Причем его размер ничем не ограничен (хотя на практике размер папки WinSxS в Windows 10 редко превышает 15-20 Гб.)
В этой статье мы рассмотрим наиболее безвредные способы очистки папки WinSxS в Windows 10 и Windows Server.
- Оптимизация хранилища компонентов и удаление старых версий компонентов, оставшихся после установки обновлений Windows;
- Технология Features on Demand (функции по требованию), позволяющая удалить неиспользуемые компоненты Windows с диска;
- Сжатие файлов в папке WinSxS – способ уменьшить размер каталога WinSxS за счет включения NTFS компрессии.
У многих пользователей возникает естественный вопрос можно ли вручную удалить файлы из папки WinSxS. Ответ на этот вопрос – категоричное НЕТ! Такими действиями с большой долей вероятности вы сломаете свою Windows. И хотя отдельные попытки удаления конкретных файлов из папки WinSxS могут быть удачными, рекомендовать этот способ нельзя.
Содержание:
- Как узнать реальный размер папки WinSxS в Windows 10?
- Очистка хранилища компонентов WinSxS в Windows
- Удаление неиспользуемых компонентов Windows (Windows Server)
- Включаем NTFS сжатие на папке WinSxS в Windows
Как узнать реальный размер папки WinSxS в Windows 10?
Самый простой способ получить текущий размер каталога WinSxS в Windows, запустить проводник File Explorer и открыть свойства папки %windir%\WinSxS (или воспользоваться скриптом PowerShell). Но имейте в виду, что большинство файловых менеджеров (в том числе File Explorer) показывают несколько больший размер каталога WinSxS, чем он занимает на диске.
Дело в том, что в каталоге WinSxS есть большое количество hard links (жестких символических ссылок) на файлы в других системных каталогах. Файловые менеджеры при подсчете размера папки WinSxS учитывают объем файлов, на которые ссылаются жесткие ссылки, а это не корректно.
Чтобы реальный (без учета жестких ссылок) размер папки WinSxS, воспользуйтесь утилитой SysInternal du:
du -v c:\windows\winSXS
Но проще всего проанализировать размер хранилища компонентов в папке WinSxS с помощью команды DISM:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Разберемся, что возвращает данная команда:
Размер хранилища компонентов по данным проводника : 5.70 GB (это размер хранилища с учета жестких ссылок, который отображается в проводнике)
Фактический размер хранилища компонентов : 5.49 GB (реальный размер хранилища компонентов за исключением жестких ссылок)
Совместно с Windows : 3.12 GB (обязательные файлы системы, не могут быть удалены)
Резервные копии и отключенные компоненты : 2.12 GB (устаревшие файлы компонентов, которые нужны на случай проблем с установленными обновлениями)
Кэш и временные данные : 245.87 MB (файлы используются для ускорения работы системы обслуживания)
Дата последней очистки : 2018-07-31 12:45:23
Число освобождаемых пакетов : 10 (файлы, которые обновились после установки обновлений Windows, они будут удалены при очистке хранилища)
Рекомендуется очистка хранилища компонентов : Да
Как вы видите, в данном случае можно уменьшить размер каталога WinSxS на 2.1 Гб + 250 Мб.
Очистка хранилища компонентов WinSxS в Windows
Самый быстрый и простой способ освободить место в хранилище компонентов Windows (т.е. очистить папку WinSxS) – оптимизация хранилища командой:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Опция Dism /StartComponentCleanup поддерживается во всех версиях Windows, начиная с Windows 8/Windows Server.
После окончания очистки проверьте текущий размер хранилища компонентов:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
В моем примере это помогло уменьшить размер папки WinSxS на 2,5 Гб.
С помощью еще одного параметра /ResetBase вы можете удалить все предыдущие версии компонентов, оставшиеся после установки обновлений Windows. После этого вы не сможете удалить установленные обновления или Service Pack, а в панели обновлений
appwiz.cpl
у обновлений пропадет кнопка «Удалить»).
Чтобы очистить старые версии компонентов, выполните:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
В Windows 7 и Windows Server 2008 R2 для очистки старых версий компонентов, оставшихся после установки сервис пака, использовался еще один параметр DISM:
dism /online /Cleanup-Image /spsuperseded
Также вы можете удалить устаревшие обновления с помощью мастера очистки диска. Выполните команду cleanmgr c правами администратора.
В окне утилиты выберите диск и в следующем окне нажмите кнопку «Очистить системны файлы».
Далее выберите опцию “Файлы журнала обновления Windows» и нажмите ОK. Утилита очистки диска покажет сколько места вы можете освободить, удалив файлы журнала старых обновлений Windows. В моем примере это 427 Мб.
После окончания очистки хранилища с помощью DISM проверьте сколько освободилось места на диске.
В планировщике задания Windows 10 и Windows Server 2016 есть специальное задание автоматического обслуживания, которое регулярно выполняет оптимизацию и очистку каталога WinSxS (выполняется действия, аналогичные команде dism с ключом StartComponentCleanup). Это задание StartComponentCleanup находится в разделе \Microsoft\Windows\Servicing. Данное задание запускается в фоновом режиме и автоматически удаляет версии компонентов старше 30 дней, которое были заменены более новыми версиями.
Можно запустить это задание вручную так:
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Удаление неиспользуемых компонентов Windows (Windows Server)
В статье Безопасная очистка папки WinSxS в Windows Server 2016/2012 мы рассмотрели функцию Features on Demand (функции по требованию), предоставляющую возможность удаления с диска бинарных файлов неиспользуемых ролей и компонентов из каталога WinSxS. Для этого в Windows Server используется командлет PoweShell Uninstall-WindowsFeature.
В Windows 10 командлет Uninstall-WindowsFeature отсуствует, и для удаления компонентов Windows из образа нужно использовать DISM.
DISM в отличии от Uninstall-WindowsFeature не удаляет зависимые компоненты.
Полный список доступных функций в образе Windows 10 можно получить с помощью команды:
DISM.exe /Online /English /Get-Features /Format:Table
Чтобы удалить, например компонент TelnetClient с диска (из каталога WinSxS), выполните команду:
DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
Если еще раз вывести список всех доступных функций по требованию в Windows, вы увидите, что статус компонента изменится на Disabled with Payload Removed.
Таким образом в Windows можно существенно уменьшить размер папки WinSxS, удалив с диска неиспользуемые компоненты. Единственный нюанс, это вариант очистки каталога WinSxS подойдет для достаточной продвинутых пользователей, которые разбираются в компонентах Windows 10 и их назначении.
Включаем NTFS сжатие на папке WinSxS в Windows
Еще один способ уменьшить размера каталога WinSxS в Windows 10 – сжать содержимое каталога на уровне файловой системы NTFS.
- Откройте командную строку с правами администратора;
- Остановите и отключите службы Windows Installer и Windows Module Installer:
sc stop msiserver sc stop TrustedInstaller sc config msiserver start= disabled sc config TrustedInstaller start= disabled
- Создайте резервную копию списков доступа (ACL) назначенных на файлы и папки в каталоге WinSxS с помощью утилиты icacls. Резервная копия ACL представляет собой обычной текстовый файл, в котором указаны все файлы и каталоги и назначенные на них NTFS разрешения (в дальнейшем этот файл понадобиться для восстановления оригинальных ACL):
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
- Назначьте себя владельцем папки WinSxS и всех вложенных каталогов:
takeown /f "%WINDIR%\WinSxS" /r
- Предоставьте своей учетной записи полные права на каталог WinSxS:
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
- Теперь можно выполнить сжатие файлов в каталоге WinSxS с помощью команды compact. Т.к. часть файлов может использоваться Windows, нужно указать параметр /i. Иначе сжатие будет остановлено на первом же занятом файле (в Windows 10 можно использовать более прогрессивное LZX сжатие):
compact /s:"%WINDIR%\WinSxS" /c /a /i *
- Теперь нужно восстановить TrustedInstaller как владельца каталога WinSxS:
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
- И вернуть оригинальные NTFS разрешения на каталог WinSxS из резервной копии ACL:
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
- Измените типа тип запуска служб Windows Installer и Windows Module Installer:
sc config msiserver start= demand sc config TrustedInstaller start= demand
Проверьте текущий размер каталога WinSxS.
Как вы видите, в нашем примере размер папки WinSxS за счет сжатия уменьшился с 9,36 Гб до 6,5 Гб (примерно на треть). Неплохо, особо для небольшого по размеру SSD-диска.
Указанные команды можно выполнять по отдельности (так проще контролировать успешность выполнения каждой из них), либо можно объединить все операции в один файл скрипт. Вы можете скачать готовый bat файл для сжатия WinSxS здесь compress_winsxs.bat
Данный скрипт нужно запускать периодически, т.к. в каталоге WinSxS будут появляться новые «несжатые» файлы после установки новых обновлений Windows и программ.
На что может повлиять сжатие каталога WinSxS? Windows работает со сжатыми файлами в прозрачном режиме, однако при обработке таких файлов, ей может понадобиться дополнительное время на их декомпрессию/компрессию. Это может вызвать небольшое замедление при установке компонентов Windows или обновлений. Однако для современных процессоров (CPU) операция компрессии/декомпрессии файлов выполняется практически мгновенно, так что реального уменьшения скорости пользователь даже не заметит.
Вы тут: Главная → Windows → Compact OS: как сжать системные файлы Windows 10 и сэкономить несколько гигабайт
SSD уже стали обычным делом, и борьба за скорость загрузки отошла на второй план, а на первый вышла схватка за след системы на диске. Microsoft представила сжатие системных файлов в Windows 8.1 Update, и в Windows 10 идея получила интересное развитие.
В прошлой статье я ведь не случайно рассказывал, как правильно измерить место на диске
[+] Сегодня в большой программе
История вопроса
Давайте посмотрим, что происходило с размером Windows в последнее десятилетие.
Windows Vista
В 2006 году Windows переходит на новую компонентную систему обслуживания, а развертывание ОС происходит путем применения к диску файлов из образа install.wim.
WIM — новый формат, поддерживающий несжатое состояние и два типа сжатия. Благодаря файловому формату, систему можно распаковать в папку, применить обновления и захватить обратно в сжатый WIM-образ.
Windows 7
Система уверенно набирает популярность, и папка WinSxS становится объектом пристального внимания пограничных служб диска Цэ. У них обретают актуальность различные средства кастрации, но в массы это варварство не идет.
Впрочем, появляются и более осмысленные руководства, освобождающие место на диске средствами ОС за счет сжатия:
- всего диска путем установки флажка в его свойствах
- только системных файлов утилитой compact.exe
В усилиях энтузиастов все неплохо кроме одного – работа сжатой Windows не поддерживается.
Сама Microsoft рассуждает на тему производительности сжатия NTFS в KB251186, относящейся к диапазону Windows 2000 — Windows 7. А в KB307987 замораживает на отметке Windows XP явные инструкции по установке сжимающего флажка в свойствах диска. Я также помню, что Джозеф Конвей, сотрудник Microsoft и источник ТЗ по CBS, писал в форуме TechNet или своем блоге, что сжатие папки Windows не поддерживается.
Windows 8 — сжатие NTFS
Windows теперь должна работать и на планшетах, а у них с дисковым пространством негусто. В Windows 8 под пресс сжатия NTFS ложатся отключенные компоненты, манифесты и предыдущие версии системных файлов, замененные обновлениями Windows Update, но необходимые для отката (остальные удаляются).
Увеличить рисунок
В Windows 8.1 добавляется /ResetBase, но он фактически удаляет уже сжатое. Внезапно, уже после выхода Windows 8.1 RTM, Microsoft привносит в утилиту очистки диска Windows 7 возможности удаления старых версий файлов, но без /ResetBase и без сжатия.
Windows 8.1 — разностное сжатие
В первой статье про очистку папки WinSxS я упоминаю разностное сжатие (delta compression), но технические подробности остаются тайной за семью печатями. Спустя полгода в блоге Ask the Core Team появляется серия статей, которая наконец-то срывает покровы с изменений в системе обслуживания Windows 8.1.
Вместо отдельного рассказа я ограничился обновлением уже опубликованной записи блога (анонса не было, так что рекомендую к прочтению).
Внедрив разностное сжатие в Windows 8.1, Microsoft переносит его задним числом в Windows 8, выпуская обновление стека обслуживания KB2821895.
Заметьте, что текущие версии файлов ОС остаются в несжатом виде, т.е. Microsoft все еще не поддерживает сжатие Windows официально.
Windows 8.1 Update — WimBoot
Наконец, в Windows 8.1 Update на свет появляется WimBoot. Эта технология, видимо, родилась в рамках программы под кодовым названием «усилие 116» — 1GB RAM + 16GB SSD. На столь крохотном диске планшета наряду с ОС приходилось размещать образ восстановления, что не оставляло места под пользовательские файлы.
В конфигурации WimBoot ОС запускается и работает, используя файлы из сжатого образа восстановления, чему способствует небольшой набор служебных файлов-указателей на разделе с Windows.
Таким образом, в Windows 8.1 Update впервые стала официально поддерживаться работа сжатой Windows.
Задолго до официального выхода Windows 10 в блоге Windows появился на редкость расплывчатый пост об оптимизации дискового пространства новой ОС. В нем декларировались интересные улучшения, но технические подробности отсутствовали. Их и сейчас немного, впрочем.
На картинке два направления экономии:
- 4-12GB благодаря отказу от образа восстановления (на практике и больше бывает)
- 2.6GB за счет сжатия (в х86 – 1.5GB)
Про восстановление будет следующая статья серии, а сейчас речь пойдет о механизме сжатия системных файлов под названием Compact OS .
Как выяснить статус сжатия
Windows может автоматически применять сжатие, поэтому для начала проверьте текущее состояние системы командой:
compact.exe /CompactOS:query
Наряду со статусом, в результатах также отображается рекомендация – сжимать или не сжимать.
Как выполнить сжатие
Перейти к работе с компактной ОС можно массой различных способов.
В работающей системе
Пожалуйста, сначала проверьте текущее состояние↑ и, если ОС не сжата, измерьте дисковое пространство и сообщите в комментариях подробности1
В командной строке от имени администратора:
compact.exe /CompactOS:always
Заметьте, что точкой входа в новую технологию стала хорошо знакомая утилита compact.exe! Выполнение команды займет некоторое время.
Отмена сжатия реализована так же просто:
compact.exe /CompactOS:never
В момент установки или обновления
Недавно я рассказывал про новый ключ программы установки /Compat для проверки ПК на совместимость с Windows 10. Еще одной новинкой стал ключ /Compact OS:
setup /CompactOS enable
С помощью файла ответов
И у файла ответов есть новый параметр Compact.
Microsoft-Windows-Setup\ImageInstall\OSImage\Compact
В MSDN есть интересное примечание, что установку необходимо запускать из среды Windows 10 или ее версии Windows PE (в более старые PE можно вручную добавить драйвер). Вероятно, это также применимо к ключу /Compact OS программы установки.
В момент применения образа в среде Windows PE
У DISM тоже появился новый ключ /Compact.
DISM.EXE /Apply-Image /ImageFile:INSTALL.WIM /Index:1 /ApplyDir:C:\ /Compact:ON
В MDT и ConfigMgr
Смотрите тут.
Как работает и сколько экономит сжатие
Подробной документации я не нашел, поэтому свожу в одну статью все известные мне сведения на данный момент.
Какое сжатие применяется
Для компрессии отдельных файлов утилита compact.exe может использовать разные алгоритмы сжатия (по умолчанию — 4K XPRESS, см. справку к утилите). Такие файлы получают атрибут «Сжатый» и отображаются в проводнике синим цветом, как и в случае сжатия NTFS (алгоритм LZNT1). Можно подумать, что при сжатии ОС утилита точно так же проходит по всем системным файлам, которые имеет смысл сжимать. Однако Compact OS работает иначе.
Compact OS – это эволюция технологии WimBoot. Подлежащие оптимизации файлы помещаются в скрытый контейнер (фактически WIM-файл) и сжимаются.
С точки зрения компрессии, Compact OS аналогична образу WimBoot или любому образу WIM с обычным сжатием, поскольку во всех этих случаях применяется алгоритм 4K XPRESS Huffman (для максимального сжатия WIM задействуют LZX).
Поэтому, в отличие от сжатия NTFS, файлы Compact OS не получают атрибут «Сжатый» и не помечаются другим цветом в проводнике или сторонних программах. Любопытно, что утилита TreeSize все-таки подсвечивает синим папки, в которых файлы подверглись сжатию.
Что именно сжимается
Отчет о сжатии выглядит примерно так.
Completed Compressing OS binaries. 37953 files within 17349 directories were compressed. 6 670 708 067 total bytes of data are stored in 3 953 427 362 bytes. The compression ratio is 1,7 to 1.
Сжимаются файлы в папках Windows и Program Files, а также магазинные приложения. Системные файлы обеспечивают львиную долю сэкономленного места. Это хорошо видно из отчета DISM о хранилище компонентов.
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Ниже сведения из чистой установке Windows 10 Pro x64 RU. Напоминаю, что реальный размер хранилища складывается из первых трех строк таблицы.
Аспект | До сжатия | После сжатия | Экономия |
---|---|---|---|
Общие с Windows файлы | 5.24GB | 3.12GB | 2.12GB (40%) |
Резервные копии Отключенные компоненты |
1.61GB | 1.02GB | 0.59GB (37%) |
Кэш и временные файлы | 0.19GB | 0.19GB | — |
Реальный размер хранилища | 7.05GB | 4.34GB | 2.71GB (38%) |
Занятое место на всем диске | 13.50GB | 10.65GB | 2.85GB (21%) |
Общая экономия в гигабайтах вполне совпадает с цифрами из официального блога, но еще лучше она выглядит в процентном отношении.
Сравнение подходов к уменьшению следа системы на диске
Технология WimBoot позволяла без проблем установить Windows на планшет с 16GB, и у пользователя даже оставалось место для файлов. Однако была одна неприятная проблема. С каждой порцией установленных обновлений образ WimBoot становился все дальше и дальше от текущего состояния операционной системы, постепенно превращаясь в мертвый груз.
Compact OS предлагает более сбалансированный подход к экономии дискового пространства.
Аспект |
Обычная установка |
WimBoot |
Compact OS |
---|---|---|---|
Алгоритм сжатия |
Нет |
4K XPRESS Huffman |
4K XPRESS Huffman |
Исходная экономия дискового пространства |
Нет |
Высокая |
Умеренная |
Увеличение размера ОС со временем |
Минимальное |
Значительное |
Минимальное |
Вопросы и ответы
Я постарался предвосхитить ваши основные вопросы.
На каких типах устройств работает Compact OS?
Поддерживаются устройства с UEFI и BIOS.
Как Windows определяет, дает ли сжатие преимущество конкретному ПК?
Точно неизвестно. В блоге Windows на первые два места поставили объем RAM и скорость CPU. Емкость диска не упоминали, но очевидно, что технология ориентирована в первую очередь на маленькие диски.
Предположу, что сжатие не выполняется автоматически и не предлагается на системах с емкостью физического диска (а не системного раздела) свыше 128GB. Надеюсь, ваши отчеты в комментариях помогут прояснить расклад.
Upd. 19-Nov-15. Отчеты читателей не опровергли мое предположение, но и не позволили вывести некую формулу зависимости сжатия от размера жесткого диска. Однако читатель Максим Донников установил, что если система не использует сжатие, но сообщает, что может перейти в сжатое состояние при необходимости, то компрессия автоматически выполняется в фоне спустя некоторое время после того, как на диске образуется недостаток свободного пространства.
Как сжатие влияет на производительность? Есть ли противопоказания?
В блоге Windows расплывчатые формулировки сводятся к «все ОК», но они относятся к ситуациям, когда сжатие без вашего вмешательства реализует изготовитель ПК или сама Windows.
Я не рекомендую применять Compact OS:
- Жестких дисках. Целевым устройством Compact OS является ПК с маленьким твердотельным накопителем. На современных жестких дисках нет проблем со свободным пространством, если только не стрелять себе в ногу. WimBoot в Windows 8.1 не поддерживалась на жестких дисках именно ввиду их недостаточной производительности. Официально Compact OS в Windows 10 годится для любых накопителей, но Microsoft советует применять ее только на SSD. У них высокая скорость последовательных трансферов, поэтому влияние на скорость запуска ОС и программ минимально.
- ПК с зашифрованным системным диском (BitLocker). Шифрование само по себе снижает производительность, и дополнительное сжатие может только ухудшить ситуацию. Microsoft советовала избегать шифрования на системах с WimBoot, и я не вижу причин к отмене этой рекомендации для Compact OS.
Очевидно, я рассматриваю ситуацию с точки зрения оптимальной производительности в условиях значительной нагрузки на диск. Я уверен, что найдется масса людей, которые сожмут ОС на HDD или SSD с BitLocker и не заметят никаких замедлений.
Почему разжимается намного меньше файлов, чем сжимается?
Если сразу после сжатия вернуться к исходному состоянию, будет примерно такая картина
23256 files within 17349 directories were uncompressed.
По сравнению с отчетом о сжатии 2 папок обработано столько же, а файлов разжато в примерно в 1.5 раза меньше, чем сжималось ранее.
Точной причины такого поведения я не знаю. Возможно, в отчет сжатия попадают все обработанные файлы, в т.ч. с фактором 1:1, а при декомпрессии они не считаются разжатыми.
Как сочетается Compact OS и сжатие компонентов в папке WinSxS?
Технологии работают параллельно. Состояние Compact OS вы можете контролировать сами, а разностное сжатие компонентов выполняется без вашего участия и необратимо.
Продолжение следует…
Литература
В процессе подготовки статьи мне пригодились следующие материалы:
- How Windows 10 achieves its compact footprint (блог Windows)
- Windows 10: Reducing the disk footprint (Michael Niehaus, Microsoft)
- Compact OS, single-instancing, and image optimization (MSDN)
- Push-button reset frequently-asked questions (FAQ) (MSDN)
- [MS-XCA]: Xpress Compression Algorithm — Microsoft
- Windows Image File Boot (WIMBoot) Overview
(TechNet)
Дискуссия
Сокращение размеров и стоимости ПК ставит перед создателями Windows интересные задачи, и они не только придумывают решения, но и продолжают совершенствовать их. K еще одной стороне технологии Compact OS я вернусь чуть позже, а в следующей статье я расскажу, что еще изобрели разработчики для уменьшения следа системы на диске.
Однако в контексте дискового пространства далеко не все ПО Microsoft находится на одном уровне технологического развития. Так, Microsoft Office в этом плане выглядит неутешительно – у традиционного пакета стали нормой ежемесячные обновления весом в 500-600MB, оседающие в папке Installer, а обновления Office 2016 Click-to-Run могут отъедать гигабайты в папке ProgramData.
В комментариях напишите:
- исходный статус сжатия Windows 10
- модель устройства, емкость диска, марку CPU и объем RAM
- способ текущей установки Windows 10 (обновление / чистая)
- объем освободившегося дискового пространства после сжатия
Если у вас на компьютере заканчивается свободное пространство — вам сюда.
Windows 11, согласно Microsoft, требует как минимум 64 ГБ на жёстком диске. При этом сразу после установки обновлений папка системы будет занимать около 50 ГБ. Обладатели субноутбуков с накопителями по 128 или 240 ГБ сразу почувствуют, что оставшегося места не хватает для сохранения документов и инсталляции Office и Photoshop.
Можно, конечно, купить SSD побольше и переустановить систему на него. Но если у вас не съёмный, а распаянный на материнской плате накопитель, этот номер не пройдёт. К счастью, есть и другие хитрости, позволяющие умерить аппетиты Windows 11 в плане дискового пространства.
1. Удалите встроенные в систему программы
Windows 11 по умолчанию поставляется с большим количеством программ, которые в неё встроила рачительная Microsoft. Конечно, вам ведь так нужно приложение-компаньон Xbox — даже если у вас нет консоли. А ещё «Новости», Microsoft Teams и прочее.
Кроме того, часто производители ПК, такие как Asus, Lenovo или Hewlett-Packard, добавляют к предустановленным программам Microsoft ещё и свои антивирусы, чистильщики и обновители.
Убрав всё это из системы, вы освободите немало жизненно важного пространства SSD. Для этого нажмите «Пуск» → «Параметры» → «Приложения» → «Установленные приложения». Выберите приложение, которое вам не нужно, щёлкните по значку с тремя точками рядом с ним и нажмите «Удалить».
Можно избавиться не только от предустановленных программ Windows 11, но и от антивирусов и пакетов обслуживания ПК, добавленных производителем.
2. Отключите лишние компоненты системы
Помимо предустановленных программ, в Windows встроено немало так называемых системных компонентов. Не все они полезны обычным пользователям. Чтобы избавиться от лишнего, нажмите «Пуск» → «Параметры» → «Система» → «Дополнительные компоненты» и удалите модули вроде WordPad или распознавателя лиц Windows Hello — если, конечно, они вам не нужны.
Кроме того, если вы проскроллите страницу вниз и выберите «Другие компоненты Windows», то сможете отключить Windows Media Player, которым всё равно мало кто пользуется, виртуальный принтер, печатающий в PDF, или подсистему Windows Subsystem for Linux. В случае необходимости всё это можно будет активировать заново — ОС скачает эти модули из интернета.
3. Удалите неиспользуемые языки
В некоторых предустановленных операционных системах есть сразу несколько языков. Например, если вы заказывали компьютер через интернет из другой страны, то можете обнаружить у себя испанский или китайский языковой пакет. Они занимают не так уж много места, но и их тоже можно удалить.
Нажмите «Пуск» → «Параметры» → «Время и язык» → «Язык и регион». Выберите ненужный язык, нажмите на три точки справа от него и щёлкните «Удалить». Возможно, понадобится перезагрузить систему.
4. Удалите автономные карты
В Windows 11 встроены карты Microsoft, которые могут загружать автономные пакеты с географическими данными. Это позволяет пользоваться ими без интернета, но при этом скачанные модули занимают очень много места. Чтобы исправить ситуацию, нажмите «Пуск» → «Параметры» → «Приложения» → «Автономные карты», найдите ненужную, щёлкните на три точки справа от неё и выберите «Удалить».
5. Перестройте поисковой индекс
В Windows 11 есть поисковой индекс — это база данных с информацией о файлах и их содержимом на вашем компьютере. Индексация позволяет операционной системе быстро искать документы и программы. Со временем база может стать слишком большой. Но индекс можно перестроить, и тогда он будет занимать меньше места. Нажмите «Пуск» → «Параметры» → «Конфиденциальность и защита» → «Поиск в Windows». Выберите «Дополнительные параметры индексации». Щёлкните «Дополнительно» → «Перестроить».
Подождите, пока система завершит перестройку индекса. Время этой операции зависит от объёма данных и производительности вашего компьютера.
6. Отключите гибернацию Windows 11
У Windows есть функция «Спящий режим», или гибернация, когда компьютер копирует содержимое оперативной памяти на жёсткий диск и выключается. Когда вы включите его заново, то сможете продолжить работу с того места, на котором закончили.
Функция особенно полезна для ноутбуков: по умолчанию, если ваш гаджет разрядился, Windows переводит его в режим гибернации. Но при этом на системном диске создаётся файл с содержимым ОЗУ hiberfil.sys, и он может занимать много места.
Чтобы отключить гибернацию, откройте меню «Пуск» и введите cmd. Щёлкните правой кнопкой мыши по появившемуся значку «Командная строка» и выберите «Запуск от имени администратора». Введите следующую команду:
powercfg /hibernate off
Нажмите Enter. Возможно, вам понадобится перезагрузить компьютер.
Если вы решите вновь включить режим гибернации, нужно будет ввести команду:
powercfg /hibernate on
7. Активируйте сжатие системного диска NTFS
Windows работает с файловой системой NTFS от Microsoft, и у неё есть возможность сжимать файлы, чтобы уменьшить их размер на диске. Это несколько увеличивает нагрузку на процессор — впрочем, некритично и на современных чипах этого почти не заметно. Зато можно освободить место на SSD.
Откройте «Проводник», перейдите в «Этот компьютер» и выберите системную папку Windows или весь жёсткий диск, который хотите сжать. Щёлкните правой кнопкой и нажмите «Свойства». Поставьте флажок напротив «Сжимать содержимое для экономии места» и кликните OK.
Выберите вариант «Применить ко всем вложенным папкам». Windows 11 сожмёт свои системные файлы и будет занимать чуть меньше пространства.
8. Сожмите Windows с помощью инструмента Compact OS
В Windows есть функция Compact OS, которая предназначена для уменьшения размера операционной системы на диске. Microsoft специально добавила эту возможность для устройств с ограниченным объёмом хранилища.
Compact OS позволяет уменьшить количество места, занимаемого файлами операционной системы, без ущерба для её функциональности. Пожалуй, это самый эффективный способ сделать Windows 11 менее требовательной к объёму дискового пространства.
Откройте меню «Пуск» и введите cmd. Щёлкните правой кнопкой мыши по появившемуся значку «Командная строка» и выберите «Запуск от имени администратора». Введите следующую команду:
compact.exe /CompactOS:always
Нажмите Enter. Подождите, пока процесс сжатия операционной системы завершится — это может занять немало времени, но результат того стоит. Согласно Microsoft, Windows с активированной функцией Compact OS требует на 4–5 ГБ меньше места, чем без неё.
Имейте в виду, что использование Compact OS может повлиять на производительность системы, так как Windows придётся использовать процессор для декомпрессии файлов в реальном времени. В большинстве случаев это будет незаметно, если только у вас не очень старый или маломощный компьютер.
Чтобы отключить функцию, если она вам не нужна, введите:
compact.exe /CompactOS:never
Время на прочтение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) не использовались.
В Windows 10 появилось сразу несколько усовершенствований, касающихся экономии места на жестком диске. Одна из них — возможность сжать системные файлы, включая предустановленные приложения с помощью функции Compact OS.
Задействовав Compact OS, вы можете сжать Windows 10 (двоичные файлы системы и приложений), освободив тем самым чуть более 2-х гигабайт места на системном диске для 64-разрядных систем и 1.5 Гб для 32-разрядных версий. Функция работает для компьютеров с UEFI и обычным БИОС.
Проверка статуса Compact OS
Windows 10 может включать сжатие самостоятельно (или же оно может быть включено в предустановленной системе производителем). Проверить, включено ли сжатие Compact OS вы можете с помощью командной строки.
Запустите командную строку (правый клик по кнопке «Пуск», выбрать нужный пункт в меню) и введите следующую команду: compact /compactos:query после чего нажмите Enter.
В результате в окне командной строки вы получите сообщение либо о том, что «Система не находится в состоянии сжатия, поскольку оно не является полезным для этой системы», либо о том, что «система находится в состоянии сжатия». В первом случае вы можете включить сжатие вручную. На скриншоте — свободное место на диске до сжатия.
Отмечу, что по официальной информации Microsoft, сжатие является «полезным» с точки зрения системы для компьютеров с достаточным количеством оперативной памяти и производительным процессором. Однако, у меня с 16 Гб RAM и Core i7-4770 в ответе на команду было именно первое сообщение.
Включение сжатия ОС в Windows 10 (и отключение)
Для того, чтобы включить сжатие Compact OS в Windows 10, в командной строке, запущенной от имени администратора введите команду: compact /compactos:always и нажмите Enter.
Начнется процесс сжатия файлов операционной системы и встроенных приложений, который может занять довольно-таки продолжительное время (у меня на абсолютно чистой системе с SSD заняло около 10 минут, однако в случае HDD время может быть совсем другим). На изображении ниже — размер свободного места на системном диске после сжатия.
Для отключения сжатия тем же способом используйте команду compact /compactos:never
В случае если вас интересуют возможности установки Windows 10 сразу в сжатом виде, то рекомендую ознакомиться с официальной инструкцией Microsoft на эту тему.
Не знаю, будет ли кому-то полезной описываемая возможность, но вполне могу предположить сценарии, самым вероятным из которых мне кажется высвобождение места на диске (или, вероятнее, SSD) недорогих планшетов с Windows 10 на борту.