Store Locator: Enter Zip Code: List All Locations

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.

Author

Posted by Ken of Data Doctors on June 9, 1999

Personal Services | Business Services | Radio Show | Free Help Center | Franchising | About Us | Sitemap

Business Network Solutions | Computer Data Recovery | Computer Franchises | Computer Hardware Repair | Computer Help | Computer Network Support | Computer Problems | Computer Repair | Computer Troubleshooting | Data Recovery | Data Recovery Service | Data Recovery Services | Disk Recovery | File Recovery | Wireless Networking Solutions