Need Advice Changing Drive Letter

B

BillyBoy

I did a new install on a new drive that I had set as a master while I had my
old drive still installed and set to slave. My new boot drive letter is now
"F"! The old drive of course was "C" but I changed it to "G" through the
Admin Tools. So, I was wondering if I could change the new drive letter by
setting it to slave and the old drive to master. Then I could boot from the
old drive. Would I be able to change the drive letter of the new drive back
to "C"?

Original Old Drive: Win98 on C

New Drive: Win2K on F

Original Old Drive letter changed to G

Boot from Old Drive to change New Drive letter to C?

TIA!!!

BillyBoy
 
P

Pegasus \(MVP\)

BillyBoy said:
I did a new install on a new drive that I had set as a master while I had my
old drive still installed and set to slave. My new boot drive letter is now
"F"! The old drive of course was "C" but I changed it to "G" through the
Admin Tools. So, I was wondering if I could change the new drive letter by
setting it to slave and the old drive to master. Then I could boot from the
old drive. Would I be able to change the drive letter of the new drive back
to "C"?

Original Old Drive: Win98 on C

New Drive: Win2K on F

Original Old Drive letter changed to G

Boot from Old Drive to change New Drive letter to C?

TIA!!!

BillyBoy

If Win2000 was installed on drive C: then you must always run it on
drive C:. Running it on drive F: will cause all sorts of problems. Here
is how to change it back:
1. Boot into Win2000.
2. Start a Command Prompt.
3. Type this command: set SystemDrive.
4. Make a note of the drive letter.
5. Run regedit.exe.
6. Navigate to HKLM\SYSTEM\MountedDevices
7. Delete all values called "\DosDevices\C:" etc. ***except***
the one you noted in Step 4. above.
8. Turn off your machine.
9. Make your old disk the master, and the new disk the slave.

Your drive letter will now be correct. And remember that it is
not a good idea to make your system disk a slave!
 
B

BillyBoy

Thanks but Win2000 was installed on drive F which is the master. I want to
change it to C and run it as the master. The old drive should remain as the
slave.
 
P

Philip Nienhuis

BillyBoy said:
Thanks but Win2000 was installed on drive F which is the master. I want to
change it to C and run it as the master. The old drive should remain as the
slave.

Hopefully I understand what you want to accomplish.

Your master/slave story seems a wild and inappropriate guess to me.

What you actually want is to change the system boot drive letter. MS and
many MS-experts will tell you this is impossible but it can be done. But
is it *not* easy, it is a lot of work and you must be very careful. Have
a look here:
http://home.hccnet.nl/pr.nienhuis/Windows.html#BOOTDRVLTR
(case-sensisitive address)
This is how I've done it but YMMV

In your case some more things apply:

- A prerequisite in your case (to get C: assigned) is that your new
Win2K is on a primary partition on the new drive.

- You must restore the old physical drive situation (master / slave)
and boot into Win2K before you can use my trick

- You must change boot.ini afterwards to point to the proper boot
partition,
something like
multi(0)disk(0)rdisk(0)partition(0)\WINNT="Windows 2000 Pro"
/fastdetect
(multi....fastdetect all on one line)

- I'd say it is probably needed to wipe Win2K's volume info (and
drive-letter assignment) from the MBR track by booting from Win9x (e.g.,
a boot floppy) and running FDISK /MBR, before you reboot in your "fixed"
Win2K. That is because you may have changed all references to C: in the
registry but the volume ID / GUIDs listing on the MBR track will still
designate your boot partition as F:, and you Win2K will still use this
and get fatally confused.
After having wiped this VolumeID listing Win2K will again assign drive
letters; hopefully your new Win2K installation will be assigned C:
But perhaps this is not needed as this info is always on the master
drive, and you've swapped drives so it is now on the slave :)

Note that system boot drive letters in Win2K can only be changed (in the
regular case) by reinstalling. So, if my suggested process fails you
lose nothing but time.

And my guess is that you will save much time by simply reinstalling Win2K.

As for your Win98: you probably can't run it anymore once it changed
from a master drive to a slave drive. It will probably have a different
drive letter and consequently all its internal drive letter references
will be pointing to a wrong drive. I don't know if Win9x can boot at all
from a slave drive.
Only if it can, and if there are no FAT32 partitions at all on your new
drive, you might be lucky - you can try to use bootpart (see
www.winimage.com) to boot it from the Win2K boot manager.

