How does Windows/DOS assign drive letters?

Question

Have a 6GB drive. I chose no large drive support at FDISK time and partitioned as under 2gb drives as C: D: E: F: G:. I have a removeable disk bay and I want to add a 8gb drive in it. It works fine, except it takes the drive letter "D" which then disrupts the programs that were on D:, but are now on letter E:.

I need to run with and without this 2nd drive. How can I get it to start at drive letter J: so it won't disturb my existing programs?

Thanks!

Answer

This question was answered on June 9, 1999. Much of the information contained herein may have changed since posting.

Below you will find a very informative explanation of the assignment of drive letters by Windows, taken from the internet Hopefully this will help you solve your problem

Drive Letter Assignment and Choosing Primary vs Logical Partitions

Most people know that disk volumes using the FAT file system under DOS and its derivative operating systems are accessed using drive letters, such as C:, D: and so on However, it can be a bit confusing figuring out how these letters are determined Of course, as you use more disks (and other devices) and more partitions, this can get even more difficult to understand A common confusion encountered by someone upgrading their PC is adding a hard disk to it and finding that suddenly some their files have moved from D:, say, to E: This happens because DOS assigns drive letters using a specific sequence when the PC is booted Drive letters are not permanently assigned to the drive, and so adding new hard disk volumes can interrupt the previous order.

Drive letters A: and B: are reserved for floppy disks The first disk, as determined by the physical and/or BIOS configuration of the drives is A:, and the second disk is B: Even if there is only one floppy disk in the system, B: is still reserved for use by floppies and cannot be used for any other purpose.

Hard disks are lettered starting from C:, with each partition getting a separate letter It is essential to realize that DOS will first assign a letter to all primary DOS partitions on all hard disks in the system, before it will assign any letters to any logical DOS volumes (in extended DOS partitions) on any hard disk This is the primary reason why adding a hard disk to an existing system can cause drive letters to shift.

Let's take an example system that contains a single 1.2 GB hard disk broken into three partitions The first partition is the DOS primary, and then an extended partition is defined containing the other two partitions as logical volumes The primary partition will be C:, and the other two D: and E: Now let's say we add a second hard disk that has two partitions itself, one primary and the other logical (extended) When the system is booted up with the new hard disk in it, the first hard disk's primary partition will still be C:, but the primary partition in the second hard disk will grab D: Then the extended partitions will be assigned letters The result is that the logical partitions on the first hard disk will have their letters shift.

Having drive letters change is not only confusing, it can cause programs to malfunction, because many programs record what disk and directory they are in and expect that they will remain stationary (which stinks, but hey, that's life.)

There is one relatively simple way to avoid having this happen: don't create a primary partition on any hard disks in the system other than the first one It is perfectly legal to only create an extended partition on a hard disk, and put all of the partitions in it The only place that a primary partition is absolutely needed is on the first hard disk, because it is required to boot the operating system You cannot normally boot from an extended partition volume anyway (although some motherboards will apparently let you).

Note: One other minor consideration is that you lose a small amount of disk space if you create only extended partitions on a disk The extended partition will begin using (logical) cylinder 1 of the disk, and therefore you lose the space in cylinder 0 This will generally cost you a handful of megabytes of storage, but is pretty much unavoidable if you want your partitions in a sensible order.

So in the example above, if our second hard disk had its two partitions both defined as logicals, then they would have been assigned F: and G:, and the partitions on the first disk would have been unchanged This is in fact the way you will normally want to partition second and third hard disks in a system What if you are adding a hard disk from another system that has already been set up with a primary partition? Unless you don't care about the second hard disk's primary partition being assigned D:, you have to delete the primary partition (after copying any data from it of course!) and expand the size of the extended partition to take its place For a job of this sort, a utility like Partition Magic is indispensable Otherwise you will basically have to wipe the second disk clean and start over.

Need Help with this Issue?

We help people with technology! It's what we do.
Schedule an Appointment with a location for help!

Author

Posted by Ken of Data Doctors on June 9, 1999