installed my old hard drive in addition to my new one. The computer changed the
drive assignments at that time with the old hard drive becoming “C:” and the
new becoming “F:”. Since that time we’ve removed the old “C:” hard drive and
the only hard drive remains as “F:”. Now, some downloads won’t install because
they want a C: path, and various other functions trying to utilize drive C:
have problems. Drive Management will not let me reassign my F Drive to C
because it is the main boot drive. What can I do?
Most people don’t realize that using “C:” as the primary drive on your
computer is fairly arbitrary. It’s a good practice, if only to avoid the
problems you’re running into, but as you’ve seen you don’t need to have it that
way. You can build a system that boots from a drive of a different letter – in
your case “F:”.
Unfortunately, some software packages don’t realize it either. They assume
that there’ll always be a “C:”.
So we need to get tricky.
Become a Patron of Ask Leo! and go ad-free!
First of all, reassigning the drive letter of your existing boot drive –
changing the F: to C: – wouldn’t work anyway. The problem is that all the
software you have installed so far has been installed on F:. As a result, all
the settings for that software assume (correctly) that F: exists, and that’s
where the programs can find what they need.
One of those programs, by the way, is Windows itself.
So if you simply renamed F: to C:, it’s likely that the system wouldn’t even
boot, because Windows would still be looking for things on F: – the F: that was
no longer there. Even if Windows did boot, most of the applications you have
installed would also no longer work, for much the same reason.
What I’m going to suggest is that we create a new C: drive, a “virtual” C:
drive, on your existing hard disk. We’ll use a fairly obscure tool that a lot
of folks don’t even know about, called “SUBST”.
First we’ll fire up a Command Prompt. Click on Start,
All Programs, Accessories, Command
Prompt. That should open up something that looks like this:
Except that you’ll see your user name instead of mine, LeoN, and the drive
will be F: instead of the C:..
In that Window, type the following commands:
subst C: \Virtual_C
You should now have an empty C: drive. It just happens to also be the
contents of the directory f:\Virtual_C.
Try some of the applications that you’re having trouble with, and see if
they now work, or at least behave differently. They may still fail, because our
C: is empty – they might expect more than just the drive – but it’s a
The C: drive that we created will disappear when you reboot. (The contents
will still be there as F:\Virtual_C, but the C: drive will no longer exist.) To
make it automatic, we need to add a command to your startup group.
Right-click on the Start menu, and click on
Explore All Users. In the resulting Explorer window, expand
Programs and click on Startup. Right click
anywhere in the right-hand pane, and select New and then
In the resulting dialog box, enter the “Subst” command we used earlier:
“SUBST C: F:\Virtual_C”.
Click Next, and click Finish, and now each
time you login, the virtual drive C: will be mapped to the F:\Virtual_C
As a final note, this entire scenario results simply because the old drive
was added to the system and allowed to be “C:”. As I said, drive letters are
arbitrary, but by now you can see that “C:” is kinda special, even though it
really shouldn’t be. If you can, it’s safest to install your operating system
and boot from “C:”. Typically that means when you add a new drive that you
expect to boot from, make it “C:”, and give the OLD drive a new drive letter.
This allows you to safely copy data off of the old drive, and eventually remove
it without any ill effect.