Opis funkcji ochrony plików systemu Windows

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 222193 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL222193
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano funkcję Ochrona plików systemu Windows (WFP).

Więcej informacji

Ochrona plików systemu Windows (WFP) uniemożliwia programom zastąpienie najważniejszych plików systemu Windows. Programom nie wolno zastąpić tych plików, ponieważ są one używane przez system operacyjny i przez inne programy. Ochrona tych plików zapobiega problemom z programami i z systemem operacyjnym.

Funkcja WFP chroni najważniejsze pliki systemowe instalowane z systemem Windows (na przykład pliki z rozszerzeniem .dll, .exe, .ocx i .sys oraz pewne czcionki True Type). Funkcja WFP korzysta z podpisów plików i plików wykazów generowanych przez podpisywanie kodu, weryfikując, że chronione pliki systemowe są poprawnymi wersjami produkcji firmy Microsoft. Zastąpienie chronionych plików systemowych jest obsługiwane tylko w wypadku zastosowania następujących mechanizmów:
  • Instalacja dodatku Service Pack dla systemu Windows przy użyciu programu Update.exe
  • Poprawki instalowane przy użyciu programu Hotfix.exe lub Update.exe
  • Uaktualnienia systemu operacyjnego przy użyciu programu Winnt32.exe
  • Windows Update
Jeśli program użyje innej metody do zastąpienia chronionych plików, funkcja WFP przywróci oryginalne pliki. Instalator Windows przestrzega zasad WFP podczas instalacji najważniejszych plików systemowych i wywołuje funkcję WFP z żądaniem instalacji lub zastąpienia chronionego pliku.

Sposób działania funkcji WFP

Funkcja WFP chroni pliki systemowe za pomocą dwóch mechanizmów. Pierwszy z nich działa w tle. Ta ochrona jest wywoływana, kiedy funkcja WFP otrzyma powiadomienie o zmianie katalogu dla pliku w chronionym katalogu. Po otrzymaniu tego powiadomienia przez funkcję WFP określa ona, który plik został zmieniony. Jeśli plik nie jest chroniony, funkcja WFP sprawdza sygnaturę pliku w pliku wykazu, aby określić, czy nowy plik ma właściwą wersję. Jeśli jego wersja jest niewłaściwa, funkcja WFP zastępuje nowy plik plikiem pochodzącym z folderu pamięci podręcznej (jeśli znajduje się on w tym folderze) lub ze źródła instalacji. Funkcja szuka poprawnego pliku w następujących lokalizacjach we wskazanej kolejności:
  1. Folder pamięci podręcznej (domyślnie %systemroot%\system32\dllcache).
  2. Ścieżka instalacji sieciowej, jeśli system został zainstalowany w trybie instalacji sieciowej.
  3. Dysk CD-ROM z systemem Windows, jeżeli system był instalowany z dysku CD.
Jeśli funkcja WFP odnajdzie plik w folderze pamięci podręcznej lub jeśli źródło instalacji zostanie automatycznie zlokalizowane, funkcja WFP w trybie cichym zastąpi plik. Jeśli zaś funkcja WFP nie może automatycznie odnaleźć pliku w żadnej ze wskazanych lokalizacji, pojawi się jeden z następujących komunikatów, gdzie nazwa_pliku jest nazwą zastąpionego pliku, a produkt jest nazwą używanego systemu Windows:
  • Ochrona plików systemu Windows
    Pliki wymagane do prawidłowego działania systemu Windows zostały zastąpione nierozpoznanymi wersjami. Aby zapewnić stabilność systemu, system Windows musi przywrócić oryginalne wersje tych plików. Włóż dysk CD-ROM zawierający produkt.
  • Ochrona plików systemu Windows
    Pliki wymagane do prawidłowego działania systemu Windows zostały zastąpione nierozpoznanymi wersjami. Aby zapewnić stabilność systemu, system Windows musi przywrócić oryginalne wersje tych plików. Lokalizacja sieciowa, z której mają zostać skopiowane pliki \\serwer\udział jest niedostępna. Skontaktuj się z administratorem systemu lub włóż teraz dysk CD-ROM zawierający produkt.
