Использование 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 (см. рисунок ниже).

sfc /scannow Защита ресурсов Windows обнаружила поврежденные файлы, но не смогла исправить некоторые из них

В этом случае можно попытаться восстановить хранилище компонентов образа Windows с помощью команды DISM.exe команду.

Инструмент DISM (Deployment Image Servicing and Management) доступен во всех версиях Windows, начиная с Vista.

После восстановления образа Windows можно попробовать использовать SFC для восстановления системных файлов.

Проверка работоспособности хранилища компонентов Windows с помощью DISM

The DISM /Cleanup-Image /CheckHealth Переключатель используется для сканирования образа Windows на наличие ошибок и их исправления. Команды DISM должны выполняться из поднятой командной строки.

Выполните следующую команду, чтобы проверить наличие флагов повреждения в хранилище компонентов образа Windows (не применимо для Windows 7/Server 2008R2). Эта команда проверяет флаг CBS установленный одним из процессов обслуживания системы.

DISM /Online /Cleanup-Image /CheckHealth

Эта команда не выполняет полное сканирование Хранилища компонентов. Команда только проверяет, отмечен ли образ Windows как поврежденный и можно ли его исправить. Никаких изменений в образ не вносится.

DISM /Cleanup-Image /CheckHealth - проверка образа windows 10

В этом примере команда подтвердила, что образ 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: хранилище компонентов можно починить

Чтобы использовать переключатель DISM /ScanHealth в Windowds 7 и Windows Server 2008, необходимо установить программу KB2966583 обновить. В противном случае вы увидите сообщение: «Ошибка 87. Параметр ScanHealth не распознан в данном контексте«.

В некоторых случаях DISM /ScanHealth возвращает следующие ошибки:

  • DISM Error 1726 — «Вызов удаленной процедуры не удался»;
  • DISM Error 1910 — «Указанный экспортер объектов не найден».

Это определенно означает, что образ Windows поврежден и нуждается в восстановлении.

Восстановление образа Windows с помощью DISM /RestoreHealth

Чтобы исправить повреждения в магазине компонентов образа Windows, необходимо использовать команду RestoreHealth опция команды DISM. Эта опция позволит исправить ошибки, найденные в образе Windows, а также автоматически загрузить и заменить файлы поврежденных или отсутствующих компонентов оригинальными версиями файлов из Windows Update (компьютер должен иметь прямой доступ в Интернет). Выполните команду:

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 /Online /Cleanup-Image /RestoreHealth - Операция восстановления завершена успешно

DISM /RestoreHealth: Исходные файлы не могут быть найдены

Если ваш компьютер (сервер) не имеет прямого доступа в Интернет (находится за прокси-сервером или использует внутренний WSUS для получения обновлений безопасности и сборок) или служба Windows Update отключена/повреждена (как восстановить клиент Windows Update), то при восстановлении хранилища компонентов возникают следующие ошибки:

  • 0x800f0906 — Не удалось загрузить исходные файлы. Используйте параметр source, чтобы указать расположение файлов, необходимых для восстановления функции;
  • 0x800f0950 — DISM не удалось. Операция не была выполнена;
  • 0x800F081F — Не удалось найти исходные файлы. Используйте параметр «Источник», чтобы указать расположение файлов, необходимых для восстановления функции.

ошибка dism 0x800F081F - Не удалось найти исходные файлы. Используйте параметр

Во всех этих случаях вы можете использовать альтернативные способы получения исходных файлов Component Store. Это могут быть:

  • Установочный диск/USB-флеш-накопитель/ISO-образ;
  • Смонтированный файл wim/esd;
  • Папка \sources\SxS с установочного диска;
  • Файл install.wim (esd) с установочным образом Windows.

Вы можете указать WIM или ESD-файл с оригинальным установочным образом Windows, который будет использоваться в качестве источника для восстановления системных файлов. Предположим, в виртуальный привод установлен установочный ISO Windows 11 D:.

Примечание. Чтобы восстановить поврежденные файлы в хранилище компонентов из локального источника, сборка и редакция Windows в образе WIM/ESD должны совпадать с данными вашей системы.

Проверьте, какая версия Windows установлена на вашем компьютере, с помощью следующей команды PowerShell:

Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion

powershell: получить текущую редакцию и версию windows

Список доступных редакций Windows в установочном wim-образе:

Get-WindowsImage -ImagePath "D:\sources\install.wim"

В нашем случае образ Windows 11 Pro в файле install.wim имеет ImageIndex = 6.

powershell: get-windowsimage index number

Чтобы восстановить хранилище компонентов из локального 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

команда dism /clenup-image /restorehealth в windows 11

При выполнении команды 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 /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

Repair-WindowsImage -Online -ScanHealth powershell

Если в хранилище компонентов не обнаружено ошибок, появляется следующее сообщение:

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 в автономном режиме.

  1. Загрузите устройство с установочного образа Windows (для создания загрузочного USB-накопителя Windows можно использовать средство создания носителя) и нажмите кнопку Shift + F10 на начальном экране установки Windows;
  2. Чтобы проверить буквы дисков, назначенные в WinPE, выполните команду diskpart -> list vol (в моем примере буква диска C:\ присвоен диску, на котором установлена Windows, и я буду использовать его в следующих командах); diskpart - получить назначенные буквы дисков
  3. Проверьте системные файлы и восстановите поврежденные с помощью команды: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
    sfc /scannow offline: offbootdir offwindir
  4. Чтобы восстановить автономный образ Windows, выполните следующую команду (я использую WIM-файл с установочным образом Windows 10, с которого загружен компьютер, в качестве источника для восстановления автономного образа Windows):
    Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
    dism /cleanup-image - восстановление автономного образа windows 10 из исходного wim-файла
  5. Если на целевом диске недостаточно свободного места, вам понадобится отдельный диск, например F:\, на котором вы создадите пустую папку mkdir F:\scratch . Выполните восстановление хранилища компонентов с помощью команды scratch dir: 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 через Features on Demand (FoD). Например, RSAT, сервер OpenSSH или клиент Windows SSH);
  • DISM /Enable-Features и /Disable-Features — включение и отключение компонентов Windows (например, протокола SMBv1);
  • Dism.exe /StartComponentCleanup — очистка хранилища компонентов и удаление старых версий компонентов (из папки WinSxS);
  • Dism /set-edition — обновление с ознакомительной до полной версии Windows без переустановки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *