Well, we’re both right of course ![:wink: :wink:](/images/emoji/twitter/wink.png?v=12)
Actually, it depends on the way the boot.ini file is coded. If the boot line
uses the multi() syntax, for example:
multi(0)disk(0)rdisk(0)partition(1)\WINNT=“Microsoft Windows 2000 Server”
/fastdetect
then even if the device is a SCSI disk, NTLDR and early NT initialization
uses INT13 calls (and your SCSI adapter has to have BIOS option ROM support
for this).
On the other hand, if you use the scsi() syntax, NTLDR loads ntbootdd.sys
(which is just a copy of the standard device driver for your scsi adapter)
and then uses it to read the disk…
/simgr
-----Original Message-----
From: Saulius Krasuckas [mailto:Saulius.Krasuckas@ff.vu.lt]
Sent: Sunday, August 06, 2000 4:18 PM
To: File Systems Developers
Subject: [ntfsd] Re: Doubt regarding BIOS…
Maxim, once you wrote:
> This looks rather suspicious. I suspect that even NTLDR does not use
BIOS
> for
> disk access in the later stages - when loading boot
drivers+kernel+HAL+NLS
> tables+SYSTEM registry, for instance. Looks like even NTLDR uses BIOS
only
> on the earliest stage.
. NTLDR does not use BIOS (in the later stages)
. it uses something else (in the later stages)
one interesting link (Exploring the Windows NT boot sequence)
says that :
NTLDRs first task is to switch the memory into 32-bit flat mode. Once
NTLDR accomplishes that, it initializes the appropriate mini file
system. Mini file systems are special versions of the FAT, HPFS, and NTFS
file systems. The mini file systems are part of the NTLDR module.
after you wrote:
> So, does NTLDRs mini-fs-drivers really uses INs and OUTs ?
Surely not. FS - even miniFS - relies on underlying disk driver to do
INs
and
OUTs.
.NTLDR uses ide disk driver (or NTBootDD.SYS for scsi devices)
ok, i understood, and sorry - i’m profane in NT ![:slight_smile: :slight_smile:](/images/emoji/twitter/slight_smile.png?v=12)
Thus the need in NTBootDD.sys - your boot device can be some weird SCSI
controller, for instance. Surely NTLDR cannot contain the code for all
possible SCSI HBAs.
ok, agree… but:
On Fri, 4 Aug 2000, Graham, Simon wrote:
NTLDR and early stages of system initialization in NT itself use INT13H
calls. Also, bootdd.sys is only used if the boot.ini file uses the
“scsi()”
or “signature()” syntax to specify the OS location - if you use “multi()”
syntax, then NT initialisation continues to use INT13 calls to read the
disk
all the way through loading the boot drivers and initial PnP enumeration
and
only switches to using the loaded SCSI driver when this is done.
So, Simon says “NT … continues to use INT13 calls”
And Maxim says “NTLDR relies on underlying disk driver”
Which one of you, guys, are right? Maybe both - have i missed something?
Or maybe underlying disk driver uses only INT13 by self - not IN/OUT
operations to read disk?
sorry for disturbing, but i really wanted to clear out the way NT-booting
goes…
proglammer
You are currently subscribed to ntfsd as: xxxxx@stratus.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)