Uwaga: Jeśli administrator nie jest zalogowany, funkcja WFP nie może wyświetlić żadnego z tych okien dialogowych. W takim przypadku funkcja WFP wyświetla okno dialogowe po zalogowaniu się administratora. Funkcja WFP może oczekiwać na zalogowanie administratora w następujących przypadkach:
  • Brak wpisu rejestru SFCShowProgress lub ustawienie jego wartości na 1, a także konfiguracja serwera sprawiająca, że po każdym uruchomieniu komputera wykonuje on skanowanie. W takiej sytuacji funkcja WFP czeka na logowanie do konsoli. W takim przypadku serwer RPC nie jest uruchamiany do momentu zakończenia skanowania. W tym czasie komputer nie jest chroniony.

    Uwaga: Nadal można mapować dyski sieciowe, korzystać z plików systemowych oraz usług terminalowych, aby logować się do serwera. Funkcja WFP nie rozpoznaje tych operacji jako logowania do konsoli i kontynuuje oczekiwanie.
  • Funkcja WFP musi przywrócić plik z udziału sieciowego. Ta sytuacja może wystąpić, gdy plik nie znajduje się w folderze Dllcache lub jest uszkodzony. W takiej sytuacji funkcja WFP może nie mieć właściwych poświadczeń, aby uzyskać dostęp do udziału ze znajdującego się w sieci nośnika instalacyjnego.
Drugi mechanizm ochrony, zapewniany przez funkcję WFP, to narzędzie o nazwie Kontroler plików systemowych (Sfc.exe). Przy końcu instalacji w trybie graficznym Kontroler plików systemowych skanuje wszystkie chronione pliki, aby sprawdzić, czy nie zostały zmodyfikowane przez programy, które zainstalowano w trybie bez nadzoru. Kontroler plików systemowych sprawdza również wszystkie pliki wykazu służące do śledzenia prawidłowych wersji plików. Jeżeli brakuje któregoś z plików wykazu albo jest on uszkodzony, funkcja WFP zmienia nazwę odpowiedniego pliku wykazu i pobiera buforowaną wersję tego pliku z folderu pamięci podręcznej. Jeżeli w folderze pamięci podręcznej brakuje buforowanej kopii pliku wykazu, funkcja WFP żąda włożenia odpowiedniego nośnika, z którego pobiera następnie nową kopię pliku wykazu.

Kontroler plików systemowych daje administratorowi możliwość skanowania wszystkich chronionych plików w celu sprawdzenia prawidłowości ich wersji. Kontroler plików systemowych sprawdza również, a w razie konieczności także ponownie wypełnia, folder pamięci podręcznej (domyślnie %SystemRoot%\System32\Dllcache). Jeżeli folder pamięci podręcznej jest uszkodzony albo nie nadaje się do użytku, można użyć polecenia sfc /scanonce albo sfc /scanboot w wierszu polecenia, aby naprawić jego zawartość.

Możliwe są trzy następujące ustawienia wartości
SfcScan
w następującym kluczu rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Ustawienia wartości
SfcScan
:
  • 0x0
    = pliki chronione nie są skanowane po ponownym uruchomieniu. (wartość domyślna)
  • 0x1
    = wszystkie pliki chronione są skanowane po każdym ponownym uruchomieniu (wartość ustawiana po uruchomieniu polecenia sfc /scanboot)
  • 0x2
    = wszystkie pliki chronione są jednokrotnie skanowane po uruchomieniu (wartość ustawiana po uruchomieniu polecenia sfc /scanonce)
Domyślnej wszystkie pliki systemowe są buforowane w folderze pamięci podręcznej, a domyślny rozmiar buforu wynosi 400 MB. Ze względu na oszczędność miejsca na dysku przechowywanie buforowanych wersji wszystkich plików systemowych w folderze pamięci podręcznej może być niepożądane. Aby zmienić rozmiar pamięci podręcznej, zmień ustawienia wartości
SFCQuota
w następującym kluczu rejestru:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Funkcja WFP zapisuje zweryfikowane wersje plików w folderze Dllcache na dysku twardym. Liczba buforowanych plików jest określana przez ustawienie wartości
SFCQuota
(domyślny rozmiar to 0xFFFFFFFF, czyli 400 MB). Administrator może dowolnie zmniejszyć lub zwiększyć ustawienia wartości
SFCQuota
. W przypadku ustawienia wartości
SFCQuota
jako
0xFFFFFFFF
funkcja WFP będzie buforować wszystkie chronione pliki systemowe (około 2700).

