Helping people with computers... one answer at a time.

I'm running Windows XP. When my nephew built my computer, he 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.

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:

Command Prompt Window

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:

mkdir \Virtual_C
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 start.

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 Shortcut:

New Startup Item Menu

In the resulting dialog box, enter the "Subst" command we used earlier: "SUBST C: F:\Virtual_C".

New SUBST shortcut

Click Next, and click Finish, and now each time you login, the virtual drive C: will be mapped to the F:\Virtual_C directory.

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.

Article C2431 - October 9, 2005

Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
58 Comments

We have this problem on a customer's machine where they have H:\ as their primary drive, which is a removable USB machine. Disk Managment shows but it, and a C: drive that is, present, removable, read-only and has no space. SUBST command fails with the drive letter already used. However, references to C:\ from DOS fail. All under XP--so rights are not the issue. Perhaps this is a device driver for bootstrap purposes? I am afraid to change the C: drive letter to D: or E: (both free) for fear of rendering the machine unbootable? Any perspective or ideas come to mine?

Thanks in Advance,
Lyle (Rickenbacker108)

Posted by: Lyle Allen at March 17, 2011 11:36 AM

Hasn't entirely worked, fingers crossed

Posted by: pedro at August 10, 2011 6:45 AM

I have the same problem and was considering using a product like partition master to create a new "C" partition. Would this solve the problem or create new ones? Thanks in advance for your help.

John

I suspect that it would be about as safe as anything I've outlined in the article above. Ultimately the safest thing to do of course is to install window such that it shows C: as the system drive to begin with.
Leo
30-Aug-2011

Posted by: John Birtch at August 29, 2011 3:13 AM

Change BootDisk F: to C: (or whatever to C:)
Make a BATCH file in F:\ called substC.bat
----type following---
SUBST C: F:\
----- save and
copy shortcut to Startup directory
Whenever the PC starts C: drive is available (image of F: in Explorer)

Posted by: Dave Adelaide(oz) at October 17, 2011 10:48 PM

Just finished with 4 hours on phone with MS Tech Supp. They have no answer for the problem.
Running Win 7 Pro. My problem started when the maker of the PC used a C drive with only 40 gigs and it ran out of room.
used Norton Ghost which came with new Samsung SSD that I installed to image C: drive to new drive. Samsung says to use the letter Ghost selects so it became G:. but MS Tech couldn't change the C drive letter without causing problems. Finally the MS Tech gave up.

Posted by: Craig Groce at January 26, 2012 10:02 AM
Post a comment on "I have no C: drive, but some programs insist on it. What can I do?":





Remember Me?

(You may use HTML tags for style)

Before commenting, please...

  • READ THE ARTICLE. A comment that shows you didn't will be deleted and ignored.

  • Comment only on the article. Use the search box at the top of the page if you have a question about something else.

  • NO PERSONAL INFORMATION in the comment. No email addresses. No phone numbers. No physical addresses.

  • Anything that looks the least bit like spam will be deleted. Links to unrelated sites or links that appear to be primarily promotional will be deleted, or the comment will be deleted.

  • Don't ask me to recover lost passwords or hacked accounts. I can't. Those comments will be deleted.

  • I can't respond to every comment. And I can't vouch for the accuracy of others who do.

Please wait. Your comment is being processed ...