Проверка системных файлов ( SFC [1] ) — это утилита в Microsoft Windows , которая позволяет пользователям сканировать и восстанавливать поврежденные системные файлы Windows. [2]
Microsoft поставляет эту утилиту с Windows 98 , Windows 2000 и всеми последующими версиями операционных систем семейства Windows NT . В Windows Vista , Windows 7 и Windows 10 средство проверки системных файлов интегрировано с защитой ресурсов Windows (WRP), которая защищает ключи и папки реестра , а также важные системные файлы. В Windows Vista sfc.exe
можно использовать для проверки путей к определенным папкам, включая папку Windows и загрузочную папку.
Защита файлов Windows (WFP) работает путем регистрации уведомлений об изменениях файлов в Winlogon . Если в защищенном системном файле обнаружены какие-либо изменения, измененный файл восстанавливается из кэшированной копии, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache
. Защита ресурсов Windows работает путем установки списков управления доступом (DACL) и списков управления доступом (ACL), определенных для защищаемых ресурсов. Разрешение на полный доступ к изменению ресурсов, защищенных WRP, ограничено процессами, использующими службу установщика модулей Windows ( TrustedInstaller.exe
). Администраторы больше не имеют полных прав на системные файлы.
Из-за проблем с приложениями Windows, способными перезаписывать системные файлы в Windows 95 , Microsoft с тех пор реализовала ряд мер безопасности для защиты системных файлов от вредоносных атак, повреждений или таких проблем, как DLL Hell .
Проверка системных файлов впервые была представлена в Windows 98 как утилита с графическим интерфейсом. Он предлагал сканирование и восстановление поврежденных системных файлов путем сопоставления номера версии с базой данных, содержащей исходный номер версии файлов в новой установке Windows 98. Этот метод защиты файлов был базовым. Он определял системные файлы по расширению и пути к файлу . Удалось восстановить файлы с установочного носителя или источника, указанного пользователем. Windows 98 не предлагала защиту системных файлов в режиме реального времени, кроме атрибутов файлов ; поэтому не было никаких превентивных или ответных мер.
Во всех операционных системах на базе Windows NT, начиная с Windows 2000, была реализована защита файлов в реальном времени, называемая защитой файлов Windows (WFP). [3]
Кроме того, утилита проверки системных файлов ( sfc.exe
) была переработана как более надежная утилита командной строки, интегрированная с WFP. В отличие от утилиты SFC для Windows 98, новая утилита принудительно сканирует защищенные системные файлы с помощью Windows File Protection и позволяет немедленно автоматически восстанавливать системные файлы из папки DLLCache или установочного носителя.
SFC не появился в Windows ME , [4] так как был заменен на System File Protection (SFP). [5] Подобно WFP, SFP предлагал защиту в режиме реального времени.
Компонент проверки системных файлов, входящий в состав версий Windows 2000, предшествующих пакету обновления 4, отменяет исправления, распространяемые Microsoft; [6] это было исправлено в пакете обновления 4 для Windows 2000.
В операционных системах на базе Windows NT средство проверки системных файлов можно запустить через командную строку Windows (с правами администратора [7] ) с помощью следующей команды:
sfc /scannow
(для устранения проблем)sfc /verifyonly
(без ремонта)Если он обнаружит проблему, он попытается заменить проблемные файлы из кэша DLL ( %WinDir%\System32\Dllcache\
). Если файл отсутствует в кэше DLL или кэш DLL поврежден, пользователю будет предложено вставить установочный носитель Windows или указать сетевой путь установки. Средство проверки системных файлов определяет исходный путь установки Windows на основе значений реестра SourcePath
и файлов ServicePackSourcePath
. [8] Он может продолжать запрашивать установочный носитель, даже если пользователь предоставляет его, если эти значения установлены неправильно. [9]
В Windows Vista и более поздних версиях файлы защищены с помощью списков управления доступом (ACL), однако приведенная выше команда не изменилась.
Средство проверки системных файлов в Windows Vista и более поздних операционных системах Windows может сканировать определенные файлы. Кроме того, можно выполнить сканирование автономной папки установки Windows для замены поврежденных файлов, если установка Windows не загружается. Для выполнения автономного сканирования средство проверки системных файлов необходимо запустить из другой работающей установки Windows Vista или более поздней версии операционной системы, либо с установочного DVD-диска Windows [10] , либо с диска восстановления, который обеспечивает доступ к среде восстановления Windows .
В случаях, когда хранилище компонентов повреждено, «Инструмент готовности к обновлению системы» (CheckSUR) можно установить в Windows 7, Windows Vista, Windows Server 2008 R2 или Windows Server 2008, заменив его « Службой образов развертывания и средством управления » (DISM). ) для Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2 или Windows Server 2012. Этот инструмент проверяет хранилище на соответствие его собственным полезным данным и устраняет обнаруженные повреждения путем загрузки необходимых файлов через Центр обновления Windows. [11]
Вам не нужно взламывать реестр, чтобы изменить настройки WFP. В состав Windows Server 2003 входит утилита командной строки, предназначенная для установки этих значений. Утилита, называемая System File CheckerD11Cache
или SFC, также может восстановить файлы каталога, если файлы были случайно удалены.