Hard drive is Disk 0 CHANGES to hard drive is Disk 1??? And still works!!!

S

Spin

Running Windows XP Pro 64-bit edition. I notice that my primary hard drive
is Disk 0. If I add another hard disk to the system, the primary hard drive
becomes Disk 1! And still works!!! I thought the hard and fast rule was
that disk 0 ALWAYS stays disk 0 REGARDLESS of whether or not an additional
hard drive gets installed. The additional drive in my case is a removable
drive which sits inside a drive bay which replaces the CD-ROM. Am I missing
something?
 
T

Tony Sperling

Well, you are probably right - AND you are probably missing something? If
your original HD (0) is a SATA drive, which would be reasonable to assume,
when you add a drive that is IDE/ATA the BIOS enumerates this one before the
SATA drive. Since SATA is an extensiion of ATA it looks up all IDE
connections first as it used to and any SATA drives are relegated to second
place in this regard. The BIOS is smart enough to keep CD drives separate
and you may somewhere have a setting where you can configure the added HD
separate from the internal one(s), or different connectors to attach your
cables. You should read your Motherboard Manual carefully, if you end up
adding an internal HD later you could have havoc play with your boot order.


Tony. . .
 
S

Spin

Tony Sperling said:
Well, you are probably right - AND you are probably missing something? If
your original HD (0) is a SATA drive, which would be reasonable to assume,
<snipped>

Great answer! The primary drive is SATA and the secondary drive is ATA.
Your explanation rhymes reasonably!
 
S

Spin

VanguardLH said:
NT-based versions of Windows do not rely on the physical detect order of
hard drives by the BIOS in a computer. They rely on a signature placed
in the MBR of each hard drive. Then when you move drives around between

Thx for your feedback. I will take this knowledge and build upon it.
 
J

John John (MVP)

VanguardLH said:
Spin wrote:




NT-based versions of Windows do not rely on the physical detect order of
hard drives by the BIOS in a computer. They rely on a signature placed
in the MBR of each hard drive. Then when you move drives around between
different controllers on the motherboard or to daughercard controller
cards the OS can still locate the appropriate partitions on wherever the
drives got moved. However, moving the drives around can screw up the
BIOS bootup sequence since the BIOS only looks for the bootstrap code in
the MBR on the first physically detected hard disk.

http://en.wikipedia.org/wiki/Master_boot_record#MBRs_and_disk_identity

Hard to know what really happened because you did not describe your
physical hardware configuration before and after adding the new hard
disk.

Actually, there is another layer (underneath the signature mechanism)
that creates the Harddisk# directory, this is done by the Disk Class
driver and the I/O manager when NT is in the early booting stage. These
disk objects such as \device\harddisk0 are created before the I/O
Manager calls the IoAssignDriveLetters function which in turn reads the
registry and assigns drive letters to the NT disk Objects created
earlier by the Disk Class Driver. It is not unconceivable that the disk
ordinal number be different in the Disk Manager and that the
partition(s) on the disk still retain their assigned drive letters.

John
 
S

Spin

Spin said:
Great answer! The primary drive is SATA and the secondary drive is ATA.
Your explanation rhymes reasonably!

Anyway I can tell the system, to enumerate IDE AFTER SATA (instead of the
default which is IDE first)?
 
B

Bill in Co.

Spin said:
Anyway I can tell the system, to enumerate IDE AFTER SATA (instead of the
default which is IDE first)?

Unless such an option exists in BIOS (which seems highly unlikely), I doubt
it.
 
U

Uwe Sieber

Bill said:
Unless such an option exists in BIOS (which seems highly unlikely), I doubt
it.

I have seen a BIOS where the boot priority of the hard drives
can be set and this changes the disk numbering too.


Uwe
 
T

Tony Sperling

Like Bill says - any such option will have to sit in the BIOS, but I do not
think it must be 'Highly Unlikely' - I have more than one machine of
different brands running that does this, but it is highly likely that you
should have to be on good friednly terms with your BIOS - you may have an
option to flash to a newer version, or simply do it the hard way and
close-read every single word that appears in every single page inside the
BIOS Setup.

