- Здравствуйте админ! На моём компьютере установлена Windows 7 и периодически на ней выходят различные ошибки, также система может зависнуть или перезагрузиться в самый неподходящий момент. Вы посоветовали мне проверить винду на вирусы и произвести проверку целостности системных файлов. Вирусов у меня не оказалось, а вот с проверкой целостности всё оказалось намного интересней. Запускаю командную строку от имени администратора и ввожу команду sfc /scannow и через некоторое время командная строка выдаёт: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов Windows 7. Знаю, что это самое хранилище можно в Windows 8.1, 10 восстановить с помощью системы обслуживания образов Dism, командами: Dism.exe /Online /Cleanup-image /ScanHealth и Dism.exe /Online /Cleanup-image /RestoreHealth. Думал, что в Windows 7 тоже так можно, ведь там есть Dism, но при вводе команды «Dism.exe /Online /Cleanup-image /ScanHealth» у меня выходит ошибка: «Ошибка 87. Параметр restorehealth не распознан в этом контексте».
- Здравствуйте админ! Произвожу восстановление целостности системных файлов Windows 7 с помощью sfc /scannow и выходит сообщение: «Для завершения восстановления системы требуется перезагрузка. Перезапустите систему Windows и выполните sfc еще раз», перезагружаюсь и опять тоже самое. Подумал, что это из-за повреждения хранилища компонентов Windows 7, хочу восстановить это хранилище, запускаю командную строку от имени администратора и ввожу команду: «Dism.exe /Online /Cleanup-image /ScanHealth» и выходит: «Ошибка 87. Параметр restorehealth не распознан в этом контексте». Что делать дальше?
Восстановление повреждённого хранилища системных компонентов возможно не только в Windows 8.1/10, но и в Windows 7
Привет друзья! В Windows 7, как и в Windows 8.1, 10 существует хранилище системных компонентов операционной системы — папка WinSxS, находящаяся по адресу C:Windows\WinSxS.
Если по каким-либо причинам (вирусы, системный сбой, нарушения в файловой системе) операционная система теряет важный системный файл, то этот файл тут же заменяется его работоспособной версией из хранилища системных компонентов (папки WinSxS).
При необходимости, пользователь сам может запустить проверку целостности системных файлов операционной системы с помощью командной строки (запущенной от администратора) командой sfc /scannow. Средство sfc произведёт проверку целостности системных файлов и если повреждения обнаружатся, то результат будет выглядеть так: «Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила», но в некоторых случаях ответ будет другим: «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них», что означает повреждение хранилища системных компонентов операционной системы (папки WinSxS).
В этом случае вводим в командной строке (запущ. от администратора) команду:
Dism.exe /Online /Cleanup-image /ScanHealth
которая в свою очередь проверит и восстановит целостность самого хранилища системных компонентов
Windows 7.
Примечание: Начиная с Windows 8 операционная система получила возможность восстанавливать поврежденное хранилище компонентов с помощью системы обслуживания образов Dism. Для восстановления хранилища нужно ввести две команды:
Dism.exe /Online /Cleanup-image /ScanHealth — проверяет состояние целостности хранилища компонентов.
Dism.exe /Online /Cleanup-image /RestoreHealth — восстанавливает хранилище.
В Windows 7 тоже существует данная возможность, но в Windows 7 обе эти команды объединены в одну и для восстановления хранилища компонентов необходимо воспользоваться только командой
Dism /Online /Cleanup-Image /ScanHealth, но эта команда не сработает и вы получите ошибку: «Ошибка 87. Параметр ScanHealth не распознан в этом контексте», если в вашей Windows 7 не установлено обновление KB2966583.
Скачайте данное обновление KB2966583 по ссылке
https://support.microsoft.com/ru-ru/kb/2966583
выберите обновление в соответствии с разрядностью вашей операционной системы, например, у меня установлена Windows 7 64-бит, значит я скачаю пакет для всех поддерживаемых 64-разрядных версий Windows 7.
Загрузить пакет.
Выбираем язык — Русский и жмём Download.
Я уже давно не писал ничего, относящегося исключительно к Windows 7. Поводом для сегодняшний записи стал редчайший случай — Microsoft добавила новую возможность в старую ОС задним числом!
Читатели со стажем сразу вспомнят, как через четыре года после выхода Windows 7 в ней появилась возможность очищать папку WinSXS. Тогда из Windows 8+ перенесли часть функций DISM. Прошло два года, и в Windows 7 переселилась еще одна технология, связанная с хранилищем компонентов.
[+] Сегодня в программе
Возвращаясь к напечатанному
В Windows Vista система обслуживания претерпела революционные изменения, после чего Microsoft продолжает ее тюнинг с выходом каждой новой ОС. Однако лишь в Windows 8 появилось встроенное восстановление поврежденных компонентов. Это был большой прорыв по сравнению с Windows 7, для которой нужно было скачивать CheckSUR со всеми вытекающими недостатками.
Для понимания ситуации я настоятельно рекомендую вам прочесть статью Как исправить ошибки при установке обновлений Windows с помощью встроенного восстановления компонентов.
Из нее вы узнаете:
- основы системы обслуживания Windows
- действия для восстановления компонентов в Windows 8+
- разницу между старым CheckSUR в Windows 7 и встроенным восстановлением в Windows 8+
Microsoft опубликовала статью базы знаний KB2966583, из которой можно скачать пакет обновления. После его установки и перезагрузки Windows 7 получает фактически такую же возможность восстановления компонентов, как Windows 8+.
Как и в более новых ОС, восстановление реализовано с помощью DISM. Приведенная ниже команда запускает процесс проверки хранилища и восстановления поврежденных компонентов.
DISM /Online /Cleanup-Image /ScanHealth
Однако в Windows 7 есть ряд особенностей:
- здесь нет ключей /CheckHealth и /RestoreHealth, и всю работу выполняет ключ /ScanHealth
- команду можно выполнять только на работающей системе, т.е. восстановление отключенных образов не реализовано
- появилась возможность проверки и восстановления компонентов Internet Explorer, которой не было в старом CheckSUR
Результат работы команды нужно смотреть в журнале, как и прежде сохраняемом по адресу \Windows\logs\CBS\checksur.log
================================= Checking System Update Readiness. Binary Version 6.1.7601.18489 2015-07-27 12:32 Checking Windows Servicing Packages Checking Package Manifests and Catalogs Checking Package Watchlist Checking Component Watchlist Checking Packages Checking Component Store Summary: Seconds executed: 149 No errors detected
У меня на ВМ повреждений не обнаружилось, но вы можете проверить у себя.
В статье базы знаний отдельно упоминается возможность создать запланированное задание для запуска команды. Однако учтите, что для запуска DISM нужны права администратора, т.е. задание не отработает под обычной учетной записью.
Дискуссия и опрос
Если у вас есть вопросы или комментарии по теме восстановления компонентов, не стесняйтесь озвучивать их в обсуждении. Пожалуйста, не публикуйте лог checksur в тексте комментария — есть PasteBin.
Впрочем, я думаю, что их будет немного, поэтому хочу развернуть дискуссию в другую плоскость. До официального выпуска Windows 10 осталась всего пара дней. Для инсайдеров и энтузиастов там никаких сюрпризов нет – мы следим за ходом разработки ОС уже восемь месяцев. Понятно, что практически все обладатели Windows 8.1 обновятся до Windows 10.
Поэтому меня особенно интересует, как много людей готовы перейти на Windows 10 с Windows7 и более ранних ОС.
Я уже проводил опрос на тему скорости обновления до Windows 10, но там не было расклада по вашей текущей системе, и сейчас мы его увидим. Если Windows 10 IP является вашей основной текущей системой, укажите ту, которая была установлена до нее.
В комментариях напишите, почему вы перейдете или не перейдете 1 на Windows 10! Не забудьте указать, как долго и каким образом вы пользовались предварительной версией Windows 10.
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business Windows Vista Business 64-bit Edition Windows Vista Enterprise Windows Vista Ultimate Windows 10 Еще…Меньше
Если некоторые функции Windows не работают или Windows завершает работу, используйте средство проверки системных файлов для сканирования Windows и восстановления файлов.
Несмотря на то, что приведенные ниже шаги могут показаться сложными на первом этапе, просто выполните их по порядку, и мы попробуем помочь вам.
Запуск средства проверки системных файлов (SFC.exe)
выполнив указанные ниже действия.
-
Откройте командную строку с повышенными привилегиями. Для этого выполните указанные ниже действия, в зависимости от версии операционной системы:
-
Пользователям Windows 10, Windows 8.1 или Windows 8 перед запуском средства проверки системных файлов нужно запустить систему обслуживания образов развертывания и управления ими (DISM). (Если на вашем компьютере установлена система Windows 7 или Windows Vista, перейдите сразу к шагу 3.)
Введите следующую команду и нажмите клавишу ВВОД. Выполнение команды может занять несколько минут.
DISM.exe /Online /Cleanup-image /Restorehealth
Важно! При запуске этой команды DISM обращается к Центру обновления Windows, чтобы получить файлы для устранения повреждений. Но если поврежден клиент Центра обновления Windows, используйте работающий экземпляр Windows в качестве источника восстановления либо параллельную папку Windows из сетевого расположения или со съемного носителя, например DVD-диска Windows, в качестве источника файлов. Для этого введите в командной строке такую команду:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
Примечание. Вместо заполнителя C:\RepairSource\Windows укажите расположение вашего источника восстановления. Дополнительные сведения об использовании средства DISM для восстановления Windows см. в статье Восстановление образа Windows.
-
Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:
sfc /scannow
Команда sfc /scannow проверит все защищенные системные файлы и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache.
Заполнитель %WinDir% представляет собой папку операционной системы Windows. Например, C:\Windows.
Примечание. Не закрывайте это окно командной строки, пока проверка не завершится на 100 %. Результаты проверки будут показаны после завершения данного процесса.
-
После завершения процесса проверки на экране может появиться одно из приведенных ниже сообщений:
-
Защита ресурсов Windows не обнаружила нарушений целостности.
Это значит, что отсутствующие и поврежденные системные файлы не обнаружены. -
Защита ресурсов Windows не может выполнить запрошенную операцию.
Для устранения этой проблемы выполните сканирование с помощью средства проверки системных файлов в безопасном режиме, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%\WinSxS\Temp. -
Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.
Для просмотра подробных сведений о сканировании и восстановлении системных файлов перейдите к разделу Как просмотреть подробные сведения процесса работы средства проверки системных файлов. -
Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%\Logs\CBS\CBS.log.
Для восстановления поврежденных файлов вручную просмотрите подробные сведения процесса работы средства проверки системных файлов, чтобы найти поврежденный файл, а затем вручную заменить поврежденный файл гарантировано работоспособной копией.
-
Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Для этого нажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. При получении запроса на ввод пароля администратора или подтверждения введите пароль или нажмите кнопку Разрешить.
Дополнительная информация
Просмотр подробных сведений о процессе работы средства проверки системных файлов.
Чтобы ознакомиться с подробными сведениями, включенными в файл CBS.Log, вы можете скопировать сведения в файл Sfcdetails.txt с помощью команды Findstr, а затем просмотреть их в этом файле. Для этого выполните указанные ниже действия.
-
Откройте командную строку с повышенными привилегиями, как это описано на шаге 1.
-
Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
Примечание. В файле Sfcdetails.txt содержатся сведения о каждом запуске средства проверки системных файлов на компьютере. Он также содержит информацию о файлах, которые не были исправлены средством проверки системных файлов. Проверьте дату и время записей, чтобы определить проблемные файлы, обнаруженные при последнем запуске средства проверки системных файлов.
-
Откройте файл Sfcdetails.txt на рабочем столе.
-
В файле Sfcdetails.txt используется следующий формат:
Сведения о дате и времени SFC
В следующем примере файла журнала содержится запись для одного файла, который не удалось исправить:2007-01-12 12:10:42, Info CSI 00000008 [SR] Cannot
repair member file [l:34{17}]»Accessibility.dll» of Accessibility, Version =
6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral,
VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type
neutral, TypeName neutral, PublicKey neutral in the store, file is missing
Как вручную заменить поврежденный системный файл гарантированно работоспособной копией файла.
После определения, какой системный файл поврежден и не может быть восстановлен, с помощью подробных сведений в файле Sfcdetails.txt, выясните расположение поврежденного файла, затем вручную замените поврежденный файл его гарантировано работоспособной копией. Для этого выполните указанные ниже действия.
Примечание. Гарантировано работоспособную копию системного файла можно взять с другого компьютера, на котором установлена такая же, как на вашем компьютере версия Windows. Чтобы убедиться в работоспособности системного файла, который вы планируете скопировать на другом компьютере, можно провести процесс проверки средством проверки системных файлов.
-
Распространите на поврежденный системный файл права собственности администратора. Для этого скопируйте, а затем вставьте (или введите) в командную строку с повышенными привилегиями приведенную ниже команду, затем нажмите клавишу ВВОД:
takeown /f Путь_и_имя_файла
Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите takeown /f C:\windows\system32\jscript.dll.
-
Предоставьте администраторам полный доступ к поврежденному системному файлу. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:
icacls Путь_и_имя_файла /GRANT ADMINISTRATORS:F
Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите icacls C:\windows\system32\jscript.dll /grant administrators:F. -
Замените поврежденный системный файл гарантировано работоспособной копией файла. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:
Copy Исходный_файл Расположение
Примечание. Заполнитель Исходный_файл представляет собой путь и имя гарантировано работоспособной копии файла на вашем компьютере, а заполнитель Расположение представляет собой путь и имя поврежденного файла. Например, введите copy E:\temp\jscript.dll C:\windows\system32\jscript.dll.
Если описанные выше действия не помогли, возможно, потребуется переустановить Windows. Дополнительные сведения см . в разделе Варианты восстановления Windows10.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM. Эти две утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
В этой статье мы рассмотрим, как использовать команды
sfc /scannow
,
DISM /Online /Cleanup-Image /RestoreHealth
или
Repair-WindowsImage -Online -RestoreHealth
для восстановления образа и системных фалов в Windows 10/11 и Windows Server 2022/2019/2016.
Содержание:
- SFC /scannow: восстановление системных файлов Windows
- Проверка целостности хранилища компонентов Windows с помощью DISM
- Восстановление образа Windows с помощью DISM /RestoreHealth
- DISM /Source: восстановление образа Windows с установочного диска
- Восстановление образа Windows с помощью PowerShell
- DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается
SFC /scannow: восстановление системных файлов Windows
Перед тем, как восстанавливать образ Windows с помощью DISM, рекомендуется сначала попробовать проверить целостность системных файлов с помощью утилиты SFC (System File Checker). Команда
sfc /scannow
позволяет проверить целостность системных файлов Windows. Если какие-то системные файлы отсутствуют или повреждены, утилита SFC попробует восстановить их оригинальные копии из хранилища системных компонентов Windows (каталог C:\Windows\WinSxS).
Утилита SFC записывает все свои действия в лог-файл
windir%\logs\cbs\cbs.log
. Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"
Если команда sfc /scannow возвращает ошибку “
Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them
”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.
В этом случае вам нужно попробовать восстановить хранилище компонентов вашего образа Windows с помощью DISM.
После восстановления образа вы можете повторно использовать утилиту SFC для восстановления системных файлов.
Проверка целостности хранилища компонентов Windows с помощью DISM
Утилита DISM (Deployment Image Servicing and Management) доступна во всех версиях Windows, начиная с Vista.
Для сканирования образа Windows на наличие ошибок и их исправления используется параметр DISM /Cleanup-image. Команды DISM нужно запускать из командной строки, с правами администратора.
Чтобы проверить наличие признака повреждения хранилища компонентов в образе Windows (флаг CBS), выполните команду (не применимо к Windows 7/Server 2008R2):
DISM /Online /Cleanup-Image /CheckHealth
Эта команда не выполняет полное сканирование хранилища компонентов. Проверяются лишь записанные ранее маркеры повреждений и события в журнале Windows. Изменения в образ не вносятся. Команда проверит, не помечен ли ваш образ Windows как поврежденный и возможно ли исправить его.
В этом примере команда вернула, что с образом все хорошо:
No component store corruption detected. The operation completed successfully.
Чтобы выполнить полное сканирование хранилища компонентов на наличие повреждений в хранилище компонентов Windows, запустите команду:
DISM /Online /Cleanup-Image /ScanHealth
Команда проверки образа Windows может выполняться довольно долго (от 10 до 30 минут). И вернет один из трех результатов:
- No component store corruption detected – DISM не обнаружил повреждения в хранилище компонентов;
- The component store is repairable – DISM обнаружил ошибки в хранилище компонентов и может исправить их;
- The component store is not repairable – DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстанавливать образ Windows из резервной копии, сбрасывать или полностью переустанавливать вашу копию Windows.
В Windows 7 и Windows Server 2008 R2 для использования параметра DISM /ScanHealth нужно установить отдельное обновление KB2966583. Иначе при запуске DISM будет появляться “
Ошибка 87. Параметр ScanHealth не распознан в этом контексте
”.
Команда DISM /ScanHealth может вернуть ошибки:
- Ошибка: 1726. Сбой при удалённом вызове процедуры;
- Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows поврежден и его нужно восстановить.
Восстановление образа Windows с помощью DISM /RestoreHealth
Чтобы исправить повреждения в хранилище компонентов образа Windows нужно использовать опцию RestoreHealth команды DISM. Эта опция позволит исправить найденные в образе ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов из центра обновлений Windows (на компьютере должен быть доступ в Интернет). Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
В Windows 7/2008 R2 эта команда выглядит по другому:
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления компонентов может быть довольно длительным (30 минут или более). DISM автоматически загрузит недостающие или поврежденные файлы образа с серверов Windows Update.
Восстановление выполнено успешно. Операция успешно завершена.
The restore operation completed successfully.
DISM /Source: восстановление образа Windows с установочного диска
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена/повреждена служба Windows Update (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов появятся ошибки:
- 0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
- Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
- Ошибка:0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
<
Во всех этих случаях вы можете использовать альтернативные средства получения оригинальных файлов хранилища компонентов. Это может быть:
- Установочный диск/флешка/iso образ Windows
- Смонтированный файл wim
- Папка \sources\SxS с установочного диска
- Файл install.wim с установочным образом Windows
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов системы. Предположим, вы смонтировали установочный ISO образ Windows 11 в виртуальный привод D:.
Примечание. Для восстановления поврежденных файлов в хранилище компонентов из локального источника версия и редакция Windows в образе должна полностью совпадать с вашей.
С помощью следующей PowerShell команды проверьте, какая версия Windows установлена на вашем компьютере:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
Выведите список доступных версий Windows в установочном образе:
Get-WindowsImage -ImagePath "D:\sources\install.wim"
В нашем случае образ Windows 11 Pro в образе install.wim имеет
ImageIndex = 6
.
Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):
DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6 /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6 /limitaccess
Если при запуске появляется
- Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образWindows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT.
Ошибка DISM Error 87: проверьте правильно написания команды, убедитесь что вы используете версию DISM для вашей версии Windows (обычно бывает при загрузке через WinPE/WinRE).
Утилита DISM пишет подробный журнал сканирования и восстановления системных файлов в файл
C:\Windows\Logs\DISM\dism.log
.
После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов
sfc /scannow
. Скорее всего она успешно восстановит поврежденные файлы:
Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила.
Windows Resource Protection found corrupt files and successfully repaired them.
Если все системные файлы целы, появится сообщение:
Windows Resource Protection did not find any integrity violations
Восстановление образа Windows с помощью PowerShell
В версии PowerShell в Windows 10/11 и Windows Server 2022/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10 (здесь также нужно указать индекс версии Windows в wim файле в качестве источника восстановления):
Repair-WindowsImage -Online -RestoreHealth -Source D:\sources\install.wim:5 –LimitAccess
DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается
Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.
- Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 10/11 с помощью Media Creation Tool) и на экране начала установки нажмите
Shift + F10
- Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду
diskpart
->
list vol
(в моем примере диску, на котором установлена Windows присвоена буква C:\, эту букву я буду использовать в следующих командах); - Проверим системные файлы и исправим поврежденные файлы командой:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:6
- Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:\, на котором нужно создать пустой каталог:
mkdir f:\scratch
и запустить восстановление хранилища компонентов командой:
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Совет. Другие полезные команды DISM, которые должен знать администратор:
-
DISM /Add-Package
– установка MSU/CAB файлов обновлений, интеграция обновлений в образ Windows; -
DISM /Get-Drivers
– получение списка установленных драйверов; -
DISM /Add-Driver
– добавление драйверов в образ; -
DISM /Export-Driver
– экспорт установленных драйверов Windows; -
DISM /Add-Capability
– установка дополнительных компонентов Windows через Features on Demand (например, RSAT, сервер OpenSSH или ssh клиент Windows; -
DISM /Enable-Features
и
/Disable-Features
– включение и отключение компонентов Windows (например, протокола SMBv1), -
DISM /online /Cleanup-Image /StartComponentCleanup
– очистка хранилища компонентов и удаление старых версий компонентов (папки WinSxS); -
DISM /set-edition
– конвертирование ознакомительной редакции Windows на полную без переустановки.
Содержание:
- 1 Использование SFC
- 2 Утилита DISM
- 3 Восстановление поврежденных файлов в ручном режиме
- 4 Использование сторонних приложений
- 5 Прочие способы
Операционная система Windows во многом подобна живому организму, из чего следует, что порой даже самое малое повреждение или удаление одного или нескольких её файлов способно привести к появлению определённых проблем. Причиной повреждения могут стать действия вирусов, сбои в работе программного обеспечения, внезапное отключение электропитания, ошибки при редактировании системных библиотек и так далее.
В результате пользователь может сталкиваться с различными ошибками при запуске программ или невозможностью их установки, проблемами с системными настройками и даже синими «экранами смерти». Поэтому при диагностике неполадок, первым делом обычно рекомендуется выполнить проверку целостности системных файлов Windows 7/10. На данный момент существует два основных метода проверки и восстановления системных файлов – с помощью штатных утилит SFC и DISM, запускаемых через командную строку или консоль PowerShell.
Второй инструмент является более мощным и обычно применяется, когда SFC не способна справиться с задачей или её запуск завершается ошибкой. Существуют также предназначенные для этих целей сторонние программы, но они по большей части дублируют функционал SFC и DISM, обеспечивая более удобный к ним доступ посредством использования графического интерфейса. В критических случаях, когда ни SFC, ни DISM не помогают, применяется восстановление системы или отдельных её компонентов с помощью заранее созданной резервной копии.
Использование SFC
Утилита SFC или иначе System Files Checker присутствует во всех версиях Windows, начиная с 2000, и предназначается для проверки состояния и восстановления системных файлов. SFC может принимать несколько аргументов, но в данном случае нас интересует только один. Проверка и восстановление системных файлов Windows 7/10 с её помощью производится следующим образом. Запустите от имени администратора командную строку или консоль PowerShell и выполните такую команду:
sfc /scannow
Процедура проверки займёт некоторое время. Если по завершении будут найдены ошибки, утилита предложит выполнить восстановление повреждённых файлов в процессе перезагрузки компьютера. Если SFC пишет, что не может восстановить файлы, убедитесь, что у вас отключены функции шифрования EFS и Bitlocker, загрузитесь в безопасном режиме, после чего повторите процедуру сканирования.
Для обеспечения максимального доступа к файловой системе процедуру восстановления поврежденных системных файлов Windows можно выполнить в загрузочной среде. Попасть в среду восстановления можно несколькими способами, но предлагаем наиболее универсальный. Загрузите компьютер с установочного диска Windows, а когда на экране появится окно мастера установки, нажмите Shift + F10. Так как в загрузочной среде буквы дисков отличаются, вам нужно определить букву системного раздела. Выполняем такие команды:
diskpart
list volume
На MBR-дисках системный раздел, скорее всего, будет иметь букву D, а раздел «Зарезервировано системой» – букву C. Зная буквенные метки томов, командой exit закрываем Diskpart и производим проверку:
sfc /scannow /offbootdir=C:/ /offwindir=D:/
По завершении сканирования Windows перезагрузится в обычном режиме.
Утилита DISM
Как проверить целостность системных файлов Windows 7/10, если описанный выше способ не помогает или при выполнении команд выдаются разные ошибки? В этом случае можно попробовать прибегнуть к более мощному средству – утилите DISM. Запускаем командную строку с правами администратора и выполняем такую команду:
dism.exe /online /cleanup-image /scanhealth
Если утилита сообщит, что хранилище компонентов подлежит восстановлению, восстанавливаем его следующей командой:
dism.exe /online /cleanup-image /restorehealth
Если в процессе выполнения команд будут выдаваться ошибки, попробуйте восстановить хранилище компонентов с помощью запущенной с повышенными правами PowerShell, выполнив команду Repair-WindowsImage -Online -RestoreHealth при подключении компьютера к интернету.
После проделанных процедур можно произвести проверку sfc /scannow и посмотреть, не будут ли повторяться ошибки. Если да, проверьте, включена ли у вас служба «Установщик модулей Windows», а вообще, сделать это желательно заранее.
Восстановление поврежденных файлов в ручном режиме
Данный способ применяется при невозможности восстановления поврежденных файлов SFC, но для его использования вам в любом случае понадобится точно такая же операционная система, установленная на другом компьютере или виртуальной машине либо резервная копия. Чтобы определить, какие именно файлы нужно восстановить, выполните в командной строке команду:
findstr /c: “[SR]” %windir%/logs/cbs/cbs.log >”D:/sfc.log”
Информация о повреждённых файлах будут сохранена в лог-файл, в нашем случае это sfc.log на диск D. Содержимое файла может быть достаточно объёмным, ищите в нем блоки с ключевой фразой «Cannot repair» (не удалось восстановить) с соответствующими датой и временем сканирования.
На приложенном скриншоте видно, что SFC не смогла восстановить файл Asseccbility.dll. В этом же логе должен быть указан путь к неисправимому файлу. Скопируйте оригинальный файл с другого компьютера и замените им вручную повреждённый. На данном этапе нередко приходится сталкиваться с проблемами, так как файл может оказаться либо используемым системными процессами, либо пользователь не будет иметь на него права.
Для получения прав и замены таких файлов можно использовать штатные консольные утилиты Takeown с параметром /f и icacls с параметром /grant administrators:f, но есть более простой и универсальный способ – воспользоваться любым «живым диском» со встроенный файловым менеджером, например, Dr.Web LiveDisk. Если компьютер загружается, всё ещё проще, достаточно скопировать оригинальные файлы в любую удобную вам папку на его жёстком диске.
Отредактировать загрузочный образ ISO того же Dr.Web LiveDisk можно в программе UltraISO, создав в нём папку и скопировав в него windows-файлы.
Теперь рассмотрим, как восстановить системные файлы Windows 7/10 с помощью такого диска. Загрузившись с носителя, найдите свою папку с файлами (в Dr.Web LiveDisk точкой монтирования служит /cdrom), скопируйте оригинальные файлы в буфер, перейдите в целевой каталог папки win и замените ими повреждённые.
Если оригинальные файлы лежат на диске Windows, ищите их в расположении win, в том разделе, в который вы их поместили. Данный способ удобен тем, что снимает все ограничения файловой системы Windows, позволяя получать к ней монопольный доступ.
Использование сторонних приложений
Разработка специальных программ, которые позволяли бы восстанавливать повреждённые и удалённые системные файлы, не имеет смысла, так как весь необходимый для этого функционал имеется в самой системе. Однако существуют инструменты, упрощающие доступ к штатным средствам с помощью удобного графического интерфейса. Таковым, к примеру, является Microsoft DaRT – загрузочный диск, представляющий собой набор средств администрирования, в который также входит модуль сканирования и восстановления системных файлов Windows. Порядок действий такой проверки представлен на скриншотах ниже.
Для более удобного запуска SFC служат также программы Windows Repair и Glary Utilities, только в отличие от Microsoft DaRT, стартуют они из рабочей системы.
В Windows Repair для запуска проверки необходимо перейти в раздел Pre-Repair Steps, крикнуть по вкладке Step 4 (Optional)» и нажать кнопку «Check».
В Glary Utilities переходим на вкладку «Модули», в меню слева выбираем «Сервис» и жмем «Восстановление системных файлов». В обоих случаях будет запущена стандартная консольная утилита SFC.
Прочие способы
Что касается вопроса, как восстановить полностью удаленные системные файлы, тут всё и так должно быть ясно. Если позволяют размеры диска, регулярно создавайте резервные копии системного раздела или, по крайней мере, не отключайте защиту системы, чтобы в случае чего иметь возможность выполнить откат к предыдущей контрольной точке.
И последнее, на что хотелось бы обратить внимание. Если вы скачали и установили пользовательскую сборку, будьте готовы к тому, что SFC более чем наверняка найдёт в ней поврежденные файлы. Причина очень проста – сборщики очень часто модифицируют свои образы, заменяя, к примеру, оригинальные иконки в библиотеках и прочее. Поэтому перед тем, как производить восстановление оригинальных файлов, подумайте, действительно ли это вам нужно, если в работе системы не наблюдается неполадок.