Использование DISM для проверки и восстановления образа Windows
Использование DISM для проверки и восстановления образа Windows
Вы можете использовать команды 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
Рекомендуется использовать команду DISM для восстановления Windows после проверки целостности системных файлов с помощью инструмента SFC.
sfc /scannow
Команда сканирует защищенные системные файлы и, если они отсутствуют или повреждены, пытается восстановить их оригинальные копии из хранилища компонентов 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 (см. изображение ниже).
В этом случае вы можете попробовать восстановить хранилище компонентов вашего образа Windows, используя
DISM.exe
команда.
Инструмент DISM (Deployment Image Servicing and Management) доступен во всех версиях Windows, начиная с Vista.
После восстановления образа Windows вы можете попробовать восстановить системные файлы с помощью SFC.
Проверка работоспособности хранилища компонентов Windows с помощью DISM
Этот
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 в Windows 7 и Windows Server 2008, необходимо установить обновление KB2966583. В противном случае вы увидите сообщение: «Ошибка 87. Параметр ScanHealth не распознается в этом контексте».
В некоторых случаях DISM /ScanHealth возвращает следующие ошибки:
- Ошибка DISM 1726 — «Ошибка удаленного вызова процедуры»;
- Ошибка DISM 1910 — «Указанный экспортер объектов не найден».
Это определенно означает, что ваш образ Windows поврежден и нуждается в восстановлении.
Восстановление образа Windows с помощью DISM/RestoreHealth
Чтобы исправить повреждение в хранилище компонентов образа Windows, необходимо использовать параметр RestoreHealth команды DISM. Эта опция позволит вам исправить ошибки, обнаруженные в образе Windows, автоматически загружать и заменять файлы поврежденных или отсутствующих компонентов оригинальными версиями файлов из Центра обновления Windows (ваш компьютер должен иметь прямой доступ в Интернет). Запустите команду:
DISM /Online /Cleanup-Image /RestoreHealth
В Windows 7/2008 R2 эта команда выглядит иначе:
DISM.exe /Online /Cleanup-Image /ScanHealth
Процесс сканирования и восстановления Хранилища компонентов может занять довольно много времени (30 минут и более). DISM автоматически загрузит и заменит файлы поврежденных или отсутствующих компонентов оригинальными версиями файлов с серверов Центра обновления Windows.
Если восстановление прошло успешно, появится следующее сообщение:
The restore operation completed successfully.
DISM /RestoreHealth: не удалось найти исходные файлы
Если ваш компьютер (сервер) не имеет прямого доступа в Интернет (расположен за прокси-сервером или использовал внутренний WSUS для получения обновлений безопасности и сборки) или служба Центра обновления Windows отключена/повреждена (как восстановить клиент Центра обновления Windows), то при восстановлении хранилища компонентов появляются следующие ошибки:
- 0x800f0906 - не удалось загрузить исходные файлы. Используйте параметр источника, чтобы указать расположение файлов, необходимых для восстановления функции;
- 0x800f0950 — ошибка DISM. Операция не проводилась;
- 0x800F081F — не удалось найти исходные файлы. Используйте параметр «Источник», чтобы указать расположение файлов, необходимых для восстановления функции.
Во всех этих случаях вы можете использовать альтернативные способы получения исходных файлов хранилища компонентов. Может быть:
- Установочный диск/флешка/ISO образ;
- Смонтированный файл wim/esd;
- Папка \sources\SxS с установочного диска;
- Файл install.wim (esd) с установочным образом Windows.
Вы можете указать файл WIM или ESD с исходным установочным образом Windows, который будет использоваться в качестве источника для восстановления системных файлов. Предположим, вы смонтировали установочный образ Windows 11 ISO на виртуальный диск D:.
Примечание. Чтобы восстановить поврежденные файлы в хранилище компонентов из локального источника, сборка и выпуск Windows в образе WIM/ESD должны соответствовать таковым в вашей системе.
Проверьте, какая версия 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), выполните следующую команду (не забудьте указать индекс версии 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
При выполнении команды DISM /RestoreHealth могут появиться следующие ошибки:
Ошибка: 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 Offline для восстановления образа Windows
Если Windows загружается неправильно, вы можете использовать DISM для проверки и восстановления системных файлов вашего образа Windows в автономном режиме.
Если Windows не загружается после установки обновлений, попробуйте сначала удалить последние обновления в соответствии с руководством.
Загрузите свое устройство с установочного образа Windows (вы можете использовать Media Creation Tool для создания загрузочного USB-накопителя Windows) и нажмите
Shift + F10
на начальном экране установки Windows;
Чтобы восстановить автономный образ Windows, используйте следующую команду (я использую WIM-файл с установочным образом Windows 10, с которого загружается компьютер, в качестве источника для восстановления моего автономного образа Windows):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
Если на целевом диске недостаточно свободного места, вам понадобится отдельный диск, например. г., 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
- внедрить драйверы в установочный образ Windows;
DISM /Add-Capability
- установка дополнительных функций Windows через функции по запросу (FoD). Например, RSAT, сервер OpenSSH или клиент Windows SSH);
DISM /Enable-Features
и
/Disable-Features
- включение и отключение компонентов Windows (например, протокола SMBv1);
Dism.exe /StartComponentCleanup
- очистить Хранилище компонентов и удалить старые версии компонентов (из папки WinSxS);
Dism /set-edition
- обновление с ознакомительной до полной версии Windows без переустановки.












