View Full Version : Changing Hard Drive Letters?
Can you change a hard drive letter without fdisk or a third-party program? I have three physical drives, 1 (40GB), 2 (45GB), and 3 (20GB). Originally, under XP, Drive 1 had C: and D: on it, with C being NTFS and D being FAT32, 2 had E: on it in NTFS, and 3 had F: on it, FAT32. This was under XP. I went back to 98SE, and had to partition and format drives C and E, so they would be FAT32 and recognizable. After the fdisk and format, drive 1 now has C: and F:, Drive 2 has D: and drive 3 has E:. Any way to change them back the way they were without partitioning and formatting?
Run the Registry Editor (REGEDIT.EXE).
Open one of the following branches, depending on the type of device you wish to configure (your system may vary):
For all SCSI devices, and most non-SCSI CD-ROM drives, open HKEY_LOCAL_MACHINE\ Enum\ SCSI.
For IDE hard disks, open HKEY_LOCAL_MACHINE\ Enum\ ESDI.
For standard floppy drives, open HKEY_LOCAL_MACHINE\ Enum\ FLOP.
Expand the branch of the SCSI device you wish to configure, and click on the key under that device (if you have two of the same device, there will be two keys here).
Double-click on the string value called UserDriveLetterAssignment (create it if it's not there by selecting New and then String Value from the Edit menu).
In the box that appears, type the desired drive letter twice, in all caps (example: type NN to configure this drive to use N: ).
Next, double-click on the string value called CurrentDriveLetterAssignment.
In the box that appears, type the desired drive letter once, in all caps - if this device is partitioned into more than one logical drive, include all drive letters (example: type CEFG to configure this drive to use C:, E:, F:, and G: ).
Close the registry editor when finished, and restart your computer immediately for this change to take effect.
Okay, that may be the answer if I didn't leave out some info. Just because I'm dumb and like to challenge y'all.
Drives 1 and 2 are on the mobo's IDE channels. Drive 3 is on a PCI controller card. Maxtor ATA/100 IDE card. I made the changes like you suggested, but it didn't work. Mayhap because of the drive on the controller card. But it's in a removeable drive tray, so I can yoink that and see if that makes the registry change stick.
After adding the UserDriveLetterAssignment and putting the double drive letter in there (CCDD or EE), then changing the CurrentDriveLetterAssignment (CD or E), then rebooted, it only kept the UserDriveLetterAssignment addition, not the change to CurrentDriveLetterAssignement, which I'm thinking is because I couldn't change the designation for Drive 3, which is currently E:, but I want it to be F:. So I'll make the changes, power down the system, remove the drive, and try again.
Well, I was able to find my removeable drive, drive 3, under SCSI, along with my Superdisk drive, and my CD-RW, and the CD-ROM I removed, so I deleted the entry for the CD-ROM.
The changes to CurrentDriveLetterAssignment didn't stick after a reboot. So at this point, I ain't got but Jack and crap. And Jack left town. More help, please?
Hmmm. Well, you can also change the CDROM drive letters from within Device Manager using the properties box of the drive you want to change. This may help in changing the other drives...I don't know. I'm not sure how Win98 sees an ATA controller as I haven't used it in so long. I would assume the BIOS of the controller is governing how DOS is setting the drive letters for it.
What are the types of each of the drives in your system and the drive letter that is being assigned to them. Also list out from it what you want the drive letter to be. Be sure to let me know about any partitions that have logical drives within them and which are primary partitions and not extended.
Okay, this is gonna get messy, so bear with me.
Drive 1 is a Seagate 40GB on IDE1,1. It holds one primary active partition of C: (FAT32), and one logical partition of F: (FAT32).
Drive 2 is a Western Digital 45GB on IDE2,1 with one primary partition of D: (FAT32).
Drive 3 is a Maxtor 20GB on PCI controler card IDE2,2 with one primary partition of E: (FAT32).
That's how they stand now under Windows 98SE.
Under XP it used to be:
Drive 1 is a Seagate 40GB on IDE1,1. It holds one primary active partition of C: (NTFS), and one logical partition of D: (FAT32).
Drive 2 is a Western Digital 45GB on IDE2,1 with one primary partition of E: (NTFS).
Drive 3 is a Maxtor 20GB on PCI controler card IDE2,2 with one primary partition of F: (FAT32).
For obvious reasons, I had to repartition the NTFS partitions to be FAT32 to convert back to Windows. When I did that partition deletion and addition is when the drive letters changed around.
Here's what I want it to be:
Drive 1 is a Seagate 40GB on IDE1,1. It holds one primary active partition of C: (FAT32), and one logical partition of D: (FAT32).
Drive 2 is a Western Digital 45GB on IDE2,1 with one primary partition of E: (FAT32).
Drive 3 is a Maxtor 20GB on PCI controler card IDE2,2 with one primary partition of F: (FAT32).
Now, if we can't make the changes without partitioning, that's fine, I can move files over to my roommates computer for backup. Here's how I was thinking I could fix it with fdisk:
Delete logical partition F: on drive 1. Delete primary partition D: on drive 2. Delete primary partition E: on drive 3. Add logical partition on Drive 1, making it D:. Add primary partition on drive 2, making it E:. Add primary partition on drive 3, making it F:. However, my roommate seems to recall from back in the day with DOS, drive letters would be assigned thusly: C: is primary partition on drive 1. D: is primary partition on drive 2. E: is primary partiton on drive 3. F: is logical partition on drive 1, and so forth. But I don't think that's the case, since I used to have drive D as the logical partition on drive 1.
Well, what's happening is the way DOS assigns drive letters differently than Win2K/XP. Win2K and XP do it in a linear fashion. They check BIOS and then go for the active partition/primary controller, next partition on that same drive controller, etc. DOS goes in order of "superiority". Active partitions first, primary partitions, and then logical partitions within extended partitions. This is why the primary partitions are being assigned drive letters before the logical partitions are.
If you were to FDISK the first drive with one active primary partition (C: ) and then create a second extended partition, with a logical drive included, for D: on that drive you would be fine only IF you FDISK drive 2 as an extended partition and assign one logical drive to it. This will then make that drive E:. You will then FDISK and create another extended partition with the drive on the ATA controller. Create a logical drive within that extended partition and it will default to F: (as it is now).
You must do it in that order too...I'll try to make my explanation a little clearer too.
1: FDISK DISK 1. Create 1 Active partition C: (default)
2: FDISK DISK 1. Create 1 Extended Partition with remaining space. Assign Logical Drive D: (default)
3: FDISK DISK 2. Create Extended Partition with entire disk. Assign Logical Drive E: (default)
4: FDISK DISK 3. Create Extended Partition with entire disk. Assign Logical Drive F: (default)
CDROMs and such will be detected and assigned drive letters after F:. (default) means this is what DOS will default the drive letter assignments to on its own (which you want).
Wish I knew how to do it without having to FDISK all over again but I'd say all of that is locked into your partition table since the registry won't change it...so you have no choice.
Fdisk is no problem since I can backup my important things (read: save games, pr0n and MP3s) on my roommmates computer. So I'm running that right now, and once I get home from work, I'll run FDISK and see what happens.
Thanks for your help.
Just wish there was a way to do it without all that trouble.
Don't really think there is a way around it when partitions are set as primaries when they can be extended though. I do remember it always doing that to me.
Originally posted by Jon
Just wish there was a way to do it without all that trouble.
You're not the only one. But once I get home from work and the gym tonight, we'll see what we shall see.
Kingslayer
01-09-02, 05:23 PM
If you are running 2000 and XP why are we digging through the registry to assign drive letters when it can be done through Disk Management?
Control Panel/Admin Tools/Computer Management/Disk Management
You can right click on them and change the drive letter there...
Originally posted by Kingslayer
If you are running 2000 and XP why are we digging through the registry to assign drive letters when it can be done through Disk Management?
Control Panel/Admin Tools/Computer Management/Disk Management
You can right click on them and change the drive letter there...
Because I'm running Windows 98. I was running XP, but I rolled it back. It had too much autonomy.
Kingslayer
01-09-02, 08:41 PM
Bummer. I love the autonomy, if fits well with my laziness. :)
KeyboardCowboy
01-09-02, 08:47 PM
you see, this is why i hate messing around with partitions
Originally posted by Kingslayer
Bummer. I love the autonomy, if fits well with my laziness. :)
I'm lazy too, but i distrust MS, so I don't want my system contacting them whenever it feels like it.
One thing I do miss from XP: No blue screens. Screwing around with the registry caused some problems, so I just reformatted.
And while I was reformatting, I completely wiped out every partition, and started clean. No dice. Still set it up with drive 1 having C and F, drive 2 having D, and drive 3 having E. So I'm thinking my roommate was right when it said it assigns to primary partitions first, then secondary partitions, then tertiary partitions, etc. And I tried partition magic, but it didn't have any options for renaming partitions. Looks like I'll just have to live with it. C'est la vie.
But thanks for the help, all.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.