Прочее Как уменьшить размер папки WinSxS в Windows 10, 8.1 и 8

akok

Команда форума
Администратор
Сообщения
15,438
Симпатии
12,563
Баллы
2,203
#1
Немного теории:
Каждый раз, когда вы устанавливаете обновления, системные файлы заменяются новыми. Их старые версии сохраняются в папке WinSxS, чтобы обеспечить возможность отката в случае проблем с новыми версиями, т.е. устойчивое обслуживание системы. Это приводит к увеличению объема папки WinSxS, хотя на практике ее максимальный размер редко превышает 15GB.
Начиная с Windows 8 реализовано 3 способа очистки
  1. При помощи DISM;
  2. Утилита "Очистка диска" cleanmgr;
  3. Запланированное задание.
Мы остановимся на первом варианте.

Необходимо определить реальный размер папки
1. Запустите PowerShell от имени администратора (запустить поиск - значок лупы и набрать в окне поиска PowerShell)


2. Выполните команду
PowerShell:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore


Здесь по порядку:
  1. Размер хранилища компонентов, каким его видит проводник, т.е. без учета жестких ссылок внутри WinSxS.
  2. Реальный размер хранилища компонентов с учетом жестких ссылок (за исключением ссылок на папку Windows), в том числе:
    • Общие файлы с папкой Windows. Эти файлы необходимы для работы системы и ни в коем случае не являются лишними. В моем примере они составляют 87% от размера хранилища, но чем больше обновлений устанавливается, тем ниже этот процент.
    • Резервные копии и отключенные компоненты. Эти файлы хранятся на случай проблем с обновленными компонентами или для включения ролей или компонентов. Их можно условно считать лишними, поскольку они не критичны для текущей работы системы.
    • Кэш и временные файлы. Эти файлы нужны для быстрой работы системы обслуживания, но не являются абсолютно необходимыми для функционирования Windows.
  3. Дата последней очистки хранилища. Об очистке во всех подробностях ниже.
  4. Число пакетов, замененных более новыми, и рекомендация по очистке. Фактически, это – файлы, которые обновились после работы Windows Update. Их можно удалить очисткой хранилища.
Чистка папки
Для очистки папки необходимо выполнить следующую команду
PowerShell:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup

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

[INFORMATION]Прошу учесть, что использование команды с ключом /ResetBase приведет к тому, что будет невозможно откатить обновление, но это не повлияет на получение новых обновлений[/INFORMATION]
PowerShell:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Источник
Вадим Стеркин – Think Outside the Box!
 
Последнее редактирование:

грум

Команда форума
Администратор
Сообщения
3,319
Симпатии
1,730
Баллы
503
#2
Хотел попробовать а выдает ошибку.
 

Кирилл

Команда форума
Администратор
Сообщения
13,508
Симпатии
5,987
Баллы
843
#3
грум, у вас команда неверно набрана.
В конце лишние символы.
Что бы не заморачиваться можете воспользоваться скриптом
http://safezone.cc/resources/proverka-celostnosti-sistemnyx-fajlov-utilitoj-sfc.55/
Там это давно реализовано.
В дополнительном функционале все по пунктам выделено - можно пользоваться отдельно от основного скрипта.

 
Последнее редактирование:
Сверху Снизу