Windows server 2008 проверка системных файлов windows

В этой статье описывается использование средства проверки системных файлов для исправления проблем с отсутствующими или поврежденными системными файлами в Windows 8.1, Windows 8, Windows 7 или Windows Vista.

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)

выполнив указанные ниже действия.

  1. Откройте командную строку с повышенными привилегиями. Для этого выполните указанные ниже действия, в зависимости от версии операционной системы:

  2. Пользователям 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:RepairSourceWindows /LimitAccess

Примечание. Вместо заполнителя C:RepairSourceWindows укажите расположение вашего источника восстановления. Дополнительные сведения об использовании средства DISM для восстановления Windows см. в статье Восстановление образа Windows.

  1. Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:

sfc /scannow


Командной строки с правами администратора - sfc/scannow 
 

Команда sfc /scannow проверит все защищенные системные файлы и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%System32dllcache.
Заполнитель %WinDir% представляет собой папку операционной системы Windows. Например, C:Windows.

Примечание. Не закрывайте это окно командной строки, пока проверка не завершится на 100 %. Результаты проверки будут показаны после завершения данного процесса.

  1. После завершения процесса проверки на экране может появиться одно из приведенных ниже сообщений:

    • Защита ресурсов Windows не обнаружила нарушений целостности.


      Это значит, что отсутствующие и поврежденные системные файлы не обнаружены.

    • Защита ресурсов Windows не может выполнить запрошенную операцию.


      Для устранения этой проблемы выполните сканирование с помощью средства проверки системных файлов в безопасном режиме, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%WinSxSTemp.

    • Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log %WinDir%LogsCBSCBS.log.


      Для просмотра подробных сведений о сканировании и восстановлении системных файлов перейдите к разделу Как просмотреть подробные сведения процесса работы средства проверки системных файлов.

    • Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%LogsCBSCBS.log.


      Для восстановления поврежденных файлов вручную просмотрите подробные сведения процесса работы средства проверки системных файлов, чтобы найти поврежденный файл, а затем вручную заменить поврежденный файл гарантировано работоспособной копией.

Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Command prompt - Run as administrator (Windows 8 or 8.1) 

Для этого нажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. При получении запроса на ввод пароля администратора или подтверждения введите пароль или нажмите кнопку Разрешить.
Запрос команды - Запуск от имени администратора 

Дополнительная информация

Просмотр подробных сведений о процессе работы средства проверки системных файлов.

Чтобы ознакомиться с подробными сведениями, включенными в файл CBS.Log, вы можете скопировать сведения в файл Sfcdetails.txt с помощью команды Findstr, а затем просмотреть их в этом файле. Для этого выполните указанные ниже действия.

  1. Откройте командную строку с повышенными привилегиями, как это описано на шаге 1.

  2. Введите в командной строке приведенную ниже команду и нажмите клавишу ВВОД:

    findstr /c:"[SR]" %windir%LogsCBSCBS.log >"%userprofile%Desktopsfcdetails.txt" 

    Примечание. В файле Sfcdetails.txt содержатся сведения о каждом запуске средства проверки системных файлов на компьютере. Он также содержит информацию о файлах, которые не были исправлены средством проверки системных файлов. Проверьте дату и время записей, чтобы определить проблемные файлы, обнаруженные при последнем запуске средства проверки системных файлов.

  3. Откройте файл Sfcdetails.txt на рабочем столе.

  4. В файле 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. Чтобы убедиться в работоспособности системного файла, который вы планируете скопировать на другом компьютере, можно провести процесс проверки средством проверки системных файлов.

  1. Распространите на поврежденный системный файл права собственности администратора. Для этого скопируйте, а затем вставьте (или введите) в командную строку с повышенными привилегиями приведенную ниже команду, затем нажмите клавишу ВВОД:

    takeown /f Путь_и_имя_файла
    Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите takeown /f C:windowssystem32jscript.dll. 
    Командная строка администратора права - команда успешно выполнена

  2. Предоставьте администраторам полный доступ к поврежденному системному файлу. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:

    icacls Путь_и_имя_файла /GRANT ADMINISTRATORS:F
    Примечание. Заполнитель Путь_и_имя_файла представляет собой путь и имя файла для поврежденного файла. Например, введите icacls C:windowssystem32jscript.dll /grant administrators:F.
    Командной строки с правами администратора

  3. Замените поврежденный системный файл гарантировано работоспособной копией файла. Для этого скопируйте и вставьте (или введите) приведенную ниже команду и нажмите клавишу ВВОД:

    Copy Исходный_файл Расположение
    Примечание. Заполнитель Исходный_файл представляет собой путь и имя гарантировано работоспособной копии файла на вашем компьютере, а заполнитель Расположение представляет собой путь и имя поврежденного файла. Например, введите copy E:tempjscript.dll C:windowssystem32jscript.dll.

Если описанные выше действия не помогли, возможно, потребуется переустановить Windows. Дополнительные сведения см . в разделе Варианты восстановления Windows10.

Нужна дополнительная помощь?

Проверка целостности системных файлов WindowsМногие знают, что проверить целостность системных файлов Windows можно с помощью команды sfc /scannow (впрочем, это знают не все), но мало кто знает, как еще можно использовать данную команду для проверки системных файлов.

В этой инструкции я покажу, как осуществить проверку для тех, кто вообще не знаком с данной командой, а после этого расскажу о различных нюансах ее использования, которые, думаю, будут интересны. См. также более подробную инструкцию для последней версии ОС: проверка и восстановление целостности системных файлов Windows 10 (плюс видео инструкция).

Как проверить системные файлы

В базовом варианте, если у вас есть подозрение на то, что необходимые файлы Windows 8.1 (8) или 7 были повреждены или потеряны, вы можете использовать специально предусмотренный для этих случаев инструмент самой операционной системой.

