Meer informatie
Windows Bestandsbeveiliging helpt voorkomen dat essentiële systeembestanden worden vervangen. Programma's mogen die bestanden niet overschrijven omdat ze worden gebruikt door het besturingssysteem en andere programma's. Beveiliging van deze bestanden voorkomt problemen met het besturingssysteem en andere programma's.
Windows Bestandsbeveiliging beveiligt essentiële systeembestanden die als onderdeel van Windows worden geïnstalleerd (bijvoorbeeld bestanden met de extensie .DLL, .EXE, .OCX en .SYS en bepaalde True Type-lettertypen). Windows Bestandsbeveiliging gebruikt de door code-ondertekening gegenereerde bestandshandtekeningen en catalogusbestanden om te verifiëren of systeembestanden de juiste Microsoft-versie hebben. Vervanging van beveiligde systeembestanden wordt uitsluitend ondersteund via de volgende mechanismen:
- Installatie van een Windows servicepack met behulp van Update.exe
- Installatie van hotfixes met behulp van Hotfix.exe of Update.exe
- Upgrades van het besturingssysteem met behulp van Winnt32.exe
- Windows Update
Als een programma van een andere methode gebruikmaakt om beveiligde bestanden te vervangen, worden de oorspronkelijke bestanden hersteld door Windows Bestandsbeveiliging. Windows Installer gebruikt Windows Bestandsbeveiliging bij de installatie van belangrijke systeembestanden en installeert of vervangt een beveiligd bestand niet zelf maar roept Windows Bestandsbeveiliging aan met een verzoek om het beveiligde bestand te installeren of vervangen.
Werking van de functie Windows Bestandsbeveiliging
De functie Windows Bestandsbeveiliging biedt beveiliging voor systeembestanden via twee mechanismen. Het eerste mechanisme wordt uitgevoerd in de achtergrond. Deze beveiliging wordt geactiveerd nadat Windows Bestandsbeveiliging een bericht van mapwijziging ontvangt voor een bestand in een beveiligde map. Na ontvangst van deze melding stelt Windows Bestandsbeveiliging vast welk bestand is gewijzigd. Als het bestand beveiligd is, zoekt Windows Bestandsbeveiliging de bestandshandtekening op in een catalogusbestand om vast te stellen of het nieuwe bestand de juiste versie heeft. Als het bestand niet de juiste versie heeft, vervangt Windows Bestandsbeveiliging het nieuwe bestand door het bestand uit de cachemap (als dat zich in de cachemap bevindt) of het bestand uit de installatiebron. Windows Bestandsbeveiliging zoekt op de volgende locaties en in de gegeven volgorde naar het juiste bestand:
- De cachemap (standaardlocatie %systemroot%\system32\dllcache).
- Het netwerkinstallatiepad, als het systeem werd geïnstalleerd via een netwerkinstallatie.
- De cd-rom van Windows, als het systeem werd geïnstalleerd vanaf cd-rom.
Als Windows Bestandsbeveiliging het bestand aantreft in de cachemap of als de installatiebron automatisch wordt vastgesteld, wordt het bestand zonder waarschuwing vervangen. Als Windows Bestandsbeveiliging het bestand niet automatisch kan vinden op een van deze locaties, worden de volgende foutberichten weergegeven. Hierbij is
bestandsnaam de naam van het bestand dat werd vervangen en
product het Windows-product dat u gebruikt:
Windows Bestandsbeveiliging
Enkele bestanden die voor een goede werking van Windows nodig zijn, zijn vervangen door niet-herkende versies. De oorspronkelijke versie van deze bestanden moet worden teruggezet om systeemstabiliteit te behouden. Plaats nu: product cd-rom.
Windows Bestandsbeveiliging
Enkele bestanden die voor een goede werking van Windows nodig zijn, zijn vervangen door niet-herkende versies. De oorspronkelijke versie van deze bestanden moet worden teruggezet om systeemstabiliteit te behouden. De netwerklocatie waar de bestanden vandaan moeten worden gekopieerd, \server\share, is niet beschikbaar. Neem contact op met de systeembeheerder of plaats nu product cd-rom.
Opmerking Als geen beheerder is aangemeld, kan Windows Bestandsbeveiliging deze dialoogvensters niet weergeven. In dat geval wordt er een dialoogvenster weergegeven nadat een beheerder zich heeft aangemeld. Windows Bestandsbeveiliging wacht op aanmelding van een beheerder in de volgende gevallen:
- De registervermelding SFCShowProgress ontbreekt of is ingesteld op 1 en de server is ingesteld om te scannen telkens wanneer de computer wordt gestart. In dat geval wacht Windows Bestandsbeveiliging op een aanmelding op de console. De RPC-server start pas als de scan wordt uitgevoerd. Gedurende die tijd is de computer niet beveiligd.
Opmerking U kunt nog wel netwerkstations toewijzen, systeembestanden gebruiken en Terminal Services gebruiken voor aanmelding bij de server. Windows Bestandsbeveiliging beschouwt deze bewerkingen niet als aanmelden op de console en wacht gedurende onbepaalde tijd. - Windows Bestandsbeveiliging moet een bestand op een netwerkshare herstellen. Deze situatie kan zich voordoen als het bestand zich niet in de map Dllcache bevindt of als het bestand is beschadigd. Windows Bestandsbeveiliging heeft in dat geval mogelijk niet de juiste referenties voor toegang tot de share vanaf de installatiemedia op het netwerk.
Het tweede beveiligingsmechanisme dat door de functie Windows Bestandsbeveiliging wordt geboden, is het hulpprogramma Systeembestandscontrole (Sfc.exe). Tot besluit van Setup in de GUI-modus controleert Systeembestandscontrole alle beveiligde bestanden om vast te stellen of deze bestanden niet zijn gewijzigd door programma's die tijdens een installatie zonder toezicht werden geïnstalleerd. Het hulpprogramma Systeembestandscontrole controleert tevens alle catalogusbestanden die werden gebruikt om de juiste bestandsversies vast te stellen. Als een catalogusbestand ontbreekt of beschadigd is, wijzigt Windows Bestandsbeveiliging de naam van het betreffende catalogusbestand en wordt een cacheversie van het bestand opgehaald uit de cachemap. Als in de cachemap geen kopie van het catalogusbestand aanwezig is, vraagt Windows Bestandsbeveiliging de van toepassing zijnde media om een nieuw exemplaar van het catalogusbestand op te halen.
Met het hulpprogramma Systeembestandscontrole kan een beheerder alle beveiligde bestanden scannen om de versie ervan te controleren. Het hulpprogramma Systeembestandscontrole controleert tevens de cachemap (standaardlocatie %SystemRoot%\System32\Dllcache) en werkt deze bij. Als de cachemap beschadigd of onbruikbaar wordt, kunt u de opdracht
sfc /scanonce of
sfc /scanboot vanaf een opdrachtprompt gebruiken om de inhoud van de map te herstellen.
De waarde
SfcScan in de volgende registersleutel heeft drie mogelijke instellingen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
De instellingen voor de waarde
SfcScan zijn:
- 0x0 = geen beveiligde bestanden scannen na het herstarten (standaardwaarde).
- 0x1 = alle beveiligde bestanden scannen na elke herstart (instellen als sfc /scanboot wordt uitgevoerd).
- 0x2 = alle beveiligde bestanden eenmaal scannen na een herstart (instellen als sfc /scanonce wordt uitgevoerd).
Alle systeembestanden worden standaard opgeslagen in de cachemap. De standaardgrootte van de cache is 400 MB. Rekening houdend met de schijfruimte, is het wellicht niet wenselijk om cacheversies van alle systeembestanden in de cachemap te behouden. Als u de grootte van de cache wilt wijzigen, wijzigt u de instelling van de waarde
SFCQuota in de volgende registersleutel:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Windows Bestandsbeveiliging slaat geverifieerde bestandsversies op in de map Dllcache op de vaste schijf. Het aantal bestanden in de cache wordt bepaald door de instelling van de waarde voor
SFCQuota (de standaardgrootte is 0xFFFFFFFF, ofwel 400 MB). De beheerder kan de instelling voor de waarde
SFCQuota naar wens verhogen of verlagen. Als u de waarde voor
SFCQuota instelt op
0xFFFFFFFF, slaat Windows Bestandsbeveiliging alle beveiligde systeembestanden (ongeveer 2700 stuks) op in de cache.
In twee gevallen bevat de cachemap mogelijk niet alle exemplaren van beveiligde bestanden, ongeacht de waarde voor SFCQuota:
- Er is onvoldoende ruimte beschikbaar op de vaste schijf.
In Windows XP plaatst Windows Bestandsbeveiliging geen bestanden meer in de map Dllcache wanneer minder dan 600 MB + de maximale grootte van het wisselbestand aan ruimte beschikbaar is op de vaste schijf .
In Windows 2000 plaatst Windows Bestandsbeveiliging geen bestanden meer in de map Dllcache wanneer minder dan 600 MB ruimte beschikbaar is op de vaste schijf. - Netwerkinstallatie.
Wanneer Windows 2000 of Windows XP via het netwerk is geïnstalleerd, worden bestanden uit de map i386\lang niet opgenomen in de map Dllcache.
Daarnaast zijn alle stuurprogramma's in het bestand Driver.cab beveiligd, maar worden deze evenmin opgenomen in de map Dllcache. Windows Bestandsbeveiliging kan de bestanden uit het bestand Driver.cab rechtstreeks herstellen, zonder de gebruiker naar de bronmedia te vragen. Door echter de opdracht
sfc /scannow uit te voeren, worden de bestanden uit het bestand Driver.cab opgeslagen in de map Dllcache.
Als Windows Bestandsbeveiliging ontdekt dat een bestand is gewijzigd en dit bestand zich niet in de cachemap bevindt, wordt gecontroleerd welke versie van het gewijzigde bestand momenteel door het besturingssysteem wordt gebruikt. Als het bestand dat momenteel wordt gebruikt de juiste versie heeft, kopieert Windows Bestandsbeveiliging deze versie van het bestand naar de cachemap. Als het bestand dat momenteel wordt gebruikt niet de juiste versie heeft of als het bestand niet is opgeslagen in de cachemap, probeert Windows Bestandsbeveiliging de installatiebron te vinden. Als Windows Bestandsbeveiliging de installatiebron niet kan vinden, wordt de beheerder gevraagd het juiste medium te plaatsen om het bestand of de cacheversie van het bestand te vervangen.
De waarde voor
SFCDllCacheDir (
REG_EXPAND_SZ) in de volgende registersleutel bepaalt de locatie van de map Dllcache.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
De standaardgegevenswaarde voor
SFCDllCacheDir is
%SystemRoot%\System32. De waarde
SFCDllCacheDir kan een lokaal pad aanduiden. De waarde
SFCDllCacheDir wordt standaard niet vermeld in de registersleutel
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon. Als u de locatie van de cache wilt wijzigen, moet u deze waarde toevoegen.
Bij het starten van Windows worden de instellingen voor Windows Bestandsbeveiliging gesynchroniseerd (gekopieerd) van de registersleutel
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection
naar de registersleutel:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Als de waarde
SfcScan,
SFCQuota of
SFCDllCacheDir aanwezig is in de subsleutel
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection, heeft deze waarde voorrang boven dezelfde waarde in de subsleutel
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
Referenties
Meer informatie over de functie Windows Bestandsbeveiliging vindt u op de volgende Microsoft-website:
Meer informatie over Windows Installer en Windows Bestandsbeveiliging vindt u op de volgende Microsoft-website: