
Вы можете использовать SFC (Программа проверки системных файлов) и DISM (Обслуживание и управление образами развертывания) команды для проверки и восстановления целостности системных файлов и хранилища компонентов образа Windows (Windows Server). Эти инструменты могут быть чрезвычайно полезны, если ваша 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 /RestoreHealth: Исходные файлы не могут быть найдены
- Repair-WindowsImage: Восстановление хранилища компонентов образа Windows с помощью PowerShell
- Использование DISM в автономном режиме для восстановления образа Windows
SFC /ScanNow: Использование программы проверки системных файлов для восстановления системных файлов Windows
Рекомендуется использовать команду DISM для восстановления Windows после проверки целостности системных файлов с помощью инструмента SFC. На сайте sfc /scannow
сканирует защищенные системные файлы и, если они отсутствуют или повреждены, пытается восстановить их оригинальные копии в хранилище компонентов Windows (папка C:\Windows\WinSxS).
%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 (см. рисунок ниже).
В этом случае можно попытаться восстановить хранилище компонентов образа Windows с помощью команды DISM.exe
команду.
После восстановления образа Windows можно попробовать использовать SFC для восстановления системных файлов.
Проверка работоспособности хранилища компонентов Windows с помощью DISM
The DISM /Cleanup-Image /CheckHealth
Переключатель используется для сканирования образа Windows на наличие ошибок и их исправления. Команды DISM должны выполняться из поднятой командной строки.
Выполните следующую команду, чтобы проверить наличие флагов повреждения в хранилище компонентов образа Windows (не применимо для Windows 7/Server 2008R2). Эта команда проверяет флаг CBS установленный одним из процессов обслуживания системы.
DISM /Online /Cleanup-Image /CheckHealth
Эта команда не выполняет полное сканирование Хранилища компонентов. Команда только проверяет, отмечен ли образ Windows как поврежденный и можно ли его исправить. Никаких изменений в образ не вносится.
В этом примере команда подтвердила, что образ Windows 10 не содержит повреждений:
No component store corruption detected. The operation completed successfully.
Чтобы выполнить полное сканирование состояния магазина компонентов Windows, выполните команду:
DISM /Online /Cleanup-Image /ScanHealth
Команда для проверки образа Windows может занять довольно много времени (10-30 минут). И вернет один из трех результатов:
- Повреждений хранилища компонентов не обнаружено — DISM не обнаружил ошибок в хранилище компонентов;
- Хранилище компонентов поддается ремонту — DISM столкнулся с ошибками в хранилище компонентов и может их исправить;
- Хранилище компонентов не подлежит восстановлению — DISM не может исправить хранилище компонентов Windows (попробуйте использовать более новую версию DISM или вам придется восстановить образ Windows из резервной копии, сбросить настройки или полностью переустановить экземпляр Windows).
В некоторых случаях DISM /ScanHealth возвращает следующие ошибки:
- DISM Error 1726 — «Вызов удаленной процедуры не удался»;
- DISM Error 1910 — «Указанный экспортер объектов не найден».
Это определенно означает, что образ Windows поврежден и нуждается в восстановлении.
Восстановление образа Windows с помощью DISM /RestoreHealth
Чтобы исправить повреждения в магазине компонентов образа Windows, необходимо использовать команду RestoreHealth опция команды DISM. Эта опция позволит исправить ошибки, найденные в образе Windows, а также автоматически загрузить и заменить файлы поврежденных или отсутствующих компонентов оригинальными версиями файлов из Windows Update (компьютер должен иметь прямой доступ в Интернет). Выполните команду:
DISM /Online /Cleanup-Image /RestoreHealth
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления хранилища компонентов может занять довольно много времени (30 минут или более). DISM автоматически загрузит и заменит файлы поврежденных или отсутствующих компонентов оригинальными версиями файлов с серверов Windows Update.
Если восстановление прошло успешно, появится следующее сообщение:
The restore operation completed successfully.
DISM /RestoreHealth: Исходные файлы не могут быть найдены
Если ваш компьютер (сервер) не имеет прямого доступа в Интернет (находится за прокси-сервером или использует внутренний WSUS для получения обновлений безопасности и сборок) или служба Windows Update отключена/повреждена (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов возникают следующие ошибки:
- 0x800f0906 — Не удалось загрузить исходные файлы. Используйте параметр source, чтобы указать расположение файлов, необходимых для восстановления функции;
- 0x800f0950 — DISM не удалось. Операция не была выполнена;
- 0x800F081F — Не удалось найти исходные файлы. Используйте параметр «Источник», чтобы указать расположение файлов, необходимых для восстановления функции.
Во всех этих случаях вы можете использовать альтернативные способы получения исходных файлов Component Store. Это могут быть:
- Установочный диск/USB-флеш-накопитель/ISO-образ;
- Смонтированный файл wim/esd;
- Папка \sources\SxS с установочного диска;
- Файл install.wim (esd) с установочным образом Windows.
Вы можете указать WIM или ESD-файл с оригинальным установочным образом Windows, который будет использоваться в качестве источника для восстановления системных файлов. Предположим, в виртуальный привод установлен установочный ISO Windows 11 D:.
Проверьте, какая версия Windows установлена на вашем компьютере, с помощью следующей команды PowerShell:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
Список доступных редакций Windows в установочном wim-образе:
Get-WindowsImage -ImagePath "D:\sources\install.wim"
В нашем случае образ Windows 11 Pro в файле install.wim имеет ImageIndex = 6
.
Чтобы восстановить хранилище компонентов из локального WIM/ESD-файла с помощью локальных исходных файлов (без использования онлайн-сервисов Windows Update), выполните следующую команду (не забудьте указать индекс версии 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
- Ошибка: 50: DISM не поддерживает обслуживание Windows PE с параметром /Online — это означает, что DISM считает, что вы используете образ WinPE. Чтобы исправить это, удалите ключ реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT
; - DISM Ошибка 87: убедитесь, что команда DISM написана правильно, и убедитесь, что вы используете версию DISM для вашей версии Windows (обычно при загрузке в WinPE/ WinRE).
Журнал DISM о сканировании и восстановлении системных файлов можно найти здесь: C:\Windows\Logs\CBS.log
.
После восстановления хранилища компонентов можно запустить инструмент проверки системных файлов (sfc /scannow
). Вполне вероятно, что она сможет восстановить поврежденные или отсутствующие системные файлы (Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила).
Если SFC.exe не обнаружит повреждений системных файлов, появится сообщение
Windows Resource Protection did not find any integrity violations.
Repair-WindowsImage: Восстановление хранилища компонентов образа Windows с помощью PowerShell
Версия PowerShell в Windows 10/11 и Windows Server 2016/2019/2022 имеет команду, аналогичную командам DISM, рассмотренным выше. Чтобы просканировать хранилище компонентов Windows и найти повреждения, выполните эту команду:
Repair-WindowsImage -Online –ScanHealth
Если в хранилище компонентов не обнаружено ошибок, появляется следующее сообщение:
ImageHealth State: Healthy
Чтобы восстановить файлы Магазина компонентов Windows, выполните следующие действия:
Repair-WindowsImage -Online -RestoreHealth
Если у вас нет прямого доступа в Интернет, эта команда может зависнуть в процессе восстановления образа. Можно восстановить компоненты системы из локального файла образа Windows (install.wim/install.esd), скопированного из установочного ISO-образа Windows 10. Здесь также необходимо указать индекс версии Windows в WIM-файле в качестве источника восстановления:
Repair-WindowsImage -Online -RestoreHealth -Source F:\sources\install.wim:5 -LimitAccess
Использование DISM в автономном режиме для восстановления образа Windows
Если Windows загружается некорректно, можно использовать DISM для проверки и восстановления системных файлов образа Windows в автономном режиме.
- Загрузите устройство с установочного образа Windows (для создания загрузочного USB-накопителя Windows можно использовать средство создания носителя) и нажмите кнопку
Shift + F10
на начальном экране установки Windows; - Чтобы проверить буквы дисков, назначенные в WinPE, выполните команду
diskpart
->list vol
(в моем примере буква диска C:\ присвоен диску, на котором установлена Windows, и я буду использовать его в следующих командах); - Проверьте системные файлы и восстановите поврежденные с помощью команды:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Чтобы восстановить автономный образ Windows, выполните следующую команду (я использую WIM-файл с установочным образом Windows 10, с которого загружен компьютер, в качестве источника для восстановления автономного образа Windows):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
- Если на целевом диске недостаточно свободного места, вам понадобится отдельный диск, например F:\, на котором вы создадите пустую папку
mkdir F:\scratch
. Выполните восстановление хранилища компонентов с помощью команды scratch dir:Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
DISM /Add-Package
-установка файлов обновлений MSU/CAB, интеграция обновлений безопасности в образ Windows;DISM /Get-Drivers
— получить список установленных драйверов;DISM /Add-Driver
— инжектировать драйверы в установочный образ Windows;DISM /Add-Capability
— установка дополнительных функций Windows через Features on Demand (FoD). Например, RSAT, сервер OpenSSH или клиент Windows SSH);DISM /Enable-Features
и/Disable-Features
— включение и отключение компонентов Windows (например, протокола SMBv1);Dism.exe /StartComponentCleanup
— очистка хранилища компонентов и удаление старых версий компонентов (из папки WinSxS);Dism /set-edition
— обновление с ознакомительной до полной версии Windows без переустановки.