P.
 
P

Pegasus \(MVP\)

Philip Nienhuis said:
Hopefully I understand what you want to accomplish.

Your master/slave story seems a wild and inappropriate guess to me.

What you actually want is to change the system boot drive letter. MS and
many MS-experts will tell you this is impossible but it can be done. But
is it *not* easy, it is a lot of work and you must be very careful. Have
a look here:
http://home.hccnet.nl/pr.nienhuis/Windows.html#BOOTDRVLTR
(case-sensisitive address)
This is how I've done it but YMMV

Your method works fine in theory. In practice it has a few problems:
a) The sheer number of changes that need to be performed in the registry.
A clean installation of WinXP contains over 3000 references to the
boot drive. Most of them need to be changed. If the machine is
fully loaded with software (which it probably is, because the OP
is reluctant to reload all his apps!) then the number is likely to
around
10,000.
b) Some of these instances must not be changed because they do not
refer to the boot drive. Example: the string "Registry hive:" contains
"E:" but it is obviously not a reference to the boot drive.
c) Some registry entries are of a binary rather than string type. Drive
letters are not easily visible in them.

If it is necessary to change the drive letter for a Win2000/XP installation
then I suggest that a re-installation would be faster and far more robust.

<snip>
 
B

BillyBoy

I went ahead and reinstalled Win2K on the new drive after first
disconnecting the old drive. It's fine now. I believe there were errant
problems with the installation on a drive letter other than C.

I don't see what's so wild about what happened. All I did was change the
old drive to a slave and connect it before I installed Win2K on the new
drive set as the master. Win2K read the slave letter as C so it assigned F
to the new drive. Now that seems wild to me! Maybe MS should look into it,
LOL.

Anyway, thanks for your help.


Philip Nienhuis said:
BillyBoy wrote:


If it is necessary to change the drive letter for a Win2000/XP installation
then I suggest that a re-installation would be faster and far more robust.

<snip>
 
D

Dave Patrick

This article may help.

http://support.microsoft.com/kb/234048/EN-US/

--
Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

:
|I went ahead and reinstalled Win2K on the new drive after first
| disconnecting the old drive. It's fine now. I believe there were errant
| problems with the installation on a drive letter other than C.
|
| I don't see what's so wild about what happened. All I did was change the
| old drive to a slave and connect it before I installed Win2K on the new
| drive set as the master. Win2K read the slave letter as C so it assigned
F
| to the new drive. Now that seems wild to me! Maybe MS should look into
it,
| LOL.
|
| Anyway, thanks for your help.
|
| |
| | > BillyBoy wrote:
|
|
| If it is necessary to change the drive letter for a Win2000/XP
installation
| then I suggest that a re-installation would be faster and far more robust.
|
| <snip>
|
|
|
 
P

Philip Nienhuis

Pegasus said:
Your method works fine in theory.

It works in practice too, at least in my case. And stable.
In practice it has a few problems:
a) The sheer number of changes that need to be performed in the registry.
A clean installation of WinXP contains over 3000 references to the

The OP was talking Win2K.
I used Registry Replace which on a 233 MHz P1-MMX took 1.5 min to change
all 160 or so refs to the boot drive letter of a fresh (somewhat
stripped down) Win2K installation with just a few mouse clicks.
boot drive. Most of them need to be changed. If the machine is
fully loaded with software (which it probably is, because the OP
is reluctant to reload all his apps!) then the number is likely to
around
10,000.

..... ignoring application settings which are not in the registry (e.g.,
the Start menu shortcuts), which would make it all the more difficult.
But still not impossible.
b) Some of these instances must not be changed because they do not
refer to the boot drive. Example: the string "Registry hive:" contains
"E:" but it is obviously not a reference to the boot drive.
c) Some registry entries are of a binary rather than string type. Drive
letters are not easily visible in them.

AFAIK there are no drive letters in binary keys.
If it is necessary to change the drive letter for a Win2000/XP installation
then I suggest that a re-installation would be faster and far more robust.

If you would have cared to read down (admittedly I wrote a long posting)
you would have found I adviced the same.

BTW the actual problem is that Win2K's partition and drive letter
enumeration can't be influenced at install time (allowing to manually
assign a boot drive letter to the installation partition). I think this
is a little design flaw.
 
