Purpose of Boot.ini in Windows 2000 Startup

The boot.ini file is a critical text-based configuration file used by Microsoft Windows 2000 during the system initialization sequence. Located in the root directory of the primary active partition, this hidden system file dictates how the NT Loader (NTLDR) behaves, presents the operating system selection menu, and specifies the precise physical disk path required to load the Windows 2000 operating system kernel.

During the Windows 2000 startup sequence, the system BIOS executes the Master Boot Record (MBR), which points to the boot sector of the active partition. The boot sector then loads NTLDR into memory. At this phase, NTLDR reads boot.ini to determine the boot parameters. Without a valid boot.ini file, NTLDR lacks the instructions required to locate the system root directory, potentially halting the startup sequence or forcing the loader to fall back to default drive parameters.

The boot.ini file is divided into two primary sections: [boot loader] and [operating systems].

The [boot loader] section defines the interface settings presented to the user during startup. It contains two main variables:

  • timeout: Specifies the number of seconds the system waits on the operating system selection screen before automatically loading the default entry. Setting this value to 0 bypasses the menu entirely.
  • default: Identifies the default operating system path that loads if the user does not make a manual selection before the timeout expires.

The [operating systems] section contains the list of available operating systems installed on the machine. Each line in this section uses Advanced RISC Computing (ARC) naming conventions to define the exact controller, disk, and partition where the system files reside. A standard entry resembles: multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

In this path, the ARC syntax informs NTLDR which storage adapter, physical drive, and partition contains the \WINNT system directory.

In addition to defining drive locations, boot.ini allows administrators to append functional switches to the boot entries to alter how Windows 2000 boots. Common switches include:

  • /fastdetect: Disables serial mouse detection on COM ports to speed up boot times.
  • /safeboot: Forces the operating system to start in Safe Mode.
  • /sos: Displays the names of device drivers as they are loaded into memory, aiding in troubleshooting driver failures.
  • /basevideo: Forces the system to load the standard VGA driver instead of custom video drivers.
  • /debug: Enables kernel debugging over a serial port.

Through these settings, boot.ini acts as the central routing and diagnostic configuration file for the entire pre-kernel boot phase of Windows 2000.