Message-ID: <3AB76F09.FA6C75EC@seltek.com.au> Date: Wed, 21 Mar 2001 00:54:01 +1000 From: "Christopher E. Souter" X-Mailer: Mozilla 4.61 [en] (OS/2; U) X-Accept-Language: en MIME-Version: 1.0 To: opendos AT delorie DOT com Subject: Re: DOS drive letter assignments References: <20010320042804 DOT B24471 AT sl7> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: opendos AT delorie DOT com Hi, I don't know much about the SCSI part of your question, because I have never owned or used any SCSI devices. Regarding the IDE part of your question, this is how DOS assigns drive letters: I am assuming two physical drives here, and that the first primary partition on the first physical drive is currently the active partition, and that all partitions are formatted for FAT16 (both DOS and OS/2 can see them all), and DOS is installed on the first primary partition, whilst OS/2 is installed on the second primary partition. The Boot Manager partition enables the user to choose which OS to boot at startup time. Boot Manager is a primary partition, and can be installed when you install OS/2. It is not assigned a drive letter, and is only visible from FDISK. If Boot Manager is installed, it is always active, and automatically hides any other bootable partitions on the first hard disk, depending on which OS the user chooses to boot. (Please note that you can only have a maximum of four physical IDE devices attached to an IBM-Compatible PC. Two can be attached to the primary controller, and two to the secondary controller). Drive Partition Partition Drive Number Type Number Letter ---------------------------------------------------------------- 1 Primary 1 None (Boot Manager) Primary 2 C: (DOS) Primary 3 C: (OS/2, Hidden) Extended 4 None (Container for logical drives) Logical 5 F: Logical 6 G: ------------------------------------------------------------------ 2 Primary 1 D: Primary 2 E: Extended 3 None (Container for logical drives) Logical 4 H: Logical 5 I: ------------------------------------------------------------------ When you boot DOS, it can see only Primary Partition 2 on the first hard disk, all primary partitions on the second hard disk, and all logical partitions on both disks. When you boot OS/2, it can see only Primary Partition 3 on the first hard disk, all primary partitions on the second hard disk, and all logical partitions on both disks. Following are some excerpts from the PartitionMagic User's Guide: Partition Types: --------------- There are two main kinds of partitions: primary and extended. In addition, extended partitions can be further divided into logical partitions. NOTE: You can have only four main partitions on the same hard ---- disk, and only one of these may be an extended partition. Thus, at most, you can have four primary partitions or three primary partitions and one extended partition. Primary Partitions: ------------------ A primary partition may contain any operating system (OS) as well as data files, such as applications and user files. A primary partition is logically formatted to use a file system compatible with the operating system that is installed on it. If you create multiple primary partitions, only one primary partition may be active at a time. When one primary partition is active, data in other primary partitions is not accessible. Thus, the data in a primary partition can be accessed (for all practical purposes) only by the operating system installed on that partition. If you install more than one operating system on your hard disk, you will probably need to create multiple primary partitions, because most operating systems can be booted only from a primary partition. NOTE: As far as I know, there is no PC-compatible OS that can be ---- booted from a primary partition on an IDE device attached to the secondary controller. This means that all bootable partitions must reside on one or other of the first two IDE devices on your system. In the case of DOS, the bootable partition MUST be on the first IDE device. As far as SCSI goes, I don't really know, but I think that it must be on the first SCSI device in the chain. Also, Boot Manager can only be installed on the first IDE device attached to the primary controller. Extended Partitions: ------------------- The extended partition was invented as a way of getting around the arbitrary four-partition limit. It is essentially a container in which you can further divide your disk space by creating an unlimited number of logical partitions (further physical subdivisions of the disk space). An extended partition doesn't directly hold data. You must create logical partitions within the extended partition; these hold the data. The logical partitions must be logically formatted; each can have a different file system. After logical formatting, each logical partition is a separate disk volume. Logical Partitions: ------------------ Logical partitions may exist only within an extended partition and are meant to contain only data files and operating systems that can be booted from a logical partition (such as OS/2, Linux and Windows NT). Such OS's should usually be installed in a logical partition, because this saves primary partitions for other uses. How DOS Assigns Drive Letters: ----------------------------- Drive letters are first assigned to primary partitions in the order in which they appear on hard disks. Drive letter C: is assigned to the active primary partition on the first hard disk, then D: is assigned to the first recognised primary partition on the next hard disk, and so on, until a letter has been assigned to the first recognised primary partition on all hard disks. Next, all logical partitions with a file system that the OS recognises are assigned drive letters, starting with those on the first hard disk and proceeding in order. (Extended partitions are not assigned drive letters in their own right, only the logical partitions contained within them). Finally, CD-ROM drives and other types of removable media drives are assigned a drive letter. NOTE: ---- DOS and Windows9x (including Windows Me) MUST boot from an active primary partition on the FIRST PHYSICAL DRIVE. Windows NT can boot from a logical drive in an extended partition, but the Windows NT boot program STILL MUST be in the active primary partition on the FIRST PHYSICAL DRIVE. The effect of this is that any other primary partition on the first physical drive will not be visible to these OS's. However, primary partitions on other physical drives may be visible, provided that the OS in question can recognise the file systems with which those partitions have been formatted. I hope that this might, at least partially, answer your question. If any of the above explanation turns out to be incorrect, I hope that someone in this group will post a correction, for which kindness I thank you in advance. Best regards from Sydney, Australia. Christopher E. Souter (csouter AT seltek DOT com DOT au) Rob McGee wrote: > > Forgive me if this is in the archives. I did try searching Google and > the MSKB and came up empty. > > Suppose you have 4 IDE hard drives, each with 2 primary DOS partitions > and 2 logical DOS partitions in an extended partition. How are drive > letters assigned? Let's just say these are all partitioned like this, to > borrow Linux naming conventions: > hdX: hdX1 hdX2 hdX3 < hdX5 hdX6 > > And yes, for sake of argument each partition is of a type recognized by > DOS. No type 82 or 83 or 07 or anything else confusing. :) How about > type 06 all the way around? > > Obviously partition 1 on the primary master is C. Is partition 2 D? Then > which is E, number 1 on the secondary master or the primary slave? > > What happens when you throw some BIOS-controlled SCSI into the fray? Say > you have 2 SCSI drives on a single bus, partitioned just like the IDE > gang. Are their primary partitions assigned drive letters before the > logical partitions on the IDE drives? > > What about a second SCSI bus just like that one? Which SCSI bus is > first? (Yes, I realize that there are not enough drive letters for the > second bus, but I am interested in the order of assignments primarily. > Since all this is hypothetical we can take out the IDE secondary slave > and one of the SCSI drives; then we're still under 24.) > > What fun questions. :) Does anyone know the answers? Thanks! > > Rob - /dev/rob0