Re: Adding new HDD to system using dual boot
From: R. C. White (rc_at_corridor.net)
Date: 12/09/04
- Next message: Herb: "Control Panel Problem"
- Previous message: Will Denny: "Re: prob with win xp (I think)"
- In reply to: Bill Post: "Adding new HDD to system using dual boot"
- Next in thread: R. C. White: "Re: Adding new HDD to system using dual boot"
- Reply: R. C. White: "Re: Adding new HDD to system using dual boot"
- Reply: Sharon F: "Re: Adding new HDD to system using dual boot"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 9 Dec 2004 11:17:25 -0600
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
-- R. C. White, CPA San Marcos, TX rc@corridor.net Microsoft Windows MVP "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
- Next message: Herb: "Control Panel Problem"
- Previous message: Will Denny: "Re: prob with win xp (I think)"
- In reply to: Bill Post: "Adding new HDD to system using dual boot"
- Next in thread: R. C. White: "Re: Adding new HDD to system using dual boot"
- Reply: R. C. White: "Re: Adding new HDD to system using dual boot"
- Reply: Sharon F: "Re: Adding new HDD to system using dual boot"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|