Changing drive letter.

G

Guest

I have two hard drives installed and I want to change my main drive's letter
to c as it is now F. Do you foresee any problem with this?
Thank you
 
X

Xandros

You won't be able to do this non-destructively as drive letter C is assigned
by the BIOS and not by the OS. If you have XP installed to F and want it
installed on C you will have to do a fresh install ensuring you install it
to the C drive.
 
J

John John

Xandros said:
You won't be able to do this non-destructively as drive letter C is assigned
by the BIOS and not by the OS. If you have XP installed to F and want it
installed on C you will have to do a fresh install ensuring you install it
to the C drive.

That is incorrect, the BIOS does not assign drive letters, drive letters
are assigned by the operating system.

John
 
J

John John

If the operating system was assigned drive letter F: at installation you
cannot change the drive letter. The only way to change the drive letter
is to reinstall the operating system.

John
 
B

Bob I

Only if you don't mind reinstalling the operating system. If you want
the operating system to reside on "C", that is where you have to install it.
 
S

Shoe

If you have a card reader or a zip drive they must be unhooked before
re-installation of XP as Xp will assign one of them as C: therefore
defeating your drive letter re-assignment
 
J

Jeff Johnson

I have two hard drives installed and I want to change my main drive's
letter
to c as it is now F. Do you foresee any problem with this?

Changing the drive letter AFTER installing an OS is possible, but it's not
pretty and it's FOR EXPERTS ONLY. I have the opposite situation to yours: I
generally do NOT want my OS to be on C: but on a different drive letter.
Unfortunately, while Windows gives you the choice of partition to install
your OS onto during setup, it does not allow you to CONTROL the drive
letters of those partitions. (Vista is even worse, FORCING whichever
partition you choose to be named C:, but I digress.)

If you cannot force Windows to install on the drive letter you want, your
best bet to to change drive letters immediately after installing. This will
reduce the number of registry changes you have to make later.

I know you've heard this before, and many times it's just paranoia, but the
registry changes I'm about to suggest should ONLY be performed if your
REALLY KNOW WHAT YOU'RE DOING. This is DEFINITELY something that could
render your system unusable (i.e., require a repair/reinstall) and you
should have a rescue disk prepared.

The first thing you should do is to export your HKLM and HKCU keys to a text
file. I won't give you step-by-step directions because if you don't know how
to something that simple then it's a red flag that you shouldn't be trying
this procedure at all.

You should then go get some coffee or your beverage of choice and prepare
for a fun search-and-replace session with a text editor as you search the
files you created to change all occurrences of "F:\" to "C:\". I usually
view each change (as opposed to doing Replace All) because sometimes you
might not actually want to change one. I just make sure that what I'm
changing always looks like a path.

Now you're ready to change the system drive. To do this (which can't be done
via the Disk Management snap-in), open Regedit and go to
HKLM\MountedDevices. Here you will see values like

\DosDevices\C:
\DosDevices\F:

(I'm only showing the two disks that you want to swap. There may of course
be others. Ignore them.)

Rename one of those keys to something else (I pick an unused drive, like Q:,
so that I only have to change one character). Now you have, for example,

\DosDevices\C:
\DosDevices\Q:

Now name C: to F:

\DosDevices\F:
\DosDevices\Q:

And now name the "placeholder" to C:

\DosDevices\F:
\DosDevices\C:

(This is conceptual; Regedit will always resort and C: will appear before
F:. I just wanted to demonstrate which value I was changing each time.)

Now cross your fingers and reboot. Windows may complain about some stuff,
but it should boot. If not, well, that's what you made that rescue disk for.