Zachodzą dwa wypadki, w których folder pamięci podręcznej może nie zawierać kopii wszystkich plików, bez względu na wartość SFCQuota:
  1. Za mało miejsca na dysku

    W systemie Windows XP funkcja WFP przestaje zapełniać folder pamięci podręcznej, gdy na dysku jest mniej wolnego miejsca niż 600 MB plus maksymalny rozmiar pliku stronicowania.
    W systemie Windows 2000 funkcja WFP przestaje zapełniać folder pamięci podręcznej, gdy na dysku jest mniej wolnego miejsca niż 600 MB.
  2. Instalacja sieciowa

    Jeżeli system Windows 2000 lub Windows XP był instalowany przez sieć, pliki w katalogu i386\lang nie zostaną przekazane do folderu Dllcache.
Poza tym wszystkie sterowniki w pliku Driver.cab są chronione, lecz nie są przekazywane do folderu Dllcache. Funkcja WFP może przywrócić te pliki bezpośrednio z pliku Driver.cab bez monitowania użytkownika o nośnik źródłowy. Wykonanie polecenia sfc /scannow powoduje jednak przekazanie plików z pliku Driver.cab do folderu Dllcache.

Jeśli funkcja WFP wykryje zmianę, a oryginał zmienionego pliku nie znajduje się w folderze pamięci podręcznej, funkcja WFP zbada wersję zmienionego pliku, której aktualnie używa system operacyjny. Jeśli aktualnie używany plik ma poprawną wersję, plik jest kopiowany przez funkcję WFP do folderu pamięci podręcznej. Jeśli plik będący aktualnie w użyciu nie ma poprawnej wersji lub jeśli nie jest on przechowywany w folderze pamięci podręcznej, funkcja WFP próbuje zlokalizować źródło instalacji. Jeśli funkcja WFP nie może znaleźć źródła instalacji, monituje administratora o włożenie odpowiedniego nośnika w celu zastąpienia pliku lub buforowanej wersji pliku.

Wartość
SFCDllCacheDir
(
REG_EXPAND_SZ
) w następującym kluczu rejestru określa lokalizację folderu Dllcache.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Domyślna wartość wartości SFCDllCacheDir to
%SystemRoot%\System32
. Wartość
SFCDllCacheDir
może być ścieżką lokalną. Domyślnej wartości
SFCDllCacheDir
nie ma na liście klucza rejestru
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
. Aby zmienić lokalizację pamięci podręcznej, należy dodać tę wartość.

Podczas uruchamiania systemu Windows funkcja WFP synchronizuje (kopiuje) ustawienia funkcji WFP z klucza rejestru
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection
do następującego klucza rejestru:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Dlatego jeśli wartości
SfcScan
,
SFCQuota
lub
SFCDllCacheDir
znajdują się w podkluczu
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection
, mają one pierwszeństwo w stosunku do tych samych wartości znajdujących się w podkluczu
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
.
Aby uzyskać więcej informacji o funkcji WFP, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
222473 Ustawienia rejestru kontrolujące Ochronę plików systemu Windows
Aby uzyskać więcej informacji o Kontrolerze plików systemu w systemie Windows XP i Windows Server 2003, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
310747 Description of Windows XP and Windows Server 2003 System File Checker (Sfc.exe)
Aby uzyskać więcej informacji o Kontrolerze plików systemu w systemie Windows 2000, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
222471 Opis narzędzia Kontroler plików systemu Windows

Materiały referencyjne

Aby uzyskać dodatkowe informacje o funkcji WFP, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://msdn2.microsoft.com/en-us/library/aa382551.aspx
Aby uzyskać dodatkowe informacje o Instalatorze Windows i funkcji WFP, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://msdn2.microsoft.com/en-us/library/aa372820.aspx

Właściwości

Numer ID artykułu: 222193 - Ostatnia weryfikacja: 3 grudnia 2007 - Weryfikacja: 11.7
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
Słowa kluczowe: 
kbinfo KB222193

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com