You may have an IDE sub-section under the Advanced section, if you enter
this you can see the devices that the machine is currently aware of, and you
can usually arrange them with the '+' / '-' keys. Your controlling keys may
vary according to the language of the keyboard - whatever you have will fit
the english keyboard but the manufacturer usually made provisions for this
so it boots in a keyboard/language transparant way, you may have to
experiment there. It's usually not a problem.

Do Not Make Changes That You Don't Understand!
-----------------------------------------------------

For a good starting-point, I would go ahead and turn OFF every single
setting in the BIOS that you KNOW that you are not going to need, things
that support devices that are not installed, it's a great exercise and it
will shorten the time it takes the machine to Boot and it may become more
stable or robust.

If you don't have your Motherboard Manual, get it! Most manufacturer's have
it for download in the BIOS and Driver Support section. When You have it,
read it and get familiar with it, your digital buddy will thank you for it!

If it's a Notebook, you may have 'close-to-nothing' that can be changed in
the BIOS, then you are out of luck, but you may have an option to attach
and/or remove devices before installing the OS, it will usually remember the
state it was in when the OS was originally installed! (Vista has changed
this a bit. . .)

Log on to the site that has drivers and BIOS updates for download of your
system - it should have some kind of Forum, register yourself and if it's
any good, get to be a regular and you'll probably have a selection of
knowledgeable people helping you out with any issues that are directed
towards YOUR specific issues.

Good Luck!


Tony. . .
 
T

Tony Sperling

Thank you, JohnJohn!

I must admit, I was not aware of the actual sequence of what call's what and
then ends up going where? But taking this into account, and on this level,
has a tendency to have things getting messy, as this may look like
conflicting explanations - when they're really overlapping pieces of
mutually supporting explanations (?). The OS internally enumerates devices
differently than the BIOS - often starting from (1), but then you have the
OS software utilities that reads off the BIOS and doesn't make use of the
internal enumeration. In short - if you are not programming, you're likely
to have more help from getting to know the BIOS and make inquiries about
specifics that you don't understand. If you are programming, or an OS
hard-core troubleshooter, of course, you need to know it all! But you are
absolutely right, other things could play tricks with the signatures and
drive-letters!

:0o)



Tony. . .
 
P

PD43

Tony Sperling said:
Like Bill says - any such option will have to sit in the BIOS, but I do not
think it must be 'Highly Unlikely' - I have more than one machine of
different brands running that does this,

Mine does it and the board is almost two years old.
 
J

John John (MVP)

You're welcome, Tony.

I think the information supports what you have explained in your other
post, the disk object number may change depending on how the information
is obtained from the BIOS or on what other disks are added to the
computer. When ntldr starts the boot process it calls on NTDETECT.COM
to get the hardware information from the BIOS and I think that the disk
object number assigned by the I/O manager and the Disk Class driver is
influenced by the order in which NTDETECT.COM enumerates or presents the
disks to the I/O Manager, or in other words on how the BIOS presented
the information to NTDETECT.COM in the first place.

If one were to have only one disk in the computer and by "mistake" place
it on the Secondary IDE controller and install Windows on this disk,
this would show up as \device\harddisk0 in the Object Manager. I'm
almost sure that if you were to later add a disk on the Primary IDE
controller that the new disk would become \device\harddisk0 and that the
one on the Secondary controller would become \device\harddisk1, much as
what you said, re: SATA/IDE. It all depends on how the disks
information is presented to NTDETECT by the BIOS.

This change in the disk object number would in no way affect the drive
lettering, the IoAssignDriveLetters function *always* reads the Mount
Manager's database in the registry and *always* respects previously
assigned drive letters, the disk object number is somewhat irrelevant,
the symbolic link for the drive letter is made to the disk that has the
proper signature regardless of the device's object number.

John
 
B

Bill in Co.

Uwe said:
I have seen a BIOS where the boot priority of the hard drives
can be set and this changes the disk numbering too.


Uwe

OK, I was thinking of some checkbox option to generically enumerate IDE
after SATA - but I think I see what you're getting at: it's just in a list,
and you choose the order there.
 
B

Bill in Co.

Tony said:
Like Bill says - any such option will have to sit in the BIOS, but I do
not
think it must be 'Highly Unlikely' -

I stand corrected by assuming this meant some generic checkbox option for
IDE after SATA, instead of thinking of that ordered list in BIOS!! (well,
duh to me). :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top