Итак, для проверки системных файлов, проделайте следующие шаги:

  1. Запустите командную строку от имени администратора. Для этого в Windows 7 найдите этот пункт в меню Пуск, кликните по нему правой кнопкой мыши и выберите соответствующий пункт меню. Если у вас Windows 8.1, то нажмите клавиши Win + X и запустите «Командная строка (Администратор)» из меню, которое появится. Командная строка от имени администратора в Windows 8
  2. В командной строке введите sfc /scannow и нажмите Enter. Эта команда выполнит проверку целостности всех системных файлов Windows и попытается их исправить в том случае, если были обнаружены какие-либо ошибки.

Проверка системных файлов с помощью SFC scannow

Однако, в зависимости от ситуации, может оказаться, что использование проверки системных файлов в таком виде не в полной мере подходит для данного конкретного случая, а потому расскажу о дополнительных возможностях команды утилиты sfc.

Дополнительные возможности проверки с помощью SFC

Полный список параметров, с которыми можно запустить утилиту SFC выглядит следующим образом:

SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=путь к файлу] [/VERIFYFILE=путь к файлу] [/OFFWINDIR=папка с windows] [/OFFBOOTDIR=удаленная папка загрузки]

Что это нам дает? Предлагаю посмотреть по пунктам:

  • Вы можете запустить только проверку системных файлов без их исправления (ниже будет информация о том, зачем это может пригодиться) с помощью
    sfc /verifyonly
  • Имеется возможность проверить и исправить только один системный файл, выполнив команду
    sfc /scanfile=путь_к_файлу

    (или verifyfile, если исправлять не требуется).

  • Для проверки системных файлов не в текущей Windows (а, например, на другом жестком диске) можно использовать
    sfc /scannow /offwindir=путь_к_папке_windows

Думаю, эти возможности могут быть полезны в самых различных ситуациях, когда требуется проверить системные файлы на удаленной системе, или для каких-то иных непредвиденных задач.

Возможные проблемы при проверке

При использовании утилиты проверки системных файлов, вы можете столкнуться с некоторыми проблемами и ошибками. Кроме этого, лучше, если вы будете знать некоторые особенности работы этого инструмента, о которых ниже.

  • Если при запуске sfc /scannow вы видите сообщение о том, что Защите ресурсов Windows не удается запустить службу восстановления, проверьте, что служба «Установщик модулей Windows» включена, а тип запуска установлен «Вручную».
  • Если у вас в системе есть модифицированные файлы, например, вы заменяли значки в проводнике или что-то еще, то выполнение проверки с автоматическим исправлением вернет файлы в первоначальный вид, т.е. если вы меняли файлы специально, это придется повторить.

Может оказаться, что sfc /scannow не удастся исправить ошибки в системных файлах, в этом случае вы можете ввести в командной строке

findstr /c:"[SR]" %windir%LogsCBSCBS.log >"%userprofile%Desktopsfc.txt"

Создание журнала проверки системных файлов

Эта команда создаст текстовый файл sfc.txt на рабочем столе со списком файлов, исправление которых не удалось — при необходимости вы можете скопировать необходимые файлы с другого компьютера с той же версией Windows или с дистрибутива ОС.

 Гигантское количество проблем в операционных системах Windows возникает из-за повреждения системных файлов. Для восстановления критичных файлов предусмотрена функция защиты системных файлов. Система сама мониторит изменения особо важных файлов и заменяет их эталонными версиями из образа установки (хранилища компонентов Windows), если те были изменены или повреждены сторонним софтом. Однако, если поврежден образ установки или повреждены не критичные но значимые файлы, ОС Windows требуется помощь. Помочь можно с помощью утилит SFC и DISM. Ниже подробный мануальчик по восстановлению ОС с использованием этих утилит.

1. SFC. (System Files Checker)

Утилита для восстановления номер раз. Восстанавливает файлы системы из образа установки. Присутствует во всех версиях Windows начиная с Windows 2000. Механика работы программы отличается в зависимости от версии ОС, но общий принцип один и тот же — программа проверяет целостность системных файлов и отменяет обнаруженные изменения. Эталоны файлов программка может брать из нескольких источников.

Список источников в порядке убывания.

Для версий до Windows XP включительно:

1. Папка %WinDir%System32Dllcache

2. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSoftwarePoliciesMicrosoftWindows NTSetup

3. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSoftwareMicrosoftWindowsCurrentVersionSetup

4. CD-ROM.

Для версий начиная с Windows Vista и выше:

1. Папка %WinDir%winsxsBackup

2. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionSetup

3. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

4. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSoftwarePoliciesMicrosoftWindows NTWindows File Protection

5. Путь к дистрибутиву указанный в параметре SourcePath ветки реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionSetupServicePackSourcePath

6. CD-ROM.

Применение программы:

1. Сканировать текущую ОС немедленно с восстановлением поврежденных файлов.

sfc /scannow

2. Сканировать текущую ОС немедленно без восстановлением поврежденных файлов.

sfc /verifyonly

3. Сканировать автономную ОС немедленно с восстановлением поврежденных файлов.

sfc /scannow /OFFWINDIR=<автономная папка Windows> /OFFBOOTDIR=<автономная папка загрузки>

4. Сканировать отдельный файл

sfc /SCANFILE=C:windowssystem32kernel32.dll

Если программа пишет ошибки восстановления, детальную информацию можно посмотреть в журнале. Журнал выполнения пишется в папку %windir%logscbscbs.log.

DISM (Deployment Image Servicing and Management).

