Applies ToWindows 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 11
Если критически важные системные файлы Windows отсутствуют или повреждены, некоторые функции Windows могут перестать работать правильно или Windows может перестать отвечать на запросы. В этом случае можно использовать средство обслуживания образов развертывания и управления ими (DISM) и средство проверки системных файлов (SFC), чтобы проверить системные файлы и восстановить все поврежденные или отсутствующие файлы.
Шаг 1. Запуск DISM
DISM предоставляет файлы, необходимые для восстановления поврежденных файлов. Перед запуском средства проверки системных файлов необходимо запустить DISM. Для этого сделайте следующее:
-
Откройте командную строку с повышенными привилегиями.
-
Введите cmd в поле Поиск .
-
В результатах поиска щелкните правой кнопкой мыши командную строку и выберите Запуск от имени администратора.
-
Если появится запрос на подтверждение или пароль администратора, введите пароль или нажмите кнопку Разрешить.
-
-
В окне командной строки введите следующую команду и нажмите клавишу ВВОД. Выполнение командной операции может занять несколько минут.
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.
Шаг 2. Запуск средства проверки системных файлов
В окне командной строки введите следующую команду и нажмите клавишу ВВОД:
sfc /scannow
Предупреждение: Не закрывайте это окно командной строки, пока проверка не завершится на 100 %.
Команда sfc /scannow сканирует все защищенные системные файлы и заменяет поврежденные файлы кэшированной копией. Результаты проверки будут показаны после завершения данного процесса. Вы можете получить одно из следующих сообщений:
Сообщение о результатах сканирования |
Соответствующее действие |
---|---|
Защита ресурсов Windows не обнаружила нарушений целостности. |
У вас нет отсутствующих или поврежденных системных файлов. |
Защита ресурсов Windows не может выполнить запрошенную операцию. |
Чтобы устранить эту проблему, выполните проверку системных файлов в безопасном режиме. Убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%\WinSxS\Temp. Заполнитель %WinDir% представляет папку операционной системы Windows, например C:\Windows. |
Защита ресурсов Windows обнаружила поврежденные файлы и успешно исправила их. |
Операция прошла успешно. Подробные сведения о проверке и восстановлении системных файлов см. в статье Просмотр сведений о процессе проверки системных файлов. |
Защита ресурсов Windows обнаружила поврежденные файлы, но не смогла исправить некоторые из них. |
Для восстановления поврежденных файлов вручную просмотрите подробные сведения процесса работы средства проверки системных файлов, чтобы найти поврежденный файл, а затем вручную заменить поврежденный файл гарантировано работоспособной копией. |
Дополнительная информация
Просмотр сведений, включенных в CBS. Чтобы скопировать данные из журнала в текстовый файл на рабочем столе, выполните следующие действия:
-
Откройте командную строку с повышенными привилегиями, как описано ранее.
-
В окне командной строки введите следующую команду (в одной строке) и нажмите клавишу ВВОД:
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] Не удается восстановить файл-член [l:34{17}]»Accessibility.dll» специальных возможностей, Version = 6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type neutral, TypeName neutral, PublicKey нейтрализуется в хранилище, файл отсутствует
После просмотра файла журнала, чтобы определить, какой системный файл был поврежден и не удалось исправить, найдите расположение поврежденного файла, а затем вручную замените поврежденный файл известной хорошей копией файла.
Для этого следуйте приведенным ниже инструкциям. В следующих командах заполнитель <Path_And_File_Name> представляет путь и имя файла поврежденного файла.
Примечание: Возможно, вы сможете получить известную хорошую копию системного файла с другого компьютера под управлением той же версии Windows, что и ваш компьютер. Вы можете выполнить процесс проверки системных файлов на этом компьютере, чтобы убедиться, что системный файл, который вы планируете скопировать, является хорошей копией.
Шаг 1. Передача прав администратора на поврежденный системный файл.
Введите следующую команду в командной строке с повышенными привилегиями и нажмите клавишу ВВОД:
takeown /f <Path_And_File_Name>
Пример:
takeown /f C:\windows\system32\jscript.dll.
Шаг 2. Предоставьте администраторам полный доступ к поврежденного системного файла.
Введите следующую команду и нажмите клавишу ВВОД:
icacls <Path_And_File_Name> /grant administrators:F
Пример:
icacls C:\windows\system32\jscript.dll /grant administrators:F
Шаг 3. Замените поврежденный системный файл известной хорошей копией файла.
Введите следующую команду и нажмите клавишу ВВОД:
Копирование целевого> <Source_File> <
В приведенной выше команде замените заполнитель <Source_File> путем и именем файла известной хорошей копии файла на компьютере, а заполнитель ><назначения — путем и именем файла поврежденного файла.
Пример:
копирование E:\temp\jscript.dll C:\windows\system32\jscript.dll
Если описанные выше действия не поработают, может потребоваться переустановить Windows. Дополнительные сведения см. в разделе Параметры восстановления в Windows.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в 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 на полную без переустановки.
Внимание: Если у вас вышла из строя ОС, или тем более серверная ОС, прежде чем приступить к любым процедурам по восстановлению, сделайте резервную копию текущего состояния
Да, сделать бэкап неработоспособной системы.
Но, гипотетически, системы имеющей на текущий момент только одну проблему.
А сколько, в процессе восстановления, вы можете привнести неисправностей, в итак нерабочую систему, неизвестно никому. Так же как и не удастся проследить цепочку примененных вами действий в стрессовой ситуации.
Так что в первую очередь делаем бэкап, используя например Acronis True Image.
Занимаемся вредительством
Если у вас нет проблем с операционкой, но вы хотели бы поупражняться в восстановлении системных файлов, попробуйте выполнить следующее:
- Переходим в папку System32
cd C:\Windows\System32
По умолчанию владельцем файлов в папке System32 является служебный пользователь TrustedInstaller.
Что бы беспрепятственно удалить из системной папки любые(незадействованные в данный момент) файлы, вам нужно назначить себя владельцем и выдать своему пользователю полные права на файл.
- Владельца можно изменить как из GUI, так и через CMD:
# Назначаем себя владельцем takeown /f C:\windows\system32\WF.msc # Даем себе полные права на файл icacls C:\windows\system32\WF.msc /GRANT ADMINISTRATORS:F
- Удаляем файл
del C:\windows\system32\WF.msc
Файл удалили. Теперь можно приступать собственно к восстановлению.
Восстановление в автоматическом режиме
SFC (System File Checker)
Пробуем выполнить команду
sfc \scannow
Дождитесь сообщения:
Программа защиты ресурсов windows обнаружила поврежденные файлы и успешно их восстановила
Так же можно запустить проверку только для одного конкретного файла:
sfc /scanfile=C:\windows\system32\WF.msc
Если команда не выполняется, и выдает ошибку на подобии:
Защита ресурсов Windows не может выполнить запрошенную операцию
то мы хотя бы может просмотреть какие файлы повреждены, вручную открыв лог последнего сканирования:
С:\Windows\Logs\CBS\CBS.log
Так же, для упрощения поиска ошибок в этом файле лога, можно воспользоваться следующей командой:
find "error" \Windows\Logs\CBS\CBS.log
Восстановление в ручном режиме
В случае если автоматическое восстановление окончилось ошибкой, можно попробовать заменить поврежденные файлы, о которых мы узнали из лога проверки SFC, файлами из заведомо рабочей системы, аналогичной версии и ревизии Windows.
При выполнении команды sfc /scannow из CMD в рабочей системе некоторые файлы будут задействованы и поэтому не смогут быть обработаны. По этой причине лучше перейти в среду восстановления и предпринимать дальнейшие действия по восстановлению уже оттуда.
Для перехода к среде восстановления нужно:
1) Вставить диск\флешку с Windows той же версии, что и восстанавливаемая система
2) Выполнить перезагрузку
3) Запуститься с диска и открыть командную строку
После открытия командной строки первым делом определим буквы разделов:
wmic logicaldisk list brief
Конечно для этого можно использовать diskpart, но с wmi мы уложимся в меньшее количество команд.
Да и для общего развития с wmi полезно поработать.
Оффлайн восстановление системы
Если вы проводите восстановление из среды восстановления или LiveCD(USB)
sfc /scannow /offwindir=d:\windows /offbootdir=d:\
/offwindir — переключатель для восстановления файлов внешней системы. Нужен что бы указать расположение папки Windows
/offbootdir — переключатель должен указывать на загрузочный раздел
DISM
Утилита DISM поможет в некоторых случаях, когда SFC не может восстановить системные файлы.
Ведь SFC должна откуда то брать восстанавливаемые файлы.
Таким местом является папка C:\Windows\WinSxS
Но если отсутствует или повреждено и это хранилище, то необходимо будет сначала восстановить его.
# Проверка целостности хранилища dism /Online /Cleanup-Image /ScanHealth
С помощью этой команды можно убедиться что файлы хранилища действительно повреждены.
# Заменить файлы на целостные, без проверки dism /Online /Cleanup-Image /RestoreHealth
Если выполнить эту команду в среде окружения Windows, то недостающие файлы будут загружены из интернета или сервера WSUS.
В случае, если команда восстановления хранилища компонентов не работает, по той или иной причине,
нужно указать файл install.wim или install.esd со смонтированного ISO образа Windows
# Получить разрядность и версию системы, в которой мы работаем wmic os get OSArchitecture,caption,Version /format:list
# Узнать индекс доступных ревизий в файле install.wim dism /get-wiminfo /wimfile:P:\x64\sources\install.esd
На основе полученной информации указываем для утилиты DISM нужный индекс.
dism /Online /Cleanup-Image /RestoreHealth /Source:wim:P:\Source\Install.wim:4 /limitaccess
Через двоеточие здесь нужно указать индекс ревизии Windows, под которым в используемом образе располагается аналогичная вашей система.
Ошибка 0x800f081f
При восстановлении вы можете столкнулся с ошибкой 0x800f081f
Что бы ее обойти, вы можете попробовать распаковать содержимое образа в отдельную папку, и запускать восстановление, используя в виде источника, уже ее.
# Создаем каталог куда будут распакованы файлы из образа mkdir C:\WIM # Монтируем образ в папку Dism /Mount-Wim /wimfile:P:\x64\sources\install.esd /index:4 /MountDir:G:\WIM /ReadOnly # Восстанавливаем хранилище, используя распакованный образ Dism /Online /Cleanup-Image /RestoreHealth /Source:C:\WIM\Windows /LimitAccess # Демонтируем образ Dism /Unmount-Wim /MountDir:C:\WIM /Discard # Удаляем папку с файлами rmdir C:\WIM
Восстановление хранилища на внешнем устройстве
Проверяем ревизию установленой системы
DISM /Image:D:\ /get-currentedition
Выполняем восстановление хранилища
dism /Image:D:\ /cleanup-image /restorehealth
или непосредственно указав источник
dism /Image:D:\ /wimfile:P:\x64\sources\install.esd /cleanup-image /restorehealth
После всех проделанных операций повторяем команду на восстановление системных файлов в надежде увидеть положительный результат:
sfc /scannow
Если в конце концов все это не помогло, то с большой вероятностью следующим вариантом будет переустановка ОС
Описание основных ключей, которые нам понадобятся
/Online — будут восстановлены файлы в папке WinSxS для системы из под которой запущена консоль CMD
/Cleanup-Image — Согласно Help: «Выполняет в образе операции очистки и восстановления». Но если по простому, то данный параметр нам необходим для того, что бы мы могли использовать зависимые от него параметры:
{/CheckHealth | /ScanHealth | /RestoreHealth}.
Т.о. если вызвать /RestoreHealth без /Cleanup-Image, мы просто увидим ошибку «Неизвестный параметр restorehealth»
/Image — параметр, указываемый при необходимости восстановить хранилище внешней системы. То есть расположенной на любом носителе.
/Source — если задан этот параметр, DISM сначала выполняет поиск в указанных расположениях.
Можно использовать несколько аргументов /Source
/LimitAccess — сообщает DISM, что не нужно выполнять поиск исходных файлов в Центре обновления Windows или в службах обновления Windows Server
Альтернативный вариант
Можно достать файлы из образа, без монтирования средствами DISM, с помощью 7Zip.
Используя полученные файлы, мы можем заменить ими содержимое папки 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. Надеюсь предложенные способы помогут вам.
Все способы:
- Варианты восстановления системных файлов в Windows 10
- Способ 1: Проверка и восстановление целостности системных файлов
- Способ 2: Запуск точки восстановления
- Способ 3: Сброс Windows
- Вопросы и ответы: 6
Нередки случаи, когда Windows 10 начинает работать некорректно, с ошибками и сбоями. Часто это происходит из-за вмешательства пользователя в системные файлы, но иногда неполадки случаются и без его ведома. Проявляется это порой не сразу, а при попытке запуска какого-то инструмента, напрямую или косвенно отвечающего за то действие, которое хотел выполнить юзер. К счастью, есть сразу несколько способов того, как вернуть работоспособность операционной системе.
Варианты восстановления системных файлов в Windows 10
Повреждения системных файлов происходят после попытки пользователя кастомизировать внешний вид ОС, удалить важные системные файлы или установки сомнительных программ, модифицирующих файлы Windows.
Варианты восстановления Виндовс 10 существуют разные, и отличаются они по сложности, а также по конечному результату. Так, в одних ситуациях на местах останутся все пользовательские файлы, а в других удалено будет все, а Windows будет чистой как изначально, но без ручной переустановки с флешки. Разберем их все, начиная с наиболее простых.
Способ 1: Проверка и восстановление целостности системных файлов
Когда появляются сообщения о повреждении системных файлов или различные ошибки, связанные с системными компонентами Windows, проще всего начать процедуру исправления их состояния через «Командную строку». Есть сразу два компонента, которые помогут вернуть работоспособность отдельным файлам или даже восстановить запуск самой Виндовс.
Инструмент SFC восстанавливает системные файлы, которые не защищены от изменения в данный момент. Он работает даже при наличии серьезных повреждений, из-за которых Виндовс даже не может загрузиться. Однако тут все же потребуется наличие флешки, с которой можно загрузиться просто чтобы перейти в режим восстановления.
В более сложных ситуациях, когда восстановить системные файлы не удается даже из резервного хранилища SFC, понадобится прибегнуть к его восстановлению. Это делается через инструмент DISM. Описание и принцип работы обеих команд описан в отдельной статье на нашем сайте.
Подробнее: Инструменты проверки целостности системных файлов в Windows 10
Способ 2: Запуск точки восстановления
Способ актуален, но с оговорками — только для тех, у кого восстановление системы уже было включено. Даже если вы самостоятельно не создавали никаких точек, но данная возможность у вас все же включена, это могли сделать другие программы или сама Windows.
При запуске этого стандартного инструмента не будут удалены никакие ваши пользовательские файлы типа игр, программ, документов. Однако все же в некоторые файлы будут внесены изменения, но вы сможете без труда узнать об этом, запустив окно с точками восстановления и нажав на кнопку «Поиск затрагиваемых программ».
Прочитать о том, как восстановить Виндовс через резервную точку, вы можете из материала по ссылке ниже.
Подробнее: Создание и использование точки восстановления в Windows 10
Способ 3: Сброс Windows
В начале статьи мы сказали о том, что в «десятке» есть несколько вариантов сброса его состояния. Благодаря этому произвести восстановление удастся в большинстве случаев, даже при невозможности запуска ОС. Чтобы не повторяться, мы сразу же предлагаем перейти к другой нашей статье, в которой мы обобщили все способы переустановки Win 10 и объяснили их преимущества и различия.
Подробнее: Способы переустановки операционной системы Windows 10
Мы рассмотрели способы восстановления системных файлов в Виндовс 10. Как вы видите, для удобства пользователя есть различные варианты того, как вернуть работоспособность операционной системе после возникновения неполадок. Если у вас по-прежнему остаются какие-либо вопросы, пишите свой комментарий.
Наша группа в TelegramПолезные советы и помощь