P

Pegasus \(MVP\)

Philip Nienhuis said:
It works in practice too, at least in my case. And stable.

You would need a large number of such installations before
you could claim with any degree of confidence that it is stable
in general. A handful of installations does not prove anything.
The OP was talking Win2K.

Makes no difference whatsoever. My Win2000 installation
has more than 7,600 references to drive C:.
I used Registry Replace which on a 233 MHz P1-MMX took 1.5 min to change
all 160 or so refs to the boot drive letter of a fresh (somewhat
stripped down) Win2K installation with just a few mouse clicks.

I am aware that a global search and replace is much quicker than a
manual one. The question is: Is it safe in all cases?
.... ignoring application settings which are not in the registry (e.g.,
the Start menu shortcuts), which would make it all the more difficult.
But still not impossible.


AFAIK there are no drive letters in binary keys.

I found 10 occurrences of "C:\" (43,3a,5c) in binary keys in my Win2000
registry. Here is a typical example:
HKLM\Microsoft\Advanced INF Setup\IE40.Assoc\RegBackup\0\7db75e13d019617e.
Have a look at it yourself!

I found a further 14 references to "C:\" in my .inf files, for example in
defltsv.inf.

Can you afford to gloss over those with your statement "AFAIK"?
robust.

If you would have cared to read down (admittedly I wrote a long posting)
you would have found I adviced the same.

I plead guilty as charged.
BTW the actual problem is that Win2K's partition and drive letter
enumeration can't be influenced at install time (allowing to manually
assign a boot drive letter to the installation partition). I think this
is a little design flaw.

I agree.

In summary, I think that the OP made the right decision in re-installing
Win2000 instead of trying to clone it to a different drive letter. While
it may work well in your case, it may exhibit obscure problems in other
cases.
 
B

BillyBoy

FYI...no problems since reinstall! And....the old hard driver actually
finally failed! LOL!

..

In summary, I think that the OP made the right decision in re-installing
Win2000 instead of trying to clone it to a different drive letter. While
it may work well in your case, it may exhibit obscure problems in other
cases.
 
P

Philip Nienhuis

Pegasus (MVP) wrote:
:
... said:
I found 10 occurrences of "C:\" (43,3a,5c) in binary keys in my Win2000
registry. Here is a typical example:
HKLM\Microsoft\Advanced INF Setup\IE40.Assoc\RegBackup\0\7db75e13d019617e.
Have a look at it yourself!

I don't have that particular key, probably because IE, OE, NM and other
stuff was stripped out before installation (using Vorck's method,
www.vorck.com/remove-ie.html).

I could find no reference to the former drive letter (H:\ in my case, or
48 3a 5c in hex) in any key. Registry Replace must have done a good job.
I found a further 14 references to "C:\" in my .inf files, for example in
defltsv.inf.

(Aha... inf files. Thanks for the hint! this solves a vaguely related
mystery.)

After scanning the .inf files in \winnt\inf I found all references to C:\
- just refer to the boot-up files like boot.ini, ntldr etc. on the
primary boot partition which is always C: on DOS/Windows systems, or
- are commented out, or
- refer to stray hits like "some_program /c:some_parameter", or
- refer to programs not installed (ie.inf in my case).

I could find no references to the original drive letter (H:\) in
\winnt\inf\*.inf
Can you afford to gloss over those with your statement "AFAIK"?

As regards the binary keys, no, you've beaten me. Although it depends on
what the keys are used for.

As regards the rest, up till now, I think yes.

I am quite grateful for your hints on possible flaws in my "method", any
critique and/or hints you give and which can be solved only help out to
make it more reliable (or -if you want- less unreliable). It helps me.

I would be the first to agree that reinstalling is by far an easier way
to adapt a drive letter in the OP's case.

But in other circumstances it is neither an option nor a solution, as
Win2K doesn't allow manually assigning drive letters to the installation
partition during installation itself. In such a case, where one wants a
specific drive letter for the Win2K partition different than the one
which Win2K setup magically comes up with, my method is the only way to
get it together - apart from equally complex and often adverse trickery
involving adding/deleting/hiding partitions before Win2K installation
and reversing this afterwards.
I plead guilty as charged.

You are a gentleman, if only for at least appearing to take seriously
what is probably a ridiculous affair in the eyes of many people.
 

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