Утилита для восстановления номер два. DISM проверяет и восстанавливает хранилище компонентов Windows (то место откуда sfc берет файлы для восстановления). Утилита присутствует начиная с Windows Vista, однако возможность восстановления хранилища из коробки работает только начиная с Windows 8. Для восстановления хранилища в Windows 7 с помощью DISM, нужно установить обновление KB2966583. Скачать можно с оф.сайта или отсюда.

В отличии от SFC, DISM может подключиться к серверам Майкрософт и взять эталонные файлы оттуда.

Команды для Windows 8 и выше:

Проверить наличие признака повреждения хранилища компонентов образа Windows (флага CBS):

DISM /Online /Cleanup-Image /CheckHealth

Полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows:

DISM /Online /Cleanup-Image /ScanHealth

Восстановление поврежденных компонентов:

DISM /Online /Cleanup-Image /RestoreHealth

В Windows 7 отсутствует возможность проверки флага CBS, а команды сканирования и восстановления объединены в одну:

DISM /Online /Cleanup-Image /ScanHealth

Также как и SFC, dism может восстановить образ используя установочные файлы Windows. Для этого нужно указать путь до .wim или .esd файла и индекс образа в ключе /source

Индекс можно узнать powershell-командой 

Get-WindowsImage -ImagePath «D:sourcesinstall.wim»

Команда восстановления будет выглядеть примерно так:

DISM /online /cleanup-image /restorehealth /source:WIM:E:sourcesinstall.wim:1

DISM /online /cleanup-image /restorehealth /source:ESD:E:sourcesinstall.esd:1

где 1 — индекс образа.

Чтобы dism не искал файлы на серверах Microsoft, а сразу брал их из файла установки можно дописать ключ /limitaccess

DISM /online /cleanup-image /restorehealth /source:WIM:E:sourcesinstall.wim:1 /limitaccess

DISM /online /cleanup-image /restorehealth /source:ESD:E:sourcesinstall.esd:1 /limitaccess

Можно еще восстановить образ автономной ОС. Чтобы это сделать, вместо ключа /Online написать ключ /Image:<путь до ОС>. Например

dism /image:C: /Cleanup-Image /RestoreHealth /Source:WIM:E:sourcesinstall.wim:1

Если программа пишет ошибки восстановления, детальную информацию также можно посмотреть в журнале. Журнал выполнения пишется в папку %windir%LogsDISMdism.log.

Иногда DISM выдает ошибку 0x800f081f Не удалось найти исходные файлы хотя образ точно тот. Лечится очисткой компонентов образа системы с помощью команды:

Dism.exe /online /Cleanup-Image /StartComponentCleanup

Общий алгоритм для восстановления системных файлов.

Насколько я понял, dism не восстанавливает сами системные файлы, он работает только с хранилищем компонентов Windows. После восстановления хранилища компонентов либо ОС сама подменит нужные системные файлы, либо их нужно заменить с помощью sfc. Вообщем, алгоритм действий примерно следующий:

1. Восстановление с помощью sfc.

sfc /scannow

2. Если sfc пишет ошибки, запускаем сначала dism по завершении снова sfc. 

DISM /Online /Cleanup-Image /RestoreHealth

sfc /scannow

3. Если в пункте 2 тоже возникают ошибки, открываем логи и разбираемся.

Внимание: Если у вас вышла из строя ОС, или тем более серверная ОС, прежде чем приступить к любым процедурам по восстановлению, сделайте резервную копию текущего состояния

Да, сделать бэкап неработоспособной системы.
Но, гипотетически, системы имеющей на текущий момент только одну проблему.
А сколько, в процессе восстановления, вы можете привнести неисправностей, в итак нерабочую систему, неизвестно никому. Так же как и не удастся проследить цепочку примененных вами действий в стрессовой ситуации.
Так что в первую очередь делаем бэкап, используя например Acronis True Image.

Занимаемся вредительством

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

  1. Переходим в папку System32
    cd C:WindowsSystem32

    По умолчанию владельцем файлов в папке System32 является служебный пользователь TrustedInstaller.

Что бы беспрепятственно удалить из системной папки любые(незадействованные в данный момент) файлы, вам нужно назначить себя владельцем и выдать своему пользователю полные права на файл.

  1. Владельца можно изменить как из GUI, так и через CMD:
    # Назначаем себя владельцем
    takeown /f C:windowssystem32WF.msc
    # Даем себе полные права на файл
    icacls C:windowssystem32WF.msc /GRANT ADMINISTRATORS:F
  2. Удаляем файл
    del C:windowssystem32WF.msc

Файл удалили. Теперь можно приступать собственно к восстановлению.

Восстановление в автоматическом режиме
SFC (System File Checker)

Пробуем выполнить команду

sfc scannow

Дождитесь сообщения:
Программа защиты ресурсов windows обнаружила поврежденные файлы и успешно их восстановила

Так же можно запустить проверку только для одного конкретного файла:

sfc /scanfile=C:windowssystem32WF.msc

Если команда не выполняется, и выдает ошибку на подобии:

Защита ресурсов Windows не может выполнить запрошенную операцию

то мы хотя бы может просмотреть какие файлы повреждены, вручную открыв лог последнего сканирования:
С:WindowsLogsCBSCBS.log

Так же, для упрощения поиска ошибок в этом файле лога, можно воспользоваться следующей командой:

find "error" WindowsLogsCBSCBS.log
Восстановление в ручном режиме

В случае если автоматическое восстановление окончилось ошибкой, можно попробовать заменить поврежденные файлы, о которых мы узнали из лога проверки SFC, файлами из заведомо рабочей системы, аналогичной версии и ревизии Windows.

При выполнении команды sfc /scannow из CMD в рабочей системе некоторые файлы будут задействованы и поэтому не смогут быть обработаны. По этой причине лучше перейти в среду восстановления и предпринимать дальнейшие действия по восстановлению уже оттуда.

