Проверка системных файлов

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
компонент Windows
Проверка системных файлов
Тип компонента компонент Microsoft Windows[d] и системное программное обеспечение
Сайт learn.microsoft.com/… (англ.)

Проверка системных файлов (SFC) — утилита Microsoft Windows, позволяющая пользователю находить и восстанавливать повреждения системных файлов Windows. Компонент доступен в Windows 98, Windows 2000 и всех последующих версиях операционных систем семейства Windows NT. В Windows Vista и Windows 7 проверка системных файлов встроена в защиту ресурсов Windows, которая защищает не только критичные системные файлы, но и ключи реестра, и папки. Под Windows Vista sfc.exe может быть использован для проверки особых путей, включая папку Windows и папку загрузки.

Защита файлов Windows работает за счёт регистрации уведомлении об изменении файлов в программе входа в систему. Если обнаружены какие-либо изменения защищённых системных файлов, то восстанавливается их изначальная версия из сжатой папки %WinDir%\System32\dllcache. Защита ресурсов Windows устанавливает DACL и ACL для защищённых ресурсов. Права для полного доступа к ним принадлежат сервису установки модулей Windows TrustedInstaller.exe. Администраторы больше не могут изменять системные файлы.

История[править | править код]

В связи с проблемами с приложениями Windows, способными перезаписывать системные файлы Windows 95, Microsoft создала несколько мер безопасности для защиты системных файлов от атак злоумышленников, повреждений или таких проблем как DLL hell.

Проверка системных файлов впервые появилась в Windows 98 как утилита с GUI. Она предлагала сканирование и восстановление повреждённых системных файлов, путём сопоставления текущих версий содержащимся в базе данных изначальным версиям файлов. Этот метод защиты был базовым. Он определял системные файлы по расширению и местоположению. Можно было восстановить файлы с установочного диска или из места, указанного пользователем. Windows 98 не предлагала никаких методов постоянной защиты, кроме атрибутов файлов; по этой причине не было доступно каких-либо профилактических мер.

Все операционные системы семейства Windows NT, начиная с Windows 2000, предоставляли постоянную защиту файлов, называемую защитой файлов Windows.[1]

В дополнение программа проверки системных файлов (sfc.exe) была переопределена как более мощная утилита командной строки, интегрированная с защитой файлов Windows. В отличие от SFC в Windows 98, она сканирует защищённые системные файлы, используя защиту файлов Windows и позволяет автоматически восстанавливать их из папки DLLCache или с установочного диска.

SFC не было в Windows ME,[2] вместо неё использовалась защита системных файлов. Она, как и защита файлов Windows обеспечивала постоянную защиту.

Версии[править | править код]

Компонент проверки системных файлов, входящий в состав Windows 2000 с Service Pack менее 4, известен тем, что он аннулирует исправления, предоставленные Microsoft.[3] Проблема была устранена в Windows 2000 Service Pack 4.

Применение[править | править код]

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

sfc /scannow 

При нахождении проблемы будет выполнена попытка заменить проблемный файл файлом из кэша DLL (%WinDir%\System32\Dllcache\). Если там нет нужного файла или кэш DLL повреждён, то пользователю будет предложено вставить установочный диск Windows или указать путь к файлу. Проверка системных файлов определяет исходный путь установки Windows по значениям реестра SourcePath иServicePackSourcePath.[4] Для этого может потребоваться установочный диск.[5]

С Windows Vista файлы защищены ACL, но, несмотря на это, команда не изменила своего значения.

Начиная с Windows Vista, проверка системных файлов может сканировать конкретные файлы. Также, сканирование может быть осуществлено в другой папке установки Windows для замены повреждённых файлов (в случае, если Windows не загружается). Чтобы запустить такое сканирование, следует выполнить средство проверки системных файлов с другой рабочей установки Windows Vista и более поздних версий или с DVD-диска установки Windows, откуда можно получить доступ к среде восстановления Windows.

В случае, когда хранилище компонента повреждено, в Windows Vista и 7 можно установить инструмент CheckSUR, который проверяет хранилище и восстанавливает обнаруженные повреждения. С Windows 8 функционал CheckSUR встроен в DISM.

Примечания[править | править код]

Ссылки[править | править код]