Bootstrap Loader Process
NTLDR is the bootstrap loader for the Windows 2000 operating system, and is responsible for the following operations:
Enabling the user to select an operating system to start.
Loading the operating system files from the boot partition.
Controlling the operating system selection process and hardware detection prior to the Windows 2000 kernel initialization.
Before you can start the operating system, NTLDR and the following files must be in the active partition of your startup disk:
Bootsect.dos (if you plan to boot more than one operating system on your computer)
The signature() syntax is equivalent to the SCSI() syntax, but is used instead to support the Plug and Play architecture in Windows 2000. The SCSI controller number might vary each time you start Windows 2000, especially if you add new SCSI controller hardware after Setup is finished. Using the signature() syntax instructs NTLDR to locate the drive whose disk signature matches the value in the parentheses, no matter which SCSI controller number the drive is connected to. The following is an example of a Boot.ini file with a signature() entry:
If multiple preexisting Boot.ini entries use scsi() they are maintained and not converted to signature() syntax.
Advanced RISC Computing (ARC) path entries in the Boot.ini file start with "signature()" syntax in the following situations:
The partition on which you installed Windows 2000 is larger than 7.8 gigabytes (GB) in size, or the ending cylinder number is higher than 1024 for that partition.
The drive on which you installed Windows 2000 is connected to a SCSI controller whose BIOS is disabled, so INT13 BIOS calls cannot be used during the startup process.
Because the signature() syntax replaces the scsi() syntax, the same requirement applies in that a file named Ntbootdd.sys is required in the root folder of the system partition to address the SCSI controller at startup. This file is the specific SCSI miniport device driver for the SCSI adapter from which you are booting, renamed to Ntbootdd.sys, and placed in the root folder of the system drive.
If multiple pre-existing Boot.ini entries use scsi() syntax, they are maintained and not converted to signature() syntax.
For more information about signature() syntax, see the Microsoft Knowledge Base link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources .
When NTLDR runs, it clears the screen and displays the bootstrap loader message:
OS Loader V5.0
NTLDR then performs the following steps:
Switches the processor into the 32-bit flat memory mode. When a computer first starts, it runs in real mode, like an 8088 or 8086 CPU. Because NTLDR is mostly a 32-bit program, it must switch the processor to 32-bit flat memory mode before it can perform any other functions.
Starts the appropriate minifile system. The code to access files on file allocation table (FAT) file system and NTFS file system volumes is built into NTLDR. This code enables NTLDR to read, access, and copy files.
Reads the Boot.ini file, and displays the operating system selections. This screen is referred to as the bootstrap loader screen.
Allows you to select an operating system from the bootstrap loader screen.
If you select an operating system other than Windows 2000, NTLDR loads Bootsect.dos and passes control to it. The operating system then starts up as normal, because Bootsect.dos contains the boot sector that was on the primary partition before you installed Windows 2000.
If you select Windows 2000, NTLDR runs Ntdetect.com to gather information about currently installed hardware.
Allows you to choose between starting the computer in the configuration in use when Windows 2000 was last shut down (Default), or selecting troubleshooting and advanced startup options by pressing F8. For more information on safe mode, see "Safe Mode" later in this chapter.
Loads and starts Ntoskrnl.exe. NTLDR passes the hardware information collected by Ntdetect.com to Ntoskrnl.exe.