Защита системных файлов (Windows File Protection)
Все версии Windows, предшествовавшие Windows 2000, имели один общий недостаток – при установке дополнительного программного обеспечения практически любые совместно используемые системные файлы, в том числе *.dll и *.ехе, могли быть изменены. Последствия замены этих файлов некорректными или несовместимыми версиями могли быть непредсказуемыми: от снижения производительности операционной системы до некорректного поведения остальных приложений, периодического появления ошибок STOP и даже проблем с загрузкой.
В Windows 2000 впервые за всю историю Windows была сделана попытка исправления этой ситуации. Разумеется, эта же функциональная возможность присутствует и в Windows ХР, а также в продуктах из семейства Windows Server 2003.
Функция защиты системных файлов Windows (Windows File Protection, WFP) включает в свой состав следующие два компонента:
- сервис защиты системных файлов (Windows File Protection service);
- утилиту командной строки System File Checker (Sfc.exe).
Сервис Windows File Protection (WFP) работает по принципу определения цифровых подписей защищенных системных файлов (в их число входят файлы с расширениями .sys, .dll, .ocx, .ttf, .fon и. ехе), не позволяя произвольно модифицировать и замещать эти файлы. Сервис Windows File Protection работает в фоновом режиме и защищает все системные файлы, установленные программой Setup при инсталляции операционной системы.
Выявив попытку изменения или перемещения защищенного файла, WFP проверяет измененный файл на наличие у него цифровой подписи. В случаях, когда версия, предназначенная на замену, не является корректной, Windows File Protection замещает этот файл резервной копией из папки %SystemRoot% \system32\dllcache и регистрирует попытку замещения файла в журнале системных событий.
Папка %SystemRoot%\System32\Dllcache может быть достаточно объемной и занимать до 300 Мбайт дискового пространства. По этой причине некоторые пользователи, в целях освобождения дополнительного дискового пространства, удаляют эту папку вместе со всем ее содержимым. Если дополнительный объем дискового пространства для вас актуален, вы тоже можете поступить таким образом. Однако при этом следует иметь в виду, что если сервис WFP не сможет обнаружить надлежащей версии файла в папке %SystemRoot%\system32\dllcache, то вам будет предложено вставить дистрибутивный компакт-диск в устройство CD-ROM или указать путь к каталогу, из которого такая версия может быть скопирована.
По умолчанию функция WFP всегда активизирована и позволяет выполнять замену системных файлов только в случае установки следующих видов программного обеспечения:
- сервисных пакетов Windows 2000/XP и Windows Server 2003 (с использованием программы Update.exe);
- дистрибутивных пакетов типа Hotfix (с использованием Hotfix.exe);
- обновлений версии операционной системы (с помощью Winnt32.exe);
- программного обеспечения с сайта Windows Update.