Understanding the boot.ini File
By Stephen Bucaro
Understanding each step in the boot process is important for troubleshooting
Windows startup problems. Boot.ini is one of the first files to come into play in
the boot process, therefore it's important to know how to edit, or should it become
necessary, to replace the boot.ini file.
NTLDR (Ntldr) is the bootstrap loader for Windows Operating systems before Vista.
The term "bootstrap" refers to "pulling oneself up by ones bootstraps", in other words
starting with nothing and ending up with, in this case, the Windows Operating System loaded.
In a multiboot system, the file boot.ini, located in the root directory of the boot drive,
provides a list of the available operating systems from which the user can choose. NTLDR
reads boot.ini and, if more than one operating system is listed, it displays a message
requesting which operating system to load.
• Because boot.ini a system file, its hidden attribute is set. It will
not appear in the file list unless the Folder Options are set to Show hidden
files and folders.
• If one of the operating systems in your multi-boot system is Linux, then
GRUB or LILO may be configured as the boot loader, in that case the boot.ini file is ignored.
• Windows Vista does away with NTLDR along with boot.ini and instead
uses the Windows Boot Manager (Bootmgr) to read the Boot Configuration Data (BCD)
database, which replaces the boot.ini file.
If you select an operating system other than Windows, NTLDR passes control to
bootsect.dos. Bootsect.dos is a file that contains a copy of the boot sector found
in sector 0 of the boot disk. If the Windows operating system is chosen, then the boot
process moves on to the hardware detection phase.
Below is an example of a basic boot.ini file.
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
The timeout= setting specifies the number of seconds that the screen requesting
which operating system to load will be displayed. The default= setting specifies the
path - in Advanced RISC Computing (ARC) format - to the default operating system. If timeout
is set to 0, NTLDR will start the default operating system immediately without displaying
the operating system selection screen. If the value is set to -1, NTLDR will will display
the operating system selection screen indefinitely, until the user makes a selection.
In ARC format, in multi(x), x is the number of the IDE disk controller or the SCSI
adapter (always 0). In disk(z), z is the number of the IDE disk or SCSI disk (always 0).
In rdisk(y), y is the number of the IDE disk (0 first, 1 second, 2 ....),(for SCSI always 0).
In partition(b), b is the partition number (1,2,3,4...) with primary partitions
always before extended partitions and logical disks. The last part of the path, \%SystemRoot%,
is the name of the directory containing the Windows operating system.