В данном материале речь пойдет о применении средства DISM исключительно для восстановления хранилища компонентов, поскольку данная утилита является основным (рекомендованным Microsoft) автоматизированным механизмом восстановления целостности компонентной модели Windows.
Материал данной статьи описывает процесс восстановления хранилища компонентов при помощи dism.
Windows 8/10+:
В операционной системе Windows 10 синтаксис командной строки утилиты претерпел некоторые изменения. Для восстановления хранилиша компонентов выполняем команду:
dism /Online /Cleanup-Image /RestoreHealth
В современных ОС при запуске описанной выше команды, DISM уже использует возможности Центра обновления Windows для получения (подкачки) файлов, требуемых программе обслуживания образов для восстановления. Но иногда случается так, что клиент Центра обновления Windows уже поврежден (неработоспособен) или отсутствует доступ в Сеть Интернет, тогда у нас остается возможность использовать любой работоспособный экземпляр Windows в качестве источника файлов для восстановления. Для этого можно скачать папку Windows рабочей копии операционной системы на съемный носитель (USB/DVD), либо подключить её по сети (в качестве сетевой папки). После всех проведенных манипуляций выполните в командной строке следующую команду:
dism /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
*где в параметре /Source указывается местоположение рабочей копии.
Windows Vista/7:
В версии операционной системы Windows 7, до определенного момента, для решения проблемы восстановления хранилища компонентов разработчиками рекомендовалось специализированное Средство проверки готовности системы к обновлению (System Update Readiness Tool). Оно было призвано помочь в устранении проблем, препятствующих установке обновлений и сервисных пакетов обновлений, иными словами выполняло проверку файлов/ключей хранилища компонентов на всевозможные повреждения. Однако с выпуском обновления KB2966583 появилась возможность использовать утилиту обслуживания компонентов и пакетов DISM, которая была доступна пользователю лишь в версиях Windows 8 и более поздних. Для выполнения процедуры автоматического восстановления хранилища компонентов в Windows 7 запустите следующую команду из командной строки (и дождитесь завершения её работы):
dism /Online /Cleanup-Image /ScanHealth
*в Windows 7 отсутствуют привычные нам по новым версиям ключи /RestoreHealth и /CheckHealth.
Результаты работы (отчет)
Операция по восстановлению выполняется довольно продолжительное время, а результатом будет сообщение вида: "Выполнение операции scanhealth завершено, см. журнал по адресу %windir%\logs\CBS\Checksur.log. Операция успешно завершена."
Вся информация о результатах восстановления сохраняется в файле отчета с именем %WinDir%\Logs\CBS\CheckSUR.log или %WinDir%\Logs\DISM\DISM.log (в зависимости от версии Windows):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
================================= Checking System Update Readiness. Binary Version 6.1.7601.22471 Package Version 26.0 2019-07-09 15:49 Checking Windows Servicing Packages Checking Package Manifests and Catalogs Checking Package Watchlist Checking Component Watchlist Checking Packages Checking Component Store Summary: Seconds executed: 510 No errors detected |
Обязательно проанализируйте данный отчет, поскольку в нем всегда отображаются детали всех ошибок, возникающих в процессе восстановления хранилища компонентов. В случае отсутствия файлов, подлежащих восстановлению, наименования их обязательно будут перечислены в данном лог-файле, тут уже рекомендуется переписать их копии с рабочей системы. Встречаются ситуации, когда после вроде де бы успешного восстановления хранилища компонентов вышеописанным методом, проблемы с обновлениями/восстановлением системных файлов все еще сохраняются (не ставятся обновления). В этом случае можно попытаться восстановить хранилище другими методами, описанными далее.