Для перехода к среде восстановления нужно:
1) Вставить дискфлешку с Windows той же версии, что и восстанавливаемая система
2) Выполнить перезагрузку
3) Запуститься с диска и открыть командную строку

BootDiskRestore

Загрузка с диска

Дополнительные параметры

Запуск CMD

После открытия командной строки первым делом определим буквы разделов:

wmic logicaldisk list brief

Конечно для этого можно использовать diskpart, но с wmi мы уложимся в меньшее количество команд.
Да и для общего развития с wmi полезно поработать.

Оффлайн восстановление системы

Если вы проводите восстановление из среды восстановления или LiveCD(USB)

sfc /scannow /offwindir=d:windows /offbootdir=d:

/offwindir — переключатель для восстановления файлов внешней системы. Нужен что бы указать расположение папки Windows

/offbootdir — переключатель должен указывать на загрузочный раздел

DISM

Утилита DISM поможет в некоторых случаях,  когда SFC не может восстановить системные файлы.

Ведь SFC должна откуда то брать восстанавливаемые файлы.
Таким местом является папка C:WindowsWinSxS
Но если отсутствует или повреждено и это хранилище, то необходимо будет сначала восстановить его.

# Проверка целостности хранилища
dism /Online /Cleanup-Image /ScanHealth

С помощью этой команды можно убедиться что файлы хранилища действительно повреждены.

DISM_ScanHealth

DISM_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:x64sourcesinstall.esd

DISM_Get-WIMinfo

DISM Get-WIMinfo

DISM_Get-WIMinfo

Get-WIMinfo Подробно

На основе полученной информации указываем для утилиты DISM нужный индекс.

dism /Online /Cleanup-Image /RestoreHealth /Source:wim:P:SourceInstall.wim:4 /limitaccess

Через двоеточие здесь нужно указать индекс ревизии Windows, под которым в используемом образе располагается аналогичная вашей система.

Ошибка 0x800f081f

При восстановлении вы можете столкнулся с ошибкой 0x800f081f

Что бы ее обойти, вы можете попробовать распаковать содержимое образа в отдельную папку, и запускать восстановление, используя в виде источника, уже ее.

# Создаем каталог куда будут распакованы файлы из образа
mkdir C:WIM
# Монтируем образ в папку
Dism /Mount-Wim /wimfile:P:x64sourcesinstall.esd /index:4 /MountDir:G:WIM /ReadOnly
# Восстанавливаем хранилище, используя распакованный образ
Dism /Online /Cleanup-Image /RestoreHealth /Source:C:WIMWindows /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:x64sourcesinstall.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

7Zip Open Image

Открываем файл Install

7Zip Open Image

Выбираем ревизию

7Zip Open Image

Можно копировать файлы

Всем доброго времени суток и всяческих таких прочих разностей. Речь, как Вы поняли из заголовка, пойдет про SFC.

Мы с Вами уже говорили про встроенный в систему инструментарий, — журналы Windows, мониторинг производительности, планировщик заданий и всё такое прочее, что Важно для диагностики, настройки и понимания происходящих процессов, с помощью которых, собственно, можно решать и упреждать проблемы самого разного рода.

windows sfc - иконка статьи

Я хочу напомнить, а некоторым и просто рассказать, про еще один инструмент, который является своеобразной классикой жанра и живет в операционной системе бесконечно давно, но почему-то многие его не используют, забыли о нём или не понимают зачем он нужен.

Давайте разбираться.

  • Общее описание функционала SFC

  • Запуск и использование

  • Параметры

  • SFC и командная строка

  • Пример, факты и результирующая SFC

  • Послесловие

Общее описание функционала SFC

SFC — т.е средство проверки системных файлов, – это служебная программа ОС, позволяющая делать автоматизированную проверку на проблемы с файлами, библиотеками, службами, программами и всякой другой разностью в системе.

Очень часто именно эта утилита позволяет восстановить работу компонентов (программ, служб, оснастки и тп) Windows без погружения в какие-то особенные глубины (при учете, что система грузится, а сам SFC не поврежден) после сбоев. В частности, может помочь вернуть видоизмененные вирусом системные элементы.

В Win 10 его применение даже несколько шире, — SFC может затрагивать базовые системные приложения, что позволяет быстро восстанавливать их работу в достаточно объёмном числе случаев.

к содержанию ↑

Запуск и использование

Дабы запустить утилиту нам потребуется консоль с правами администратора. Запустить её можно из папки /windows/system32/ (или найти её по нажатию на Пуск, или как-нибудь еще, благо способов предостаточно):

sfc - запуск консоли Windows - скриншот 1

sfc - другой способ запуска cmd - скриншот 2

Далее в командной строке нам потребуется запустить тот самый SFC.

к содержанию ↑

Параметры

Для начала давайте поговорим о параметрах с которым запускается:

  • /scannow, — проверяет целостность всех системных файлов и пытается их восстановить, наиболее частый из используемых параметров;
  • /verifyonly, — делает только проверку, без восстановления;
  • /scanfile, — при указании имени файла, проверяет конкретный файл и пытается его восстановить; требуется указание пути /scanfile=<путь>/<имяфайла>;
  • /verifyfile, — делает только проверку файла, без попыток восстановления;
  • /offbootdir, — позволяет указать автономный каталог загрузки Windows. Это позволяет делать проверку системных файлов поврежденных систем, если Вы в них не загружены (т.е, допустим, у Вас есть вторая, третья, пятая, десятая система, которая не загружается и проверку которой Вы хотите сделать);
  • /offwindir, — тоже самое, что и /offbootdir, но указывает не только загрузочный каталог, но и автономный каталог системы как таковой, что позволяет проверить больше файлов «соседней» системы.

Теперь об использовании.

к содержанию ↑

SFC и командная строка

