The folder c:\i386 takes up a lot of space on my hard disk, so I moved it to
a drive on another machine on my network where I have more room. I’m now
getting Windows File Protection errors, and there’s no option to tell it where
the files are. What do I do?
I actually get variations of this question on a regular basis. Recently as I
was cleaning up the hard disk on my primary machine I found myself asking the
The answer is that you can move I386, if you then also make another
change deep in the Windows registry.
Become a Patron of Ask Leo! and go ad-free!
If it exists C:\I386 (the folder “I386” at the root of your “C:” drive) most
likely contains an image of the installation copy of Windows. It’s often placed
on your hard drive as a way to avoid having to ask for a CD when Windows
decides it needs some file that hasn’t yet been installed.
It’s also used as one of the repositories for the original files used by
System File Protection and the System File Checker. If Windows determines that
one of its files has been replaced with an unrecognized copy, perhaps due to a
virus, then the System File Checker will restore the file to its original
version from C:\I386. (It actually uses additional repositories as well, in
case service packs and other updates have legitimately updated the file.)
In an attempt to answer the question “I wonder what happens if …”, I
carefully backed up the contents of my C:\I386 folder, and then deleted it.
The next morning I woke up to this error message:
as long as it remains visible to your machine, and you make the registry update
to let Windows know where it is.”
Windows File Protection had attempted to check my system files. I’m fairly
certain that the error message it technically incorrect. No files had been
replaced by unrecognized versions. Rather, the error was simply that the
reference copy it expected in C:\I386 was no longer there.
I restored the copy of my machine’s C:\I386 folder to another machine, on a
folder that had been shared and that was visible on my local network.
The “trick” to telling Windows where to look turns out to be a simple
registry setting. Specifically the key
Firing up regedit, locate that key:
Note how it’s set to “C:\” by default. The folder must be named I386, and
this setting tells Windows where to find that folder. Double clicking on
SourcePath, you can then change it to be the full path to the
Note that it doesn’t include the “I386”, it just points to where I386 can be
found. In my case it’s \\freenas\notenmax\machine_specific\leo\i386, but the
registry setting is \\freenas\notenmax\machine_specific\leo. (In my case
“freenas” is the server, “notenmax” is the share, and then “machine_specific”
and “leo” are just folders within that share. I386 does not have to be at the
root of the share.)
Once updated, the setting does not take effect until you reboot.
After rebooting I opened up a command prompt window and forced Windows File
Protection to check all my files by running the System File Checker
It completed normally, indicating that all files were good, and that the
I386 folder had been accessed successfully from its new location.
The bottom line: you can move your I386 folder to wherever you like, as long
as it remains visible to your machine and you make the registry update to let
Windows know where it is.