ntldr

OS Loader
Component of Microsoft Windows
WindowsXPx64-NTLDR.png
Typeboot loader
Introduced inWindows NT 3.1
Last included inWindows Server 2003
Replaced by
Windows Boot Manager

ntldr is the file name used for the x86 implementation of the boot loader used by Windows NT versions prior to Windows Vista. Depending on the hardware platform, it can also be named as osloader.exe on ARC-compatible systems or as ia64ldr.efi on Itanium systems.

The main part of the boot loader is the OS Loader (osloader.exe), which takes the location of the kernel and HAL as arguments and is common to all ports of Windows NT. As the OS Loader executable uses ARC firmware routines for I/O, it is combined with an ARC emulator module on platforms that do not use ARC-compatible firmware, i.e. x86,[a] AMD64 and IA-64.

On Itanium or ARC-compatible systems, both of which implement a boot manager in firmware that is capable of launching executable files directly from a file system, the OS Loader is installed to the system partition and a firmware boot entry is added that launches the loader with arguments that point it to a specific Windows instance. On x86 and AMD64, which has no such firmware support, the loader is configured via the boot.ini configuration file and also implements a multiboot menu.

History[edit | edit source]

The first build known to use ntldr is the Windows NT 3.1 October 1991 build. Previous builds, such as build 196, used an earlier boot loader combined with OS/2 boot code and primitive multiboot selection.

The Advanced boot options menu, which allows Windows to boot in Safe mode or with specific options, like while using the default VGA driver, was introduced in Windows 2000 build 1738.

It was replaced in Windows Vista build 5048 by Windows Boot Manager. Installing Windows Vista or newer alongside one or multiple NTLDR-powered systems will create a respective BCD entry for NTLDR named "Earlier Version of Windows".

Functionality[edit | edit source]

The main OSLOADER binary is a COFF executable (before Windows XP build 2469; PE starting from then) targeting ARC firmware. On x86 and AMD64 systems which do not use ARC firmware, it is wrapped around an ARC emulator referred to as NTLDR, which is responsible for initializing the actual boot loader; an additional component, NTDETECT.COM, analyses the system to create an ARC-compatible device tree. OSLOADER is configured by the use of a file located in the root directory of the drive where it has been installed, boot.ini. If no such boot configuration data is present, OSLOADER will attempt to boot from the default Windows directory located at the root of an applicable hard disk partition, pointing to either C:\WINNT[b] or C:\WINDOWS. Disks and partitions are identified in the ARC device path format as multi(x)disk(x)rdisk(x)partition(x) or, in the case of SCSI disks, as scsi(x)disk(x)rdisk(x)partition(x).

The TIMEOUT= line configures how long OSLOADER is displayed before it starts booting the system. Certain region-specific releases of Windows such as those marketed in Europe, Middle East or Far East regions utilize a 640×480-pixel graphical mode instead of 80×25 text mode to accommodate for non-Latin character sets.

Details for general protection faults or traps may be spewed by the NTLDR ARC emulator if OSLOADER crashes during code execution.

Gallery[edit | edit source]

Notes[edit | edit source]

  1. An exception to this are SGI Visual Workstation 320/540 workstations, which are x86-based but still use SGI's ARCS firmware adopted from their earlier MIPS-based systems.
  2. In versions prior to Windows XP.