Краткий пример команд (на каждой строке отдельная команда, при учете, что не произошло переноса, т.е все они начинаются с sfc) можно посмотреть ниже:

sfc /SCANNOW
sfc /VERIFYFILE=c:windowssystem32kernel32.dll
sfc /SCANFILE=d:windowssystem32kernel32.dll /OFFBOOTDIR=d: /OFFWINDIR=d:windows
sfc /VERIFYONLY

Как уже говорилось, чаще всего sfc используется в контексте /scannow, как наиболее полном и автоматизированном варианте. Результатом проверки может являться сообщения:

  • Защита ресурсов Windows не обнаружила нарушений целостности.

    Это значит, что отсутствующие и поврежденные системные файлы не обнаружены, но не значит, что их нет и всё в безупречном порядке. Могут быть повреждения вне области сканирования SFC;

  • Защита ресурсов Windows не может выполнить запрошенную операцию.

    Консоль не запущена от имени администратора (правда там обычно об этом явно пишется), либо требуется проверка в безопасном режиме (F8 до загрузки системы, в версиях Windows до 8-ки). В числе прочего, убедитесь, что папки PendingDeletes и PendingRenames находятся в папке %WinDir%WinSxSTemp;

  • Защита ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Сведения см. в журнале CBS.Log %WinDir%LogsCBSCBS.log.

    Собственно, нужно посмотреть, что там интересного понаписал лог, либо просто проверить заработало ли то, что не работало;

  • Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Сведения см. в журнале CBS.Log %WinDir%LogsCBSCBS.log.

Ну и давайте взглянем как оно работает.

к содержанию ↑

Пример, факты и результирующая SFC

Примеры результата работы команды:

sfc - пример работы программы - скриншот 3

Где лежат обычно файлы логов и как выглядят:

sfc положение лога - скриншот 4

Результирующая и содержание логов:

sfc - результирующая - скриншот 5

Это суровый минимум, который стоит знать и понимать. В общем и целом при нарушении работы системы не сильно понятного Вам характера, можно как раз использовать SFC для восстановления работы Windows и иногда приложений, которые идут в комплекте.

Если же требуется проанализировать логи, то есть форумы, где Вам могут помочь, а заодно подскажут, нужно ли было вообще запускать SFC или можно было сделать всё иначе.

Больше ценной информации на эту тему есть в справке Microsoft, которая живет здесь вот.

Перейдем к послесловию.

к содержанию ↑

Послесловие

Такой вот бесценный инструмент, зная и помня о котором, можно достаточно автоматизированно лечить и устранять множество типовых (и не очень) проблем. Освоив же его на опытном (и более) уровне, собственно, можно научиться восстанавливать системы, которые не загружаются и не работают вовсе, при этом не прибегая к лишним суровым свистопляскам с консолью.

В двух словах как-то оно вот так. Если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.

Спасибо, что Вы с нами.

Просмотров 122к. Опубликовано 29 июня, 2018 Обновлено 23 августа, 2018

Sfc /scannow — это команда командной строки, которая позволяет сканировать вашу систему Windows на наличие ошибок и исправлять их.

Sfc /scannow проверит все важные файлы Windows на вашем компьютере, включая файлы Windows DLL . Если System File Checker обнаружит проблему с любым из этих защищенных файлов, она заменит ее.

System File Checker — очень полезный инструмент для использования, когда вы подозреваете проблемы с защищенными файлами Windows, например, со многими DLL-файлами .

Выполните следующие шаги для использования sfc с параметром scannow для восстановления важных файлов Windows:

Как использовать SFC /Scannow

  1. Откройте командную строку от имени администратора , которую часто называют «повышенной» командной строкой.
    Важно: для правильной работы команды sfc /scannow она должна выполняться из окна с расширенными командами в Windows 10 , Windows 8 , Windows 7 и Windows Vista . Это не требуется в предыдущих версиях Windows.
  2. После появления командной строки введите следующую команду и нажмите Enter .
    sfc /scannow

    Совет. Между sfc и /scannow есть пробел . Выполнение команды sfc с ее рядом с ней (без пробела) может привести к ошибке.

  3. System File Checker теперь проверит целостность каждого защищенного файла операционной системы на вашем компьютере. Это может занять довольно много времени, чтобы закончить.
  4. Как только проверка достигнет 100%, вы увидите что-то подобное в окне командной строки, предполагая, что проблемы были найдены и исправлены:
    Защита ресурсов Windows обнаружила поврежденные файлы и успешно восстановила их. Подробности включены в CBS.Log windir  Logs  CBS  CBS.log. Например, C:  Windows  Logs  CBS  CBS.log. Обратите внимание, что регистрация в настоящее время не поддерживается в сценариях автономного обслуживания.

    … или что-то вроде этого, если не было найдено никаких проблем:

    Защита ресурсов Windows не обнаружила нарушений целостности.

    Совет. В некоторых ситуациях, чаще всего в Windows XP и Windows 2000, вам также может понадобиться доступ к исходному установочному компакт-диску Windows или DVD в какой-то момент во время этого процесса.

  5. Перезагрузите компьютер, если sfc /scannow действительно восстановил файлы.
    Примечание. Средство проверки системных файлов может или не может запрашивать перезапуск, но даже если это не так, вы должны перезапустить все равно.
  6. Повторите любой процесс, вызвавший исходную проблему, чтобы проверить, исправляет ли sfc /scannow проблему.

Синтаксис команды Sfc

Его базовая форма, это синтаксис, необходимый для выполнения параметров System File Checker:

Параметры sfc [= полный путь к файлу]

Или, точнее, это то, что похоже на опции:

sfc [/scannow] [/verifyonly] [/scanfile=file] [/verifyfile=file] [/offbootdir=boot] [/offwindir=win] [/?]

