Одна из папок Windows 11, 10 и предыдущих версий системы, вызывающая наибольшее количество вопросов у пользователей — папка C:\Windows\WinSxS, размеры которой могут впечатлять и вызывать желание уменьшить занимаемое папкой пространство или же вовсе удалить её.
В этой инструкции подробно о том, что представляет собой папка WinSxS в Windows, почему она может занимать много места и действительно ли она его занимает, и как её очистить.
Назначение папки
Папка WinSxS является хранилищем компонентов (библиотеки DLL, некоторые драйверы, исполняемые и другие файлы) Windows, как установленных и используемых в системе, так и доступных для установки. Файлы из этой папки, по сути, представляют собой все системные файлы Windows (большинство системных файлов в папках Windows, System32 и SysWOW64 фактически являются жесткими ссылками на файлы в папке WinSxS), а также используются для:
- Предоставления нужной версии библиотек при запуске ПО, которому требуется определённая версия
- Восстановления системных файлов
- Установки дополнительных компонентов Windows
- Удаления обновлений Windows
- Изменения редакции операционной системы
По первому пункту чуть подробнее: предположим, есть две разные программы, которым для запуска требуется одна и та же библиотека DLL, но в разных версиях. Эти программы подключают её из стандартной системной папки, например, System32, но в зависимости от манифеста приложения, им будут предоставлены разные версии этого файла, находящиеся в WinSxS.
Например, на скриншоте ниже мы с помощью команды fsutil hardlink list проверяем список жестких ссылок для одной из библиотек DLL из папки System32 и можем увидеть, что этот файл присутствует в двух разных версиях в папке WinSxS, а при его вызове какой-либо программой будет вызвана та, которая требуется.
Подводя итог, содержимое папки WinSxS — это, фактически, почти все файлы вашей ОС Windows, именно там содержится те файлы, которые вы видите в обычных системных папках.
Размер папки WinSxS
Как было отмечено ранее, папка WinSxS содержит большую часть системных файлов Windows и её компонентов, а также предыдущие версии компонентов, если система обновлялась — это объясняет её размер.
При этом следует учитывать, что Проводник Windows не может верно подсчитать размер этой папки из-за упомянутых жестких ссылок: допустим, фактически файл занимает какое-то пространство на диске, при этом присутствует жесткая ссылка на него в другом расположении, Проводник посчитает размер для каждого из экземпляров отдельно.
Чтобы узнать фактический размер папки WinSxS, можно использовать следующую команду, запущенную в командной строке от имени администратора:
dism /Online /Cleanup-Image /AnalyzeComponentStore
В результате вы увидите:
- Размер по данным проводника, который может незначительно отличаться от того, который вы видели в свойствах папки.
- Фактический размер хранилища компонентов.
- Размер части, которая используется в Windows. При этом если вы решите проверить размер папки Windows в проводнике, размер этой части будет удвоен по сравнению с реально занимаемым на диске: будут подсчитаны файлы, находящиеся в WinSxS и те же файлы (жесткие ссылки) находящиеся в «рабочих» папках Windows.
- Объем резервных копий (например, из предыдущей версии системы) и отключенных в настоящий момент компонентов Windows.
С той частью хранилища компонентов, которая используется в Windows, сделать ничего не получится (не отключая компоненты Windows) — это и есть ваша система. Для оставшейся части можно выполнить некоторые действия по очистке.
Очистка WinSxS
Прежде чем начать: некоторые пользователи спрашивают, можно ли удалить папку WinSxS? Ответ: нет, ни в коем случае — даже если вы это сделаете каким-либо образом, ваша Windows больше не запустится.
Безопасно выполнить очистку папки WinSxS можно:
- Выполнив очистку системных файлов с помощью утилиты «Очистка диска»: нажмите клавиши Win+R на клавиатуре, введите cleanmgr и нажмите Enter, нажмите кнопку «Очистить системные файлы» и выполните очистку доступных элементов, имеющих отношение к обновлениям Windows и предыдущим версиям системы. Это действие повлияет в большей степени на другие системные расположение, но отчасти скажется и на фактическом размере папки WinSxS.
- Запустив очистку хранилища компонентов в командной строке, запущенной от имени администратора с помощью команды
dism /online /Cleanup-Image /StartComponentCleanup
Если при выполнении команды вы увидите сообщение об ошибке, связанной с другой транзакцией, перезагрузите компьютер и повторите выполнение команды.
- При необходимости — использовав ещё два варианта предыдущей команды: первый удалит все замененные новыми версиями компоненты (что сделает невозможным удаление обновлений), второй — резервные копии пакетов обновления.
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase dism /online /Cleanup-Image /SPSuperseded
Результат в моём случае:
Как видим, резервные копии были очищены, но остались ещё и отключенные компоненты. Их мы тоже можем удалить. И, хотя я этого не могу прямо рекомендовать, шаги будут следующими:
- В командной строке, запущенной от имени администратора, введите команду
dism /Online /English /Get-Features /Format:Table
- Вы увидите список имеющихся компонентов Windows и их статуса: Enabled — включены, Disabled — отключены. Для удаления файлов отключенного компонента введите команду
dism /Online /Disable-Feature /featurename:ИМЯ_КОМПОНЕНТА /Remove
- Перезагрузите компьютер после завершения удаления компонентов.
Сам компонент не исчезнет из списка доступных для установки в Windows, но установка будет производиться только после автоматического скачивания необходимых файлов из Интернета.
В Планировщике заданий Windows (Win+R — taskschd.msc) в разделе «Библиотека планировщика заданий» — «Microsoft» — «Windows» — «Servicing» присутствует задача очистки хранилища компонентов «Start Component Cleanup».
При желании вы можете настроить собственные триггеры в свойствах задания для его выполнения и регулярной автоматической очистки или выполнить задание вручную.
Некоторые дополнительные материалы на близкую тему:
- Очистка папки DriverStore\FileRepository в System32
- Очистка диска Windows 11 средствами системы
- Лучшие программы очистки диска от ненужных файлов
- Как отключить зарезервированное хранилище в Windows 11 (подойдет и для Windows 10)
В этой статье мы поговорим о каталоге 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) операция компрессии/декомпрессии файлов выполняется практически мгновенно, так что реального уменьшения скорости пользователь даже не заметит.
Папка WinSxS находится в системной папке Windows, например C:\Windows\WinSxS. Это расположение для файлов хранилища компонентов операционной системы Windows. Хранилище компонентов Windows поддерживает выполнение функций, необходимых для настройки и обновления Windows. Вот несколько примеров использования файлов из хранилища компонентов Windows.
Использование Центра обновления Windows для установки новых версий компонентов. Это обеспечивает защиту и актуальность систем
- Включение и отключение компонентов операционной системы Windows
- Добавление компонентов и ролей с помощью диспетчера сервера
- Перемещение систем между различными выпусками операционных систем Windows
- Восстановление системы после повреждения или неудачной загрузки
- Удаление ошибочных или проблемных обновлений
- Выполнение программ с использованием параллельных сборок
Хранилище компонентов ОС Windows впервые появилось в ОС Windows XP для поддержки параллельных сборок. Начиная с ОС Windows Vista хранилище компонентов было улучшено для отслеживания и обслуживания всех компонентов, составляющих операционную систему. Эти различные компоненты операционной системы отслеживают такие объекты, как файлы, каталоги, разделы реестра и службы. Конкретные версии компонентов часто объединяются в пакеты. Пакеты используются в Центре обновления Windows и программой DISM для обновления Windows. Компоненты и пакеты, используемые в процессе установки Windows, обрабатываются хранилищем компонентов Windows. Определение размера хранилища компонентов Windows усложняется тем обстоятельством, что Windows использует многие файлы из каталогов, лежащих вне хранилища компонентов Windows, с помощью метода создания жестких связей. В некоторых случаях файлы определенной версии компонента встречаются и в хранилище компонентов Windows, и вне его. Из-за использования жестких связей может показаться, что Windows хранит несколько копий одного файла, но на самом деле место на дополнительные копии не расходуется.
Жесткие связи
Жесткая связь – это объект файловой системы, который позволяет двум файлам ссылаться на одно расположение на диске. Это значит, что несколько файлов могут ссылаться на одни и те же данные, а изменения этих данных в одном файле отражаются на других файлах. Это усложняет подсчет размера каталогов, как показано в следующем примере.
- Каталог А содержит три файла: 1.txt, 2.txt и 3.txt
- Каталог Б содержит один файл: 4.txt
- Файлы 1.txt и 2.txt соединены жесткой связью и содержат 1 Мб данных
- Файлы 3.txt и 4.txt также соединены жесткой связью и содержат 2 Мб данных.
В этом примере видно, что жесткие связи позволяют нескольким файлам ссылаться на один набор данных.Какой размер имеет каталог А?
Ответ зависит от того, что вы планируете делать с каталогом А.
- При считывании файлов в каталоге А размер всех считанных файлов будет суммой размеров каждого файла. В данном примере это будет 4 МБ
- При копировании всех файлов из каталога А в новое расположение объем копируемых данных будет суммой всех данных, участвующих в жестких связях с файлами. В данном примере это будет 3 Мб
- При освобождении места путем удаления каталога А размер будет уменьшен только на объем файлов, которые участвуют в жесткой связи только в каталоге А. В данном примере можно будет освободить 1 Мб
Сколько же места занимает хранилище компонентов ОС Windows, в частности папка WinSxS. Третий ответ в примере с каталогом А ближе всего подходит к оценке дополнительного занятого места. Файлы, жестко связанные с остальной системой, необходимы для системных операций, поэтому их не нужно считать, а для файлов, которые участвуют в жестких связях с несколькими расположениями в хранилище компонентов, следует учитывать только место, занятое на диске.
Бывают случаи, когда в Windows были удалены или повреждены системные файлы. Это могло произойти в результате сбоя файловой системы, действий вирусов или ошибочных действий самого пользователя. При этом система может загружаться, а может и нет. Не спешите переустанавливать систему или делать откат к заводским настройкам
(в случае с Windows Server это невозможно или неприемлемо). Зачастую систему можно привести в рабочее состояние.
Восстановление системы
Восстановление системы впервые появилось в Windows Me. Тогда копии важнейших системных файлов (реестра в подавляющем большинстве) хранились в zip архивах. Чуть позже, в Windows XP, они хранились как есть, только скрытые с глаз долой в каталоге System Volume Information. Начиная с Windows Vista восстановление системы использует технологию теневого копирования. Именно из теневой копии Windows может восстановить свои файлы. Этот вариант подходит только для клиентских редакций Windows.
Здесь следует помнить, что при использовании точки восстановления, из теневой копии будет восстановлено то, что в неё попало. Это значит, что если файлы на момент создания точки восстановления уже были повреждены или отсутствовали, чуда не произойдёт. Так-же следует отметить отсутствие этого механизма в Windows Server и его автоматическое отключение при установке клиентской редакции Windows на SSD диск.
Восстановление загруженной операционной системы
Рассмотрим порядок действий, если восстановление системы не применимо или не помогло и система загружается.
System File Checker
Начать стоит с проверки системных файлов, в этом нам поможет утилита проверки целостности системных файлов. SFC проверяет системные файлы на несанкционированные изменения или удаление и попытается восстановить их их кэша, расположенного по пути: C:\Windows\WinSxS. Для начала проверки выполните в командной строке, запущенной с повышенными привилегиями команду:
sfc /scannow
Рассмотрим ситуацию на реальном примере, произошедшем со мной недавно:
Windows Server 2016 с установленной ролью Windows Server Update Services. По пути C:\Program Files\Update Services\ отсутствует каталог Tools, что ставит крест на управлении сервером из командной строки. Можно скопировать каталог с аналогичного сервера, если такой есть. У меня не было и я скомандовал описанную ранее команду:
Защита файлов не смогла восстановить некоторые файлы. Нужно уточнить, вернулся-ли каталог Tools на своё место. Можно пройти по пути C:\Program Files\Update Services\ и посмотреть, но это не наш метод. SFC создаёт файл журнала, который мы будем изучать. Файл большой, поэтому предварительно отберём нужные данные:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"
Открываем файл блокнотом и ищем строку: “Update Services\Tools”
Мы видим, что файл восстановлен. Отлично! Но программа сообщила об ошибках — значит капаем дальше. Проводим отбор по тексту ошибки:
findstr /c:"[SR] Cannot repair member file" "%userprofile%\Desktop\sfcdetails.txt" > "%userprofile%\Desktop\error.txt"
И снова смотрим, что получилось:
Не восстановились некоторые ярлыки. В принципе на этом можно и закончить, но если хочется довести начатое до конца, то следует использовать DISM.
DISM
Утилита обслуживания образов развертывания и управление ими позволяет творить чудеса даже в очень трудных случаях. DISM занимается обслуживанием хранилища компонентов (WinSxS). Его проверка и восстановление как раз по плечу DISM.
Давайте договоримся, что первой я буду указывать команду для cmd, а далее дублировать для PowerShell.
Просмотр состояния хранилища компонентов
Для отображения последнего выясненного состояния хранилища компонентов используется команда:
DISM /Online /Cleanup-Image /CheckHealth
Repair-WindowsImage -Online -CheckHealth
Эта команда не проверяет хранилище, а отображает последнее известное его состояние.
Проверка хранилища компонентов
Проверка хранилища, напротив, выполняется продолжительное время и отражает реальное положение дел в системе. Для проверки хранилища используется команда:
DISM /Online /Cleanup-Image /ScanHealth
Repair-WindowsImage -Online –ScanHealth
Она найдет ошибки и предупредит об их наличии, но не восстанавливает. Как видим, у меня с системой всё в порядке.
Восстановление хранилища компонентов
Для восстановления хранилища компонентов DISM требуется источник, откуда он будет брать исправные копии повреждённых компонентов. В качестве источника могут использоваться:
- Windows Update или WSUS
- Установочный образ ESD или WIM
Как видим, вариантов источников много, их можно указывать последовательно в одной команде. Будет использоваться первый, где требуемый компонент будет найден. Есть особенность, что если мы укажем образ соседней системы и компонент там найден не будет, будет произведён поиск в Windows Update.
Команда ниже проверит хранилище на наличие повреждённых компонентов и попробует их восстановить, скачав исходные файлы с центра обновления Windows:
DISM /Online /Cleanup-Image /RestoreHealth
Repair-WindowsImage -Online -RestoreHealth
Однако метод может потерпеть неудачу, если отсутствует соединение с интернетом или повреждены компоненты центра обновления Windows. Рассмотрим восстановление с установочного носителя. С загрузочного образа, диска или флешки нам нужен всего один файл: install.wim или install.esd
DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim
Repair-WindowsImage -Online -RestoreHealth -Source E:\sources\install.wim
Иногда требуется указать номер индекса требуемой редакции. Уточнить номер индекса требуемой редакции совсем несложно — например через PowerShell:
Get-WindowsImage -ImagePath "E:\sources\install.wim"
Индекс сборки потом указываете через двоеточие. Например:
DISM /online /cleanup-image /restorehealth /source:D:\sources\install.esd:2
Если требуется запретить использование Windows Update или WSUS, используйте параметр /LimitAccess.
DISM /online /cleanup-image /restorehealth /source:D:\sources\install.wim /LimitAccess
Восстановление системы, которая не загружается
Рассмотрим случай, когда система уже не загружается. Для её восстановления нам потребуется доступ к системному диску. Мы можем использовать среду восстановления, имеющуюся на компьютере:
Среду восстановления можно запустить с установочного носителя:
Одним словом, не имеет значения как вы получите доступ к диску. Диск можно также подключить к другому компьютеру. Если использовали среду восстановления, то следует разобраться с буквами дисков. Можеn использовать для этих целей команду bcdedit или запустить notepad и через меню файл — открыть увидеть буквы дисков и их содержимое.
System File Checker
Утилита проверки целостности системных файлов и в этой ситуации может прийти на помощь! Для этого у ней есть соответствующие параметры /offbootdir и /offwindir. Нам остаётся лишь указать букву системного диска и путь папки Windows.
sfc /scannow /offbootdir=c:\ /offwindir=c:\windows
Программа работает долго, но зачастую результат превосходит ожидания.
DISM
DISM настолько крут, что и в такой ситуации найдёт выход. Подробнее про офлайн обслуживание хранилища компонентов поговорим в другой раз — сейчас сосредоточимся на восстановлении. Сразу скажу, что из среды восстановления PowerShell не работает. Команды управления образом апривожу на случай, если диск подключен к другой системе.
Просмотр состояния хранилища компонентов
Команда используется как и ранее с той лишь разницей, что мы указываем путь к системному диску повреждённой Windows
Dism /Image:E:\ /Cleanup-Image /CheckHealth
Repair-WindowsImage -Path "E:\" -CheckHealth
Мы видим, что хранилище компонентов моей тестовой системы требует восстановления.
Проверка хранилища компонентов
Проверка хранилища компонентов как и ранее работает долго, но даёт более актуальный результат в отличие от предыдущей команды.
Dism /Image:E:\ /Cleanup-Image /ScanHealth
Repair-WindowsImage -Path "E:\" -ScanHealth
Восстановление хранилища компонентов
Восстановление хранилиза компонентов по сути своей не отличается от ситуации с загруженной системой, поэтому не буду приводить полный список команд. Ограничусь простой командой восстановления через Windows Update. Разница лишь в указании пути к системе.
Dism /Image:E:\ /Cleanup-Image /restorehealth
Repair-WindowsImage -Path "E:\" -RestoreHealth
Заключение
Как видите есть масса способов привести систему в чувства и без переустановки Windows. Надеюсь предложенные способы помогут вам.
Содержание
- DISM: проверка и восстановление системных компонентов образа Windows 10
- SFC /scannow: Проверка и восстановление системных файлов Windows
- DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
- Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
- Восстановление хранилища компонентов оффлайн если Windows не загружается
- Как установить Windows 10
- Восстановление повреждённого хранилища компонентов Windows с помощью программы Dism++
- Восстановление повреждённого хранилища компонентов Windows с помощью программы Dism++
- 1. Повреждение хранилища компонентов Windows
- 2. Восстановление хранилища компонентов программой Dism++
- 3. Что делать, если Dism++ не смогла восстановить хранилище компонентов
- Как восстановить хранилище компонентов в Windwows 10
- Простое восстановление
- Восстановление хранилища компонентов с использованием образа Windows 10
- Исправление хранилища компонентов в среде восстановления
- Восстановление с распакованного образа на виртуальном диске
- Дополнительная информация
- Как восстановить Windows 10 (хранилище компонентов образа) с помощью DISM RestoreHealth
- Диагностика хранилища компонентов с помощью DISM
- Восстановление хранилища компонентов /Restore Health
- Восстановление хранилища компонентов с указанием источника
- Восстановление хранилища с файлом install.esd
- Восстановление хранилища с файлом install.wim
- Восстановление хранилища путем монтирования install.wim
DISM: проверка и восстановление системных компонентов образа Windows 10
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM (Deployment Image Servicing and Management). Данные утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
Утилита DISM включена в состав Windows, начиная с Vista и может быть использована во всех поддерживаемых версиях начиная с Windows 7/Windows Server 2008 R2 (есть ограничения) заканчивая последними билдами Windows 10 / Windows Server 2019. В этой статье мы рассмотрим, как использовать утилиты DISM и SFC для проверки и восстановления целостности образа и системных файлов Windows 10.
SFC /scannow: Проверка и восстановление системных файлов Windows
Утилиту DISM для восстановления Windows обычно рекомендуется использовать после утилиты проверки целостности системных файлов SFC (System File Checker). Команда sfc /scannow сканирует защищенные системные файлы Windows, и, если они отсутствуют или повреждены, попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Если команда sfc /scannow возвращает ошибку “ Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them ”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов (ваш образ Windows) с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
DISM /RestoreHealth: Восстановление хранилища компонентов образа Windows
DISM /Online /Cleanup-Image /CheckHealth
При запуске этой команды не выполняется сканирование хранилища, проверяются лишь записанные ранее значения и события в журнале Windows. Изменения не вносятся. Команда проверит, не помечен ли образ как поврежденный и возможно ли устранить данное повреждение.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected.
The operation completed successfully.
DISM /Online /Cleanup-Image /ScanHealth – выполнить полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows (выполняется довольно долго от 10 до 30 минут).
Если команда /ScanHealth возвращает ошибки:
Это однозначно говорит о том, что ваш образ Windows 10 поврежден и его нужно восстановить.
Чтобы исправить ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов (библиотек) из центра обновлений Windows (на компьютере должен быть доступ в Интернет), выполните:
DISM /Online /Cleanup-Image /RestoreHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более).
Если восстановление выполнится успешно, появится сообщение:
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully. The operation completed successfully.
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена служба Windows Update, то при восстановлении хранилища компонентов появляются ошибки вида:
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов компонентов системы. Предположим, вы смонтировали установочный ISO образ Windows 10 в виртуальный привод E:. Для восстановления хранилища компонентов из образа используйте одну из команд:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim
Или:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.wim /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:E:\sources\install.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
В версии PowerShell в Windows 10 и Windows Server 2016/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Восстановление хранилища компонентов оффлайн если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
Источник
Как установить Windows 10
Восстановление повреждённого хранилища компонентов Windows с помощью программы Dism++
Восстановление повреждённого хранилища компонентов Windows с помощью программы Dism++
Друзья, благодаря своей уникальности и годности, программа Dism++ стала завсегдатаем разговоров о её возможностях на нашем сайте. О ней в целом вы можете почитать в её комплексном обзоре. Конкретные же инструкции по работе с Dism++, смотрите в перечне фильтрации статей сайта по тегу Dism. Ну а в этой статье давайте говорить о возможности программы по восстановлению повреждённого хранилища компонентов Windows.
1. Повреждение хранилища компонентов Windows
Хранилище компонентов – это содержимое папки «WinSxS», расположенной по пути C:\Windows\WinSxS. Здесь хранятся оригинальные версии файлов Windows. И именно отсюда утилита sfc.exe при проверке целостности системных файлов sfc /scannow берёт оригинальные версии для замены ими повреждённых системных файлов. И тогда по результатам запуска команды sfc /scannow мы видим отчёт проверки в виде уведомления:
«Программа защиты ресурсов Windows обнаружила повреждённые файлы и успешно их восстановила».
И это есть успешное завершение операции проверки целостности системных файлов. Её неуспешное завершение – это уведомление по итогу завершения проверки:
«Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них».
Это значит, что не только системные файлы, но и само хранилище компонентов, т.е. папка «WinSxS», нуждается в восстановлении. И такое восстановление уже проводится за счёт ресурсов Центра восстановления Windows с использованием консольной утилиты Dism. Кому интересно, можете почитать в статье «Проверка целостности системных файлов Windows 10», как восстанавливается хранилище компонентов с использованием команд Dism в командной строке. Ниже же рассмотрим предлагаемую программой Dism++ юзабильную альтернативу этой операции. Как с помощью Dism++ выявить, не повреждено ли хранилище компонентов Windows? И как восстановить повреждённое хранилище за счёт файлов, хранящихся в Центре обновления системы?
2. Восстановление хранилища компонентов программой Dism++
Запускаем программу Dism++. Друзья, если у вас на компьютере установлено несколько Windows, все они будут отображаться в окне программы для возможности проведения операций с ними. Чтобы работать с текущей операционной системой, переключаемся на её образ вверху окна Dism++.
В меню «Восстановление» выбираем «Проверить».
Ждём, пока программа осуществит сканирование хранилища компонентов Windows на предмет наличия повреждений. Ход этой операции сможем наблюдать на шкале прогресса выполнения операций с образом.
По итогу получим отчёт проверки, и коль проверка sfc /scannow не смогла восстановить повреждённые системные файлы, логично, что итог проверки целостности самого хранилища будет неудовлетворительным. Dism++ выдаёт нам сообщение:
«Целостность образа была проверена, и она нуждается в восстановлении».
Теперь нам нужно запустить восстановление хранилища. Напомню, друзья, ещё раз, что такое восстановление средствами Dism проводится за счёт ресурса Центра обновления Windows. Следовательно, для успешного проведения операции по восстановлению хранилища нужно, чтобы не были повреждены файлы самого Центра. И желательно, чтобы компьютер был подключён к Интернету: возможно, в процессе восстановления хранилища понадобится скачивание нужных файлов с серверов обновлений Microsoft.
В окне Dism++ в меню «Восстановление» запускаем «Исправить».
Ждём завершения операции, её ход отслеживаем на шкале прогресса.
«Образ был успешно восстановлен».
Т.е. хранилище компонентов восстановлено.
Теперь можем запускать проверку целостности файлов утилитой sfc.exe. В запущенной от имени администратора командной строке вводим:
И жмём Enter. После восстановления хранилища компонентов такая проверка должна завершиться успешным восстановлением файлов, как на первом снимке статьи.
3. Что делать, если Dism++ не смогла восстановить хранилище компонентов
Что делать, друзья, если Dism++ не удастся произвести восстановление хранилища компонентов? Судя по такой вот по формулировке уведомления о неудачном восстановлении,
Dism++ в идеале может восстанавливать хранилище не только за счёт ресурса Центра обновления, но и за счёт дистрибутива Windows. Вы можете попробовать смонтировать установочный ISO-образ с используемой версией Windows и снова запустить операцию «Исправить» в меню программы «Восстановление». Но, друзья, скажу, что за счёт ресурса дистрибутива Windows с проблемой может справиться и сама утилита sfc.exe, которой мы непосредственно восстанавливаем целостность системных файлов. Её просто нужно запустить с указанием иного источника заполучения целостных системных файлов – той же папки «WinSxS», но находящейся по другому пути и с извлечённым содержимым из дистрибутива Windows. Детально этот процесс описан в этой статье.
Друзья, если вам в принципе интересны материалы по теме восстановления целостности системных файлов, вы можете узнать более. Тег Целостность системных файлов отфильтрует все материалы сайта по этой теме.
Источник
Как восстановить хранилище компонентов в Windwows 10
Автор: w10w · Опубликовано 27.12.2018 · Обновлено 29.12.2018
Простое восстановление
Сначала о «стандартном» способе восстановления хранилища компонентов Windows 10, который работает в случаях, когда нет каких-то серьезных повреждений системных файлов, а сама ОС исправно запускается. С большой вероятностью помогает в ситуациях «Хранилище компонентов подлежит восстановлению», «Ошибка 14098. Хранилище компонентов повреждено» или при ошибках восстановления с помощью sfc /scannow.
Для восстановления выполните следующие простые шаги
Если в итоге вы получили сообщение об успешном восстановлении, то все дальнейшие описываемые в этом руководстве методы вам не пригодятся — всё сработало должным образом. Однако, это не всегда так происходит.
Восстановление хранилища компонентов с использованием образа Windows 10
Следующий метод — использование образа Windows 10 для использования системных файлов с него для восстановления хранилища, что может пригодиться, например, при ошибке «Не удалось найти исходные файлы».
Вам потребуется: образ ISO с такой же Windows 10 (разрядность, версия), что установлена на вашем компьютере или же диск/флешка с нею. В случае, если используется образ, подключите его (правый клик по файлу ISO — подключить). На всякий случай: Как скачать Windows 10 ISO с сайта Майкрософт.
Шаги по восстановлению будут следующими (если из текстового описания команды что-то будет не ясно, обратите внимание на скриншот с выполнением описываемой команды):
Дождитесь завершения операции восстановления, которое, возможно, в этот раз пройдет успешно.
Исправление хранилища компонентов в среде восстановления
Если по той или иной причине восстановление хранилища компонентов не удается выполнить в запущенной Windows 10 (например, вы получаете сообщение «Сбой DISM. Операция не выполнена»), это можно сделать в среде восстановления. Я опишу способ с использованием загрузочной флешки или диска.
Или install.wim, файл находится в папке sources на флешке, с которой вы загрузились. В этой команде мы узнаем индекс нужной нам редакции Windows 10.
Здесь в /Image:C:\ указывается буква диска с установленной Windows При наличии отдельного раздела на диске под пользовательские данные, например, D, рекомендую также указать параметр /ScratchDir:D:\ как на скриншоте для использования этого диска под временные файлы.
Как обычно, дожидаемся окончания восстановления, с большой вероятностью в этот раз оно пройдет успешно.
Восстановление с распакованного образа на виртуальном диске
И еще один метод, более сложный, но также способный пригодиться. Использовать его можно как в среде восстановления Windows 10, так и в запущенной системе. При использовании метода необходимо наличие свободного пространства в объеме около 15-20 Гб на каком-либо разделе диска.
В моем примере будут использованы буквы: C — диск с установленной системой, D — загрузочная флешка (или подключенный образ ISO), Z — диск на котором будет создаваться виртуальный диск, E — буква виртуального диска, которая будет ему присвоена.
И ожидаем в надежде на то, что в этот раз получим сообщение «Восстановление выполнено успешно». После проведения восстановления вы можете размонтировать виртуальный диск (в запущенной системе правый клик по нему — отключить) и удалить соответствующий ему файл (в моем случае — Z:\virtual.vhd).
Дополнительная информация
Источник
Как восстановить Windows 10 (хранилище компонентов образа) с помощью DISM RestoreHealth
В данной статье показаны действия, с помощью которых можно восстановить Windows 10 (хранилище компонентов образа) с помощью DISM RestoreHealth.
В случае если операционная система работает не корректно, а утилита SFC не может справится с проблемой и выдаёт ошибку, то это значит что в операционной системе нарушена целостность хранилища системных компонентов, которые находятся в папке WinSxS системной директории.
Чтобы восстановить повреждённые компоненты и тем самым вернуть систему в рабочее состояние нужно воспользоваться утилитой для развертывания и обслуживания образов DISM.
Диагностика хранилища компонентов с помощью DISM
Следующие две команды выполняют диагностику (сканирование) системных компонентов образа на наличие повреждений.
Запустите командную строку от имени администратора и выполните следующую команду:
DISM /Online /Cleanup-Image /CheckHealth
Данная команда проверяет, был ли образ помечен как поврежденный и можно ли устранить повреждение, при этом никаких изменений в систему не вносится.
Если при выполнении предыдущей команды повреждение хранилища компонентов не обнаружено, то чтобы убедиться что все в порядке, необходимо запустить диагностику с параметром /ScanHealth. В этом случае выполняется более тщательная проверка целостности и наличие повреждений хранилища компонентов, при этом процесс сканирования занимает больше времени и также никакие изменения в систему не вносятся.
В командной строке открытой от имени администратора выполните команду:
DISM /Online /Cleanup-Image /ScanHealth
Восстановление хранилища компонентов /Restore Health
Если при выполнении предыдущих команд вы получили сообщения о различных ошибках, например: Хранилище компонентов подлежит восстановлению, Ошибка: 1726 Сбой при удалённом вызове процедуры, Ошибка: 1910 Не найден указанный источник экспорта объекта, то чтобы исправить это, нужно восстановить хранилище компонентов.
Чтобы восстановить хранилище компонентов, в командной строке открытой от имени администратора выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
Данная команда запустит процесс проверки и автоматического восстановления хранилища компонентов, при этом будет использоваться центр обновления Windows для загрузки и восстановления поврежденных файлов, что не гарантирует успешного выполнения в случае проблем с доступом к сети интернет или при повреждении компонентов службы обновления. Процесс сканирования и автоматического восстановления может занять около 20 минут и больше.
Если восстановление хранилища компонентов выполнено успешно, то теперь выполните проверку и восстановление целостности системных файлов с помощью команды sfc /scannow
Восстановление хранилища компонентов с указанием источника
Если команда с параметром /Restore Health после выполнения выдала ошибку 0x800f0906 Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник» или ошибку 0x800f081f Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра «Источник», или ошибку 0x800f0950 Сбой DISM. Операция не выполнена,.
то для дальнейшего восстановления потребуется оригинальный ISO-образ Windows 10 который можно получить при помощи Media Creation Tool (соблюдая разрядность и редакцию) или установочная флешка (диск) с дистрибутивом Windows 10.
После того, как вы скачали образ, смонтируйте его в виртуальный привод стандартными средствами и в окне Этот компьютер проверьте, какая буква была присвоена смонтированному образу.
Если у вас имеется загрузочный диск DVD или USB накопитель с дистрибутивом Windows 10, то просто вставьте диск или подключите внешний носитель, и посмотрите, какая буква была присвоена этому накопителю в окне Этот компьютер.
Восстановление хранилища с файлом install.esd
Теперь узнаем какие индексы содержит файл образа. В случае, если это install.esd, то в командной строке открытой от имени администратора выполните команду:
DISM /Get-WimInfo /WimFile:F:\\Sources\\install.esd
Узнав букву диска с дистрибутивом Windows 10 и индекс редакции операционной системы, восстановим хранилище системных компонентов.
Для этого в командной строке открытой от имени администратора выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth /Source:ESD:F:\\Sources\\ install.esd : 4 /LimitAccess
Если восстановление хранилища компонентов выполнено успешно, то теперь осталось выполнить проверку и восстановление целостности системных файлов с помощью команды sfc /scannow
Восстановление хранилища с файлом install.wim
Если в папке sources находится файл образа install.wim, то теперь узнаем какие индексы содержит файл образа. В командной строке открытой от имени администратора выполните команду:
DISM /Get-WimInfo /WimFile:G:\\Sources\\install.wim
Узнав букву диска с дистрибутивом Windows 10 и индекс редакции операционной системы, восстановим хранилище системных компонентов.
Для этого в командной строке открытой от имени администратора выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:G:\\Sources\\ install.wim : 2 /LimitAccess
Если восстановление хранилища компонентов выполнено успешно, то теперь выполните проверку и восстановление целостности системных файлов с помощью команды sfc /scannow
Восстановление хранилища путем монтирования install.wim
Далее представлен ещё один, более сложный способ по восстановлению хранилища компонентов.
Теперь узнаем какие индексы содержит файл образа, для этого в командной строке открытой от имени администратора выполните команду:
DISM /Get-WimInfo /WimFile:F:\\Sources\\install.wim
В данном примере мы видит что в файле install.wim имеется два индекса (то есть две редакции Windows 10, в данном примере будет восстанавливаться хранилища компонентов Windows 10 Pro, запоминаем нужный индекс, нужной редакции операционной системы).
Теперь создадим временную папку, в которую смонтируем файл образа Windows (wim), для этого в командной строке открытой от имени администратора выполните команду:
Затем смонтируем файл install.wim в созданную директорию, выполнив команду:
DISM /Mount-Wim /WimFile:F:\\sources\\install.wim /index: 2 /MountDir:C:\\WIM /ReadOnly
Теперь собственно запустим процесс восстановления хранилища компонентов, выполнив команду:
DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\\WIM\\Windows /LimitAccess
После того как процесс восстановления успешно выполнится, размонтируйте (отключите) образ, выполнив команду:
Удалите созданную ранее временную папку, выполнив команду:
Теперь обязательно перезагрузите компьютер, для этого выполните команду:
После перезагрузки компьютера выполните проверку и восстановление целостности системных файлов с помощью команды sfc /scannow
Источник