SFC is highly useful utility, bundled with Windows (mostly talking about XP in this post, mechanics slightly differ on other versions) that checks system files and replaces them with original versions if needed.
However there are some logic faults that often make it endlessly ask for Windows installation disc, in some cases refusing to recognize one.
What it does
SFC is very easy to use, it is launched by running
sfc /scannow
Then it displays scan progress, makes use of dllcache system folder and restores files if needed.
Up to the point where things go wrong and it starts asking for installation disc.
Nature of problem
There are a lot of possible causes this but most common are:
- disc is long gone;
- disc is present but not recognized by SFC;
- disc is present but has different Service Pack version to that SFC asks for.
To make SFC shut up and do its job following is usually needed:
- I386 folder from installation disc;
- sometimes full service pack installation files;
- some registry edits.
File sources paths
Overall SFC must know where are original files, service pack files and does media used fits. All of this is controlled by registry keys in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup
- SourcePath – path to where I386 folder of Windows installation files is located;
- ServicePackSourcePath – same for I386 folder of Service Packs, which may or may not be the same;
- CDInstall – was CD disc used during installation.
I suggest to:
- copy I386 folder to hard drive
- Service Packs may need to be unpacked, if not included on CD you are using – it is best to use folder named I386 for this as well;
- set paths accordingly, note that they refer to folder where I386 resides, not I386 itself;
- set CDInstall to 0.
Most of the time this is enough to stop nagging for correct disc.
Relocating DLL cache
dllcache folder may often seem like space hog so there are some tweaks for that in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
- SfcQuota – determines how much space can dllcache occupy, it is hex number in megabytes.
- SFCDllCacheDir – sets directory where dllcache resides, this key is not present by default and must be created manually.
Overall
SFC is highly useful utility when something goes wrong with system files (like being chewed by virus) but it can be annoying when encounters problems with configuration of source file paths. Hopefully this post will be remedy enough.
For interested (or desperate) I also suggest reading:
sfc / scnannow - Foros Softonic #
How to restore system file from Windows disc | Rarst.net #
Schedule or prevent Windows shutdown | Rarst.net #