/scannow Этот параметр указывает sfc сканировать все защищенные файлы операционной системы и при необходимости исправлять.
/verifyonly Этот параметр команды sfc совпадает с  / scannow,  но без ремонта.
/scanfile=file Этот параметр sfc такой же, как  / scannow,  но проверка и восстановление — только для указанного  файла .
/offbootdir=boot Используется с  / offwindir , эта опция sfc используется для определения загрузочного каталога ( загрузки ) при использовании sfc из-за пределов Windows.
/offwindir=win Этот параметр sfc используется с  / offbootdir  для определения каталога Windows ( win ) при использовании sfc в автономном режиме.
/? Используйте  справочный переключатель  с помощью команды sfc, чтобы показать подробную справку о нескольких параметрах команды.
/? Используйте  справочный переключатель  с помощью команды sfc, чтобы показать подробную справку о нескольких параметрах команды.

Примеры команд Sfc

sfc /scannow

В приведенном выше примере утилита System File Checker используется для сканирования, а затем автоматически заменяет любые поврежденные или отсутствующие системные файлы. Опция / scannow является наиболее часто используемым коммутатором для команды sfc.

sfc /scanfile=c:windowssystem32ieframe.dll

Команда sfc, приведенная выше, используется для сканирования ieframe.dll, а затем восстанавливает ее, если проблема обнаружена.

sfc /scannow /offbootdir=c: /offwindir=c:windows

В следующем примере защищенные файлы Windows сканируются и восстанавливаются при необходимости ( / scannow ), но это делается с другой установкой Windows ( / offwindir = c: windows ) на другом диске ( / offbootdir = c: ) ,

sfc /verifyonly

Используя команду sfc с параметром / verifyonly , System File Checker проверит все защищенные файлы и сообщит о любых проблемах, но никаких изменений не будет.

Как интерпретировать файл CBS.log

Каждый раз, когда вы запускаете System File Checker, создается файл LOG, в котором содержится подробный список всех проверенных файлов и каждая операция восстановления, если таковая имеется.

Предполагая, что Windows установлена ​​на диске C: (обычно это так), файл журнала можно найти в C: Windows Logs CBS CBS.log  и открыть с помощью Блокнота или другого текстового редактора . Этот файл может быть полезен для расширенного поиска неисправностей или в качестве ресурса для технолога, который может помочь вам.

Как сканировать и восстанавливать системные файлы в Windows 10

Следующая команда выполнит полное сканирование защищенных системных файлов на вашем компьютере и исправьте любой файл, вызывающий проблемы, в то время как Windows 10 запущена и работает.

  1. Используйте комбинацию клавиш клавиатуры Windows + X, чтобы открыть меню «Power User» и выберите « Командная строка» (Admin) , так как вам понадобятся права администратора для запуска SFC.
  2. В командной строке введите следующую команду и нажмите Enter :sfc /scannowSfc / scannow
  3. По завершении проверки вы увидите одно из следующих сообщений:

Защита ресурсов Windows не обнаружила нарушений целостности: это означает, что в вашей системе отсутствуют какие-либо недостающие или поврежденные файлы.

Защита ресурсов windows не может выполнить запрошенную операцию: это сообщение означает, что во время сканирования возникла проблема, как  исправить эту ошибку смотрите здесь.

Защита ресурсов Windows обнаружила поврежденные файлы и успешно восстановила их. Подробности включены в CBS.Log% WinDir% Logs CBS CBS.log: вы получите это сообщение, когда SFC сможет исправить эту проблему. Теперь вы можете перейти или просмотреть журналы, чтобы получить более подробную информацию.

Windows Resource Protection обнаружила поврежденные файлы, но не смогла исправить некоторые из них. Подробности включены в CBS.Log% WinDir% Logs CBS CBS.log: в этом случае вам необходимо восстановить поврежденные файлы вручную.

Как сканировать и восстанавливать системные файлы в Windows 10 в автономном режиме

Иногда защищенные системные файлы, которые необходимо восстановить, загружаются в память во время работы Windows 10. Если это так, вы можете запустить SFC в автономном режиме, чтобы исправить ваш компьютер.

  1. Используйте комбинацию клавиш клавиатуры Windows + I, чтобы открыть приложение «Настройки».
  2. Нажмите « Обновить» и «Безопасность» .
  3. Нажмите « Восстановление» .
  4. В разделе «Расширенный запуск» нажмите « Перезагрузить сейчас» .
  5. Нажмите « Устранение неполадок» .
  6. Нажмите « Дополнительные параметры» .
  7. Нажмите « Командная строка», чтобы загрузить компьютер только с помощью командной строки.advanced-cmd-windows
  8. При перезагрузке вам будет предложено ввести свое имя пользователя и пароль для продолжения.
  9. Всякий раз, когда вам нужно запускать SCF за пределами Windows, вам нужно сообщить утилите, где находятся файлы установки Windows. В командной строке введите следующую команду, чтобы понять расположение разделов Windows и системного резервирования.wmic logicaldisk get deviceid, volumename, descriptionwmic-logicaldisk-windows
  10. Введите следующую команду и нажмите Enter :sfc /scannow /offbootdir=C: /offwindir=D:WindowsПримечание. Мы используем переключатель / offboodir для указания буквы диска раздела System Reserved, который в этом случае является C , а переключатель / offwindir указывает расположение файлов Windows, в этом случае это D: Windows ,Имейте в виду, что при загрузке компьютера с помощью командной строки буквы дисков могут быть разными, поэтому вам нужно использовать команду на шаге 9 . Однако большую часть времени при работе с Windows 10, D: обычно является буквой диска для установки, а C: является буквой для раздела System Reserved.
  11. По завершении проверки закройте командную строку.
  12. Нажмите « Продолжить», чтобы выйти и вернуться в Windows 10.

Как восстановить системные файлы вручную в Windows 10

Если System File Checker не может исправить один или несколько файлов, вам необходимо будет их восстановить вручную.

Откройте файл sfclogs.txt, чтобы определить, какие поврежденные файлы, найти, где они находятся, выполнив простой поиск файлов или использовать предпочтительную поисковую систему Интернета, чтобы получить более подробную информацию. Затем следуйте приведенным ниже инструкциям, чтобы заменить поврежденный файл.

Быстрый совет. Вы можете найти известные копии системных файлов на другом компьютере с той же версией операционной системы, что и на вашем компьютере.

  1. Используйте комбинацию клавиш клавиатуры Windows + X, чтобы открыть меню «Power User» и выберите « Командная строка» («Администратор») .
  2. Возьмите на себя ответственность за поврежденный системный файл. В командной строке введите следующую команду и нажмите Enter :takeown /f C:Path-and-File-NameПримечание. Замените C:Path-and-File-Name на путь и имя поврежденного файла. Например, C:WindowsSystem32appraiser.dll .
  3. Разрешить полный доступ администратора к поврежденному файлу с помощью следующей команды и нажмите Enter :icacls C:Path-and-File-Name /Grant Administrators:F
  4. Замените файл с хорошей копией, используя следующую команду и нажмите Enter :copy C:Path-SOURCE-and-File-Name C:Path-DESTINATION-and-File-Name Примечание: вам нужно заменить C: Path-SOURCE-и-File-Name исходным путем и именем файла известного хорошего файла, а также заменить C: Path-DESTINATION-and-File-Name на путь назначения и имя поврежденного файла. Вот пример: copy D: Files appraiser.dll C: Windows System32 appraiser.dll .
  5. Введите « Да» и нажмите « Ввод», чтобы подтвердить перезапись.sfc-windows

После замены файла вы можете ввести SFC /verifyonlyкоманду и нажать Enter в командной строке, чтобы проверить целостность всех системных файлов, чтобы узнать, исправлена ​​ли проблема. В качестве альтернативы, если вы отремонтировали только несколько файлов, вы можете проверить целостность каждого файла с помощью sfc /VERIFYFILE=C:Path-and-File-Nameкоманды (например, sfc /VERIFYFILE=C:WindowsSystem32kernel32.dll).

Имейте в виду, что вы не ограничены использованием этой утилиты в Windows 10, SFC — это инструмент командной строки, доступный в предыдущих версиях операционной системы. Тем не менее, вы можете найти различные функции в зависимости от версии, которую вы используете. В командной строке (Admin) используйте sfc /?команду для отображения доступных вам функций.

Как использовать инструмент Scannow SFC в Windows XP

Windows XP имеет возможность защитить себя от нестабильности системы, вызванной сторонним программным обеспечением, переписывающим важные системные файлы.

Раньше это было (и по-прежнему на самом деле), проблема с Windows 95 и Windows 98.

С введением Windows Millennium Edition Microsoft предприняла настоящие усилия, чтобы остановить это.

Теперь в Windows XP у нас есть гораздо более совершенная защита этих важных файлов …

Основная причина использования этой утилиты — когда вы подозреваете, что может возникнуть проблема с системным файлом Windows XP.

Возможно, вы получите диалоговое окно, сообщающее вам о проблеме с DLL-файлом или ваша программа просто не загружается! Поэтому стоит проверить, есть ли поврежденные системные файлы, используя scannow sfc.

Для этого просто перейдите в поле «Выполнить» в меню «Пуск» и введите:

sfc /scannow.

Эта команда немедленно инициирует службу защиты файлов Windows, чтобы проверять все защищенные файлы и проверять их целостность, заменяя любые файлы, с которыми она обнаруживает проблему.

В идеальном мире, который станет концом истории … Любые поврежденные, отсутствующие или неправильные файлы будут заменены этим процессом.

Как использовать Sfc /Scannow для восстановления Windows 7

  1. Первый шаг — открыть окно с повышенными командами. Для Windows 7 нажмите «Пуск» и введите cmd в поле «Поиск». Щелкните правой кнопкой мыши на cmd, чтобы получить раскрывающийся список. В списке нажмите «Запуск от имени администратора».
  2. Когда откроется окно командной строки, введите sfc /scannow и нажмите enter
    Процесс сканирования файлов поврежденных файлов занимает около 10-15 минут. Не закрывайте окно командной строки в течение этого времени.
  3. После того, как система выполнит 100% сканирование, могут быть два результата. В случае, если не обнаружено ошибок, появится сообщение: «Защита Windows не обнаружила нарушений целостности».
    В случае обнаружения ошибки система обнаружит ошибки и устранит их.

Также есть вероятность, что в окне появится сообщение о том, что Windows Resource Protection обнаружила поврежденные файлы, но не смогла исправить некоторые из них.

В таких случаях команда sfc /scannow требует дополнительной информации о местонахождении диска, на котором установлена ​​Windows 7.

Запуск сканирование SFC /SCANNOW помимо командной строки

При запуске sfc /scannow из-за пределов Windows, например, из командной строки, доступной при загрузке с установочного диска Windows или флеш-накопителя или с вашего диска восстановления системы или накопителя, вам нужно будет сообщить команду sfc точно, где Windows существует.

sfc /scannow /offbootdir=d: /offwindir=d:windows

Параметр /offbootdir = указывает букву диска, в то время как параметр / offwindir = указывает путь к Windows, снова включающий букву диска.

Примечание. В зависимости от того, как настроен ваш компьютер, командная строка при использовании извне Windows не всегда назначает буквы дисков так же, как вы видите их изнутри Windows. Другими словами, Windows может быть в C: Windows, когда вы ее используете, но D: Windows из командной строки в ASO или SRO.

В большинстве установок Windows 10, Windows 8 и Windows 7 C: обычно становится D: и в Windows Vista C: обычно остается C :. Чтобы убедиться в этом, найдите диск с папкой « Пользователи » на нем — это будет диск, на котором установлен Windows, если у вас нет нескольких установок Windows на нескольких дисках. Вы можете просматривать папки в командной строке с помощью команды dir .

Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в 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:WindowsWinSxS).

Утилита SFC записывает все свои действия в лог-файл
windir%logscbscbs.log
. Для всех записей, оставленных SFC в файле CBS.log проставлен тег [SR]. Чтобы выбрать из лога только записи, относящиеся к SFC, выполните команду:

findstr /c:"[SR]" %windir%LogsCBSCBS.log >"%userprofile%Desktopsfc.txt"

Если команда sfc /scannow возвращает ошибку “
Программа защиты ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них / Windows Resource Protection found corrupt files but was unable to fix some of them
”, скорее всего утилита не смогла получить необходимые файла из хранилища компонентов (образа) Windows.

sfc /scannow Программа защиты ресурсов 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 как поврежденный и возможно ли исправить его.

DISM /CheckHealth - проверка повреждений в образе 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.

DISM Cleanup-Image ScanHealth проверить хранилище компонентов 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 /Online /Cleanup-Image /RestoreHealth - восстановление образа windows 10

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).

DISM /RestoreHealth Error 0x800f081f, The source files could not be found<

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

  • Установочный диск/флешка/iso образ Windows
  • Смонтированный файл wim
  • Папка sourcesSxS с установочного диска
  • Файл install.wim с установочным образом Windows

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

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

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

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

powershell Get-ComputerInfo получить номер билда и редакцию windows

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

Get-WindowsImage -ImagePath "D:sourcesinstall.wim"

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

index версии windows в wim файле

Для восстановления хранилища компонентов из локального WIM/ESD файла с блокированием доступа в интернет, выполните следующую команду (не забудьте указать ваш индекс версии Windows в файле):

DISM /online /cleanup-image /restorehealth /source:WIM:D:sourcesinstall.wim:6  /limitaccess

Или:
DISM /online /cleanup-image /restorehealth /source:ESD:D:sourcesinstall.esd:6  /limitaccess

dism restorehealth source: восстановить хранилище компонентов из оригинального образа Windows на установочном диске, ISO, WIM файле

Если при запуске появляется

  • Ошибка Error: 50: DISM does not support servicing Windows PE with the /Online option, значит ваша DISM считает, что вы используете WinPE образWindows. Чтобы исправить это, удалите ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlMiniNT.
  • Ошибка DISM Error 87: проверьте правильно написания команды, убедитесь что вы используете версию DISM для вашей версии Windows (обычно бывает при загрузке через WinPE/WinRE).

Утилита DISM пишет подробный журнал сканирования и восстановления системных файлов в файл
C:WindowsLogsDISMdism.log
.

После восстановления хранилища компонентов вы можете запустить утилиту проверки системных файлов
sfc /scannow
. Скорее всего она успешно восстановит поврежденные файлы:

Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. 
Windows Resource Protection found corrupt files and successfully repaired them.

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

Если все системные файлы целы, появится сообщение:

Windows Resource Protection did not find any integrity violations

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

В версии PowerShell в Windows 10/11 и Windows Server 2022/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните:

Repair-WindowsImage -Online –ScanHealth

Repair-WindowsImage -Online –ScanHealth ImageHealth State: Healthy

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

ImageHealth State: Healthy

Для запуска восстановления системных компонентов и файлов наберите:


Repair-WindowsImage -Online -RestoreHealth

При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10 (здесь также нужно указать индекс версии Windows в wim файле в качестве источника восстановления):

Repair-WindowsImage -Online -RestoreHealth -Source D:sourcesinstall.wim:5 –LimitAccess

DISM: восстановление поврежденного хранилища компонентов, если Windows не загружается

Если Windows не загружается корректно, вы можете выполнить проверку и исправление системных файлов в оффлайн режиме.

  1. Для этого загрузите компьютер с установочного образа Windows (проще всего создать загрузочную USB флешку с Windows 10/11 с помощью Media Creation Tool) и на экране начала установки нажмите
    Shift + F10
  2. Чтобы разобраться с буквами дисков, назначенных в среде WinPE, выполните команду
    diskpart
    ->
    list vol
    (в моем примере диску, на котором установлена Windows присвоена буква C:, эту букву я буду использовать в следующих командах);diskpart получить буквы дисков
  3. Проверим системные файлы и исправим поврежденные файлы командой:
    sfc /scannow /offbootdir=C: /offwindir=C:Windows

    sfc /scannow /offbootdir=C: /offwindir=C:Windows
  4. Для исправления хранилища компонентов используйте следующую команду (в качестве источника для восстановления компонентов мы используем WIM файл с установочным образом Windows 10, с которого мы загрузили компьютер):
    Dism /image:C: /Cleanup-Image /RestoreHealth /Source:WIM:D:sourcesinstall.wim:6
    Dism /image /RestoreHealth offline в windows 10
  5. Если на целевом диске недостаточно места, то для извлечения временных файлов нам понадобится отдельный диск достаточного размера, например F:, на котором нужно создать пустой каталог:
    mkdir f:scratch
    и запустить восстановление хранилища компонентов командой:
    Dism /image:C: /Cleanup-Image /RestoreHealth /Source:D:sourcesinstall.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 на полную без переустановки.

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Windows server 2008 не удалось найти системный том
  • Windows server 2008 не работает удаленный доступ
  • Windows server 2008 не работает dns
  • Windows server 2008 не переключается язык
  • Windows server 2008 не открывается порт

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии