Есть хорошая команда, которая очищается после установки Windows 7 SP1 (она сэкономила мне около 3 ГБ):
DISM /online /cleanup-Image /spsuperseded
Должен выполняться из командной строки с повышенными правами
Виртуальная машина Vista, которую я использую, имеет только 10 ГБ виртуального жесткого диска - и я беспокоюсь о том, что со временем будет не хватать места.
Я использовал TreeSize, чтобы проверить виновников ..
И основной виновник - это /winsxs
папка Windows Side-By-Side .
Что такое папка Windows Side By Side? Ну, здесь все хорошо объяснено .
Все компоненты в операционной системе находятся в папке WinSxS - фактически мы называем это расположение хранилищем компонентов. Каждый компонент имеет уникальное имя, которое включает версию, язык и архитектуру процессора, для которых он был создан. Папка WinSxS - это единственное место, где компонент находится в системе, все остальные экземпляры файлов, которые вы видите в системе, «проецируются» жесткой связью из хранилища компонентов. Позвольте мне повторить этот последний момент - существует только один экземпляр (или полная копия данных) каждой версии каждого файла в ОС, и этот экземпляр находится в папке WinSxS. Таким образом, если смотреть с этой точки зрения, папка WinSxS на самом деле представляет собой целую ОС, называемую «плоской» в операционных системах нижнего уровня.
Это объясняет, почему папка начинается с большого размера, а не почему она увеличивается со временем - ответ на этот вопрос - обслуживание. В предыдущих версиях Windows атомной единицей обслуживания был файл, в Windows Vista - это компонент. Когда мы обновляем конкретный двоичный файл, мы выпускаем новую версию всего компонента, и эта новая версия сохраняется вместе с исходной версией в хранилище компонентов. Более высокая версия компонента проецируется на систему, но более старая версия в магазине не затрагивается. Причиной этого является третья часть того, почему хранилище компонентов становится таким большим.
Многие люди жалуются на размер папки / winsxs :
Коллега недавно каждые два года получал обновление своего рабочего ноутбука и собирался загрузить свой новый ноутбук с Vista. По какой-то причине его жесткий диск C: был разделен только на 25 ГБ, а остальное пространство зарезервировано для гораздо большего диска D :.
В любом случае, после загрузки многих обновлений Windows у него осталось мало свободного места на диске C: и по какой-то причине каталог WinSxS увеличился до 8 ГБ.
Хотя я знал, для чего нужен каталог WinSxS (Windows Side-by-Side), я не был уверен, почему этот каталог так быстро увеличивается в размерах при обычных обновлениях операционной системы.
Я на самом деле не волнует, все эти дубликаты файлов для безопасности, но сделать заботу о VM взрываются из - за места на диске для ошибки. Итак ... можно ли каким-либо образом безопасно срезать / winsxs? Не похоже, что это может быть ..
Администраторы по какой-либо причине не должны брать на себя ответственность за очистку каталога / winsxs - это может помешать правильной работе Центра обновления Windows и MSI. Предотвращение случайного удаления из каталога выполняется путем помещения строгого дескриптора безопасности в каталог, который наследуется его дочерним элементам.
Если эта папка / winsxs станет больше, мне придется заново создать образ этой виртуальной машины ... чего я действительно не хочу делать!
Есть хорошая команда, которая очищается после установки Windows 7 SP1 (она сэкономила мне около 3 ГБ):
DISM /online /cleanup-Image /spsuperseded
Должен выполняться из командной строки с повышенными правами
Winsxs на самом деле содержит жесткие ссылки . Это не займет столько дополнительных данных, сколько вы думаете.
Жесткая ссылка похожа на «ярлык» или «указатель» на фактический файл, расположенный где-то на вашем диске. Жесткая ссылка сама по себе не занимает места на жестком диске: она просто служит для перенаправления.
Поскольку winsxs состоит из жестких ссылок, удаление этих ссылок не освободит места. Фактические файлы будут продолжать оставаться в разных местах на вашем диске.
... это решение! (Ну, в основном .)
Резюме «Помечено как ответ Ронни Вернон, MVP, Модератор», говорит здесь :
Вау, долгое обсуждение жестких ссылок и winsxs. Во всяком случае, вот несколько обобщенных пунктов того, что я понял о том, как все это работает.
Для начала, отвечая на вопрос ОП с идеальным ответом, опубликованным выше Андре.Зиглером, вы не касаетесь winsxs. Может быть, некоторые файлы можно обрезать, например, mp3, avi и т. Д., Но остальные системные файлы следует оставить в покое . Я также использую Link Shell Extension, как было сказано выше Ронни Верноном, простой способ увидеть, какие из них жестко связаны (красная стрелка), а какие - простые файлы.
Прежде чем попасть сюда, я видел во многих местах людей, которые спрашивают о средстве очистки после установки SP1 для Windows 7, например vsp1cln. Специального инструмента нет, все это интегрировано в сервис очистки диска. Одно замечание, которое я хотел бы здесь сделать, заключается в том, что даже если опция говорит, что она удалит несколько сотен МБ после того, как я очистил свой диск, служба удалила около 3 ГБ лишних файлов, поэтому она варьируется от системы к системе. Забавно, теперь у меня еще больше места, чем было до установки SP1. Хороший, MS.
Что касается жестких ссылок, я был удивлен путаницей, созданной вокруг них. Я не фанат Linux, и я обычно использую только мягкие ссылки ... мне этого достаточно, но люди не понимают, как работают сложные и как рассчитывается размер.
Группа выбранных файлов, ссылки или нет, всегда будет учитываться как сумма. Это означает, что если я возьму файл размером 10 МБ и сделаю 2 жесткие ссылки, выбор всех трех из них будет иметь размер 30 МБ, и это правильный размер, поскольку в отличие от программных ссылок, которые связаны с исходной записью таблицы файла основного файла и имеют 0 байтов, жесткие ссылки связаны с самими данными, имеют свою собственную запись в MFT, но указывают на тот же адрес данных, очевидно, имея в качестве размера размер фактических данных, одинаковое время, атрибуты и так далее. Почему ниже.
Сколько осталось на диске? Все просто: точно так же, как отчеты о свойствах накопителя . Не выбирайте все файлы, скрытые и не скрытые на C, и не сравнивайте их, а также не используйте инструменты, которые делают это автоматически, поскольку они не показывают фактическое использование жесткого диска. Зачем? Так как:
- эта операция создает список всех выбранных файлов, включая жесткие ссылки в виде отдельных файлов, берет каждый из них и добавляет размеры, свойства дисков подсчитывают фактические сохраненные данные
- не все файлы будут учитываться, папки, защищенные от обхода и файлы от чтения, не будут учитываться, а информация о томе системы обычно имеет очень большие файлы, защищенные именно таким образом
- этот номер полезен только в случаях передачи файлов, если файлы, ссылки и т. д. необходимо скопировать на DVD или NAS, вот сколько они будут занимать, и ссылки не будут сохранены, поскольку они являются специфическими функциями NTFS и недоступны или доступны в различных формах под ISO, UDF, NFS и другими файловыми системами, но они будут клонированы.
Сделайте тест ... скопируйте 10 МБ файл a.exe с другого диска и обратите внимание, как свободное место уменьшается на 10 МБ. Сделать жесткую ссылку (mklink / H b.exe a.exe). Теперь эти два выбранных файла будут «использовать» 20 МБ в свойствах выбора, но на самом деле только 10 МБ будут проверены в свойствах накопителя, которые будут иметь то же свободное пространство, что и после копирования файла. Удалите один или один, свободное место останется прежним. Теперь удалите последний, и пространство увеличится на 10 МБ. Был ли какой-нибудь вред? NO.
Что такое winsxs? Гораздо лучше dllcache. Если с помощью dllcache в XP у нас были копии файлов, которые фактически увеличивали использование размера с момента их клонирования, это фактически улучшает использование, но не обеспечивает полную защиту (от вирусов). Если мошеннический деинсталлятор считает, что он должен удалить некоторые библиотеки времени выполнения из System32, он будет удалять только ссылки, но не данные, тогда ссылки будут воссозданы при сохранении минимально возможного использования пространства данных, лучше, чем архивирование winsxs в кабинах и наличие Кабины вдоль стороны оригинальных файлов. Также winsxs приносит сериализацию, разделяя файлы с тем же именем, но с другой версией, ради разработчика, что хорошо / плохо, делает их ленивыми правильно кодировать, но помогает, когда они больше не хотят кодировать.
Я сделал это, чтобы помочь любому, кто приземлится здесь по тем же причинам, что и я ... чрезмерное «использование пространства» winsxs после SP1. И я надеюсь, что это было полезно.
Эти дубликаты и резервные копии очень раздражают при ограниченном дисковом пространстве.
Находясь в этом месте, я обнаружил, что единственный способ не поставить под угрозу стабильность ОС - щедро использовать параметр «Сжатие содержимого для экономии места на диске» .
Сжимая все эти каталоги резервных копий в каталоге Windows, я смог уменьшить размер каталога с 6,5 ГБ до 5 ГБ без заметных побочных эффектов. Использование его для некоторых ваших вещей вне директории Window увеличит ваши 10 ГБ еще больше.
Если у вас Vista и установлен пакет обновления 2 (SP2), вы можете очистить старые системные файлы с помощью нового средства очистки пакета обновления .
In Windows 8 you can reduce the size of the WinSxS folder by removing Windows Features:
DISM.exe /Online /Disable-Feature /Featurename:<name> /Remove
The important thing is the /Remove parameter which is new to Windows 8.
The most space in WinSxS is used the WindowsUpdates which you install over the time. In Windows 8/Windows 10 you can detect and remove Updates which are replaced by newer updates (like newer cumulative IE Updates) be running this command:
dism.exe /online /cleanup-image /startcomponentcleanup
or running the disk cleanup wizard and select "Windows Update Cleanup"
Also make sure you've installed the servicing stack update http://support.microsoft.com/kb/2821895.
This updates run an in deep cleanup of WinSxS and compresses all DLLs/Exe files, from WinSxS which are not currently in use, into smaller delta file:
Look at the different file sizes.
Windows 8.1 adds new DISM commands. The /startcomponentcleanup
gets a new parameter /ResetBase
which makes your last Update permanent and removes all older files to save more space.
You can also run a new command dism /online /cleanup-image /analyzecomponentstore
to analyze the WinSxS folder:
It tells you now when you should run the cleanup to save space.
Вы можете использовать VSP1CLN.EXE, чтобы сделать SP1 постоянным, что в соответствии с этой страницей освободит компоненты, замененные SP1.
Хорошие новости! Теперь существует официально разрешенный метод от Microsoft для Windows 7 SP1 для очистки вашей папки WinSXS .
Предостережение. Возможно, вам не удастся удалить некоторые обновления Windows после выполнения очистки папки WinSxS.
Looks like there is finally a way to do this in Windows 8.1 service pack 1 and Windows Server 2012 R2.
Component store analysis tool:
Dism.exe /Online /Cleanup-image /AnalyzeComponentStore
At the end of the scan, the user gets a report of the results (actual size of the winsxs folder) like this:
Component store cleanup:
Today, Component Store Cleanup must be triggered manually by an end-user, either by running DISM, or by using the Disk Cleanup Wizard. In order to make Component Store Cleanup more useful for the average end-user, it will be added into a maintenance task, automatically saving disk space for end-users. To enable this, a change will be made to allow uninstallation of superseded inbox drivers without requiring a reboot (today, all driver installs/uninstalls done by CBS require a reboot).
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Disk Cleanup tool, Clean up system files button.
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Dism ++ - это то, что вы ищете ( https://www.chuyu.me/en/index.html ).
Вы сэкономите гигабайты места ...
Вам нужно будет выбрать «Замененные сборки WinSxS». Если вы сделаете это - вы получите предупреждение о невозможности удаления этих установленных обновлений. Нажмите ОК, затем сканируйте
Это даст вам представление о том, сколько места вы сэкономите. Хит очистки, и это должно очистить это пространство.
Надеюсь, будет полезно иметь один простой вкладыш, так как в противном случае отличный ответ Джеффа Этвуда пропустит /ResetBase
переключение.
Предостережение . Этот параметр значительно помогает уменьшить размер папки WinSxS, но полностью удаляет предыдущие версии компонентов, поэтому вы не сможете откатить любые обновления, установленные ранее. Но если ваша система ведет себя хорошо, вы должны быть в безопасности (особенно если вы не в производственной среде)
dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Это работает в Windows 8.1 и позже