Archived from groups: microsoft.public.windowsxp.basics (
More info?)
Whoops! Typo...
> partition. The extended partition itself does get a "drive" letter, but
should say...
partition. The extended partition itself does NOT get a "drive" letter, but
RC
--
R. C. White, CPA
San Marcos, TX
rc@corridor.net
Microsoft Windows MVP
"R. C. White" <rc@corridor.net> wrote in message
news:OF950Lh3EHA.3000@TK2MSFTNGP15.phx.gbl...
> Hi, Bill.
>
> My memory on drive letter assignment sequence is about as hazy as
> Sharon's, but I happen to have some literature on it handy, so here's the
> long version of the explanation. ;^}
>
> "Drive" letters are not permanently assigned. Each time you reboot,
> former drive letters are forgotten and the BIOS assigns letters from
> scratch using its built-in algorithm, which can't be changed except by the
> folks who write the BIOS. What was Drive X: this morning might be Drive
> Y: this afternoon if you added or removed HDDs, or added or removed
> volumes on existing HDDs. For x86 computers, the BIOS algorithm has not
> changed in many years; I've read about the order more than once, but don't
> remember it. As I recall, all primary partitions on the first HDD are
> assigned letters first, then primary partitions on other HDDs, then
> logical drives in extended partitions, then driver-managed devices, such
> as CD/DVD drives, USB drives, cameras, etc.
>
> Once Windows loads, it may re-assign the letters, using its own built-in
> rules, which may be different from the BIOS assignments, and Win98 rules
> are different from WinXP rules. But we have some control over these
> letters, if we choose to use that control. By using Disk Management in
> WinXP or Device Manager in Win98, we can assign letters of our choice and
> Windows will attempt to use those same letters on each reboot thereafter.
>
> "Drive letter" is actually a misnomer because letters are not assigned to
> physical drives. After we create primary partitions on an HDD, each of
> those partitions is assigned a letter, so we sometimes call it a partition
> letter, but that's not strictly true, either. We can create an extended
> partition, then create multiple logical drives within that extended
> partition. The extended partition itself does get a "drive" letter, but
> each of the logical drives within it gets a letter. Each primary
> partition and each logical drive is a "volume" and each volume is assigned
> a "drive letter". In boot.ini, volumes are referred to as
> rdisk(#)partition(#). HDDs are numbered starting with zero. "Partition"
> actually means "volume" in this case and numbering starts with one on each
> HDD. On a physical drive with one primary partition followed by an
> extended partition, the second logical drive would be "partition(3)".
>
> You can read about the drive letter assignment rules here:
>
http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/Default.asp?url=/resources/documentation/Windows/XP/all/reskit/en-us/prork_overview.asp
>
> Here's a quote pasted from that chapter of the Windows XP Professional
> Resource kit:
>
> <begin Paste>
> After you create each volume, Setup assigns it a drive letter. The drive
> letter that Setup chooses depends on whether other basic volumes, dynamic
> volumes, and removable disks have drive letters already assigned. For all
> volumes and removable disks without drive letters, Setup assigns drive
> letters by using the following method:
>
> 1. Scans all fixed hard disks as they are enumerated. Assigns drive
> letters starting with any active primary partition (if one exists);
> otherwise, scans the first primary partition on each disk. Assigns the
> next available letter starting with C.
>
> 2. Scans all fixed hard disks and removable disks, and assigns drive
> letters to all logical drives in an extended partition or the removable
> disk(s) as enumerated. Assigns the next available letter starting with C.
>
> 3. Scans all fixed hard disks and assigns drive letters to all remaining
> primary partitions. Assigns the next available letter starting with C.
>
> 4. Scans floppy drives and assigns the next available drive letter
> starting with A.
>
> 5. Scans CD-ROM drives and assigns the next available letter starting with
> D.
>
> Windows XP Professional and Windows 2000 assign drive letters differently
> from how Windows 98, Windows Me, and Windows NT 4.0 assign drive letters.
> Therefore, if the computer starts multiple operating systems, the drive
> letters might vary depending on which operating system is running. For
> more information about how Windows XP Professional and Windows 2000 assign
> drive letters, see the Microsoft Knowledge Base link on the Web Resources
> page at http://www.microsoft.com/windows/reskits/webresources. Search the
> Knowledge Base by using the keywords "LDM" and "cmdcons."
>
> <end Paste>
>
> This explains why inserting your second HDD, with its priimary partitions,
> changed the letter for the second partition on your first HDD. As Rule 1
> says, after assigning C: to the active primary partition on HDD0, it
> assigns D: to the first primary partition on HDD1. Then it returned to
> HDD0 and looked for logical drives in an extended partition (Rule 2). You
> haven't told us which of your volumes are logical drives, but since each
> HDD can have a maximum of 4 partitions, and your HDD0 is using 5 volumes,
> some of them must be logicals. You apparently have either 1, 2 or 3
> primary partitions, plus an extended partition, plus 4, 3 or 2 logical
> drives within the extended partition. Rule 2 would assign letters to each
> logical drive. Then Rule 3 would assign letters to any remaining primary
> partitions, before moving on to Rule 5 to assign letters to your CD/DVDs.
>
>> As you will notice, there is no reference to Win98SE in the file,
>
> While WinXP and Win9x/ME may be installed into any volume in your computer
> (which will become the "boot volume" for THAT Windows installation only),
> the boot process always starts in the "system partition" (the active
> primary partition on the first physical HDD), which is almost always Drive
> C:. The Root of this system partition (C:\) holds the few "system files"
> for both WinXP (NTLDR, NTDETECT.COM and Boot.ini) and Win9x/ME (io.sys and
> msdos.sys). The boot sector of C: is different for NT-based operating
> systems than for those based on MS-DOS. When the computer boots, the
> DOS-style boot sector automatically looks for C:\io.sys to boot MS-DOS or
> Win9x/ME, depending on the contents of C:\msdos.sys. If WinXP Setup
> detects Win9x/ME already installed, it saves a copy of the DOS-style boot
> sector in a new file, C:\bootsect.dos, then overwrites the boot sector
> with the NT version. Thereafter, when the computer boots, the NT boot
> sector looks for C:\NTLDR, which finds C:\boot.ini and puts the operating
> system menu onscreen. If we choose WinXP, it finds the WinXP boot folder
> by rdisk(#)partition(#) and loads WinXP from there. If we choose
> Win9x/ME, it loads C:\bootsect.dos and turns control over to it so that it
> can find and load C:\io.sys and C:\msdos.sys. So the line that loads
> Win98 for you is that bottom line in boot.ini: C:\ = "Microsoft Windows"
> (but there should be NO space before or after the "="). Note that this
> line does not use drive or partition number; it always refers to C:\, the
> Root of the system partition.
>
> That may be more information than you wanted, Bill, but it's hard to
> explain this stuff without leaving loose ends dangling. And, too often,
> the fine point that is left out is exactly the little detail that makes
> the difference in the current situation.
>
> RC
>
> "Bill Post" <BillPost@discussions.microsoft.com> wrote in message
> news:83D7632A-5B56-4723-8430-DA8E3FD95E84@microsoft.com...
>> Hope this don't turn up as a double post.
>> I posted it a couple of hours ago and as of yet it's not showing up.
>>
>> I built a system about 3 yrs. ago with a single 40 gig. hard drive.
>> Using FDISK, I partitioned the drive into 5 partitions, C,D,E,F,G,
>> Drive No. is "0"
>> Installed Win.98SE on D partition, then installed XP Home Edition on C
>> partition.
>> Default OS is XP.
>>
>> A few days ago I installed another 40 gig.drive, and DOS re-arranged my
>> drive
>> letters by inserting the partitions on the second drive in after "C" and
>> naming them "D" & "E".
>> Problem: Path to Win98SE is no longer correct.
>>
>> Below is a copy of my Boot.ini file, along with a couple of samples from
>> Microsoft.
>> As you will notice, there is no reference to Win98SE in the file, yet
>> when I
>> remove
>> the partitions on the second disk it boots fine to both systems.
>> Also, when I look at the drives after starting XP, all drive letters are
>> correct,
>> and the new disk can be used as normal with drive letters "I" and "J"
>> Help on this would be greatly appricianted.
>>
>>
>> My current Boot.ini file
>> [boot loader]
>> timeout=30
>> default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
>> [operating systems]
>> multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home
>> Edition" /fastdetect /NoExecute=OptIn
>> C:\ = "Microsoft Windows"
>>
>>
>> Sample Boot.ini File
>> This is a sample of a default Boot.ini file from a Windows XP
>> Professional
>> computer.
>> [bootloader
>> timeout=30
>> default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
>> [operating systems]
>> multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
>> Professional" /fastdetect
>>
>>
>> This is a sample of the above Boot.ini file after adding another
>> partition
>> running Windows 2000 Professional.
>> [boot loader]
>> timeout=30
>> default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
>> [operating systems]
>> multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Windows XP Professional"
>> /fastdetect
>> multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000 Professional"
>> /fastdetect
>