Now double-click those two .REG files (your HKLM and HKCU where you swapped
all the F:\'s to C:\'s) to import them. All your programs should start
working normally again. If you experience flakiness, reinstall those
programs that you can. Again, it's best if you do this immediately after
installing the OS (and before activation) so that your system is "bare" and
there's very little that needs fixing to begin with.

I have provided rope and several disclaimers. Hang yourself at your own
risk.
 
L

Lil' Dave

James G. said:
I have two hard drives installed and I want to change my main drive's
letter
to c as it is now F. Do you foresee any problem with this?
Thank you

Apparently, you, or someone, told the installation to install windows other
than the default partition. The default partiition is the partition the
installer found as the boot partition.

The boot partition is determined by the hard drive the bios defaults for
booting, and that boot partition on that said hard drive is both primary and
active. This is always the "C:\" partition. In the XP realm, this is
called the system partition (vice in the old days, the boot partition). To
mix us up further, in the XP realm, the partition where XP windows actually
resides is called the boot partition. By default during installation, these
are normally one and the same. The installer has the option of choosing a
different location (partition) for actually installing XP. If this occurs,
many critical settings are "pointed" at that partition letter instead of
"C:\". The only reasonable way to revert to the default installation
location is to install XP again in its default location.

You are essentially asking if the XP's definition of boot partition can have
it's drive letter changed to XP's definition of system partition if they are
different "drive" letters (partitions). No, can't be done.
Dave
 
P

Patrick Keenan

James G. said:
I have two hard drives installed and I want to change my main drive's
letter
to c as it is now F. Do you foresee any problem with this?
Thank you

Yes, there's a problem. It can't be done. You have to reinstall.

The most common cause of this problem is having some other drives attached
during setup, such as card readers or Zip drives. You have to disable or
unplug these drives *before* the install.

HTH
-pk
 
L

Lil' Dave

Jeff Johnson said:
Changing the drive letter AFTER installing an OS is possible, but it's not
pretty and it's FOR EXPERTS ONLY. I have the opposite situation to yours:
I generally do NOT want my OS to be on C: but on a different drive letter.
Unfortunately, while Windows gives you the choice of partition to install
your OS onto during setup, it does not allow you to CONTROL the drive
letters of those partitions. (Vista is even worse, FORCING whichever
partition you choose to be named C:, but I digress.)

If you cannot force Windows to install on the drive letter you want, your
best bet to to change drive letters immediately after installing. This
will reduce the number of registry changes you have to make later.

I know you've heard this before, and many times it's just paranoia, but
the registry changes I'm about to suggest should ONLY be performed if your
REALLY KNOW WHAT YOU'RE DOING. This is DEFINITELY something that could
render your system unusable (i.e., require a repair/reinstall) and you
should have a rescue disk prepared.

The first thing you should do is to export your HKLM and HKCU keys to a
text file. I won't give you step-by-step directions because if you don't
know how to something that simple then it's a red flag that you shouldn't
be trying this procedure at all.

You should then go get some coffee or your beverage of choice and prepare
for a fun search-and-replace session with a text editor as you search the
files you created to change all occurrences of "F:\" to "C:\". I usually
view each change (as opposed to doing Replace All) because sometimes you
might not actually want to change one. I just make sure that what I'm
changing always looks like a path.

Now you're ready to change the system drive. To do this (which can't be
done via the Disk Management snap-in), open Regedit and go to
HKLM\MountedDevices. Here you will see values like

\DosDevices\C:
\DosDevices\F:

(I'm only showing the two disks that you want to swap. There may of course
be others. Ignore them.)

Rename one of those keys to something else (I pick an unused drive, like
Q:, so that I only have to change one character). Now you have, for
example,

\DosDevices\C:
\DosDevices\Q:

Now name C: to F:

\DosDevices\F:
\DosDevices\Q:

And now name the "placeholder" to C:

\DosDevices\F:
\DosDevices\C:

(This is conceptual; Regedit will always resort and C: will appear before
F:. I just wanted to demonstrate which value I was changing each time.)

Now cross your fingers and reboot. Windows may complain about some stuff,
but it should boot. If not, well, that's what you made that rescue disk
for.

Now double-click those two .REG files (your HKLM and HKCU where you
swapped all the F:\'s to C:\'s) to import them. All your programs should
start working normally again. If you experience flakiness, reinstall those
programs that you can. Again, it's best if you do this immediately after
installing the OS (and before activation) so that your system is "bare"
and there's very little that needs fixing to begin with.

I have provided rope and several disclaimers. Hang yourself at your own
risk.

Maybe I missed something. I don't see how the registry can access anything
on C:\ after the transition as nothing has been copied over to it from
F:\...
Dave
 
J

Jeff Johnson

Maybe I missed something. I don't see how the registry can access
anything on C:\ after the transition as nothing has been copied over to it
from F:\...

There is no copying involved; you're simply swapping IDENTITIES. Windows
knows what drive (actually, partition) is what by IDs that are written to
each partition. It then associates these partitions with drive letters, and
that association is controlled by these DosDevices entries in the registry.
Somehow Windows know where its active registry hives are without regard to
drive letters and loads these values from the registry on boot, and THEN it
assigns drive letters to partitions. I don't understand it fully, but it
works.
 
X

Xandros

John John said:
That is incorrect, the BIOS does not assign drive letters, drive letters
are assigned by the operating system.

John

hmmmm. So the BIOS doesn't assign drive letter A or B to floppies and
doesn't assign C to HD0? Why or why does it say so in my CMOS settings
then????
 
J

John John

Xandros said:
hmmmm. So the BIOS doesn't assign drive letter A or B to floppies and
doesn't assign C to HD0? Why or why does it say so in my CMOS settings
then????

No it doesn't and my guess is that your BIOS is simply doing a
zero-based letter assignment to show legacy device letters in the BIOS
information screen. All drive letters are assigned by the operating system.

John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top