NTLDR

NTLDR (abbreviation of NT loader) is the boot loader for all releases of Windows NT operating system up to and including Windows XP and Windows Server 2003. NTLDR is typically run from the primary hard disk drive, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.
NTLDR requires, at the minimum, the following two files to be on the system volume:
An additional important file is "boot.ini", which contains boot configuration (if missing, NTLDR will default to "\Windows" on the first partition of the first hard drive).
NTLDR is launched by the volume boot record of system partition, which is typically written to the disk by the Windows or command.
History.
Windows NT was originally designed for ARC-compatible platforms, relying on its boot manager support and providing only "osloader.exe", a loading program accepting ordinary command-line arguments specifying Windows directory partition, location or boot parameters, which is launched by ARC-compatible boot manager when a user chooses to start specific Windows NT operating system. However, because the x86 lacked any of the ARC support, the additional layer was added specifically for that platform: custom boot manager code presenting text menu allowing the user to choose from one or more operating system and its options configured in "boot.ini" configuration file, prepended by special StartUp module which is responsible for some preparations such as switching the CPU to the protected mode. When a user chooses an operating system from the boot menu, the following command-line arguments are then passed to the part of the "osloader.exe" common to all processor architectures:
In Windows releases starting from Windows Vista and Windows Server 2008, NTLDR has been split off back to its boot manager and system loader parts: the Windows Boot Manager and "winload.exe". The boot manager part has been completely rewritten; it no longer uses "boot.ini" as a configuration file, although the "bootcfg" utility for modifying boot.ini is still present for the case of multi-boot configurations with Windows versions up to Windows XP and Windows Server 2003.
Command-line interface.
The bootsect.exe utility program in the Windows PE tools has options /nt52 (NTLDR) and /nt60 (Vista and up) to store a NTLDR or Vista boot record in the first sector of a specified partition. The command can be used for FAT and NTFS based file systems. It replaces the FixFAT and FixNTFS tools.
Example.
The following example applies the NTLDR compatible master boot code to the D: volume:
C:\>bootsect /nt52 D:
Startup process.
When a PC is powered on its BIOS follows the configured boot order to find a bootable device. This can be a harddisk, floppy, CD/DVD, network connection, USB-device, etc. depending on the BIOS. In the case of a floppy the BIOS interprets its boot sector (first sector) as code, for NTLDR this could be a NTLDR boot sector looking for the codice_1 file on the floppy. For a harddisk the code in the Master Boot Record (first sector) determines the active partition. The code in the boot sector of the active partition could then be again a NTLDR boot sector looking for codice_1 in the root directory of this active partition. In a more convoluted scenario the active partition can contain a Vista boot sector for the newer Vista boot manager with an {ntldr} entry pointing to another partition with a NTLDR boot sector.
When booting, the loader portion of NTLDR does the following in order:
boot.ini.
NTLDR's first action is to read the Boot.ini file. NTLDR allows the user to choose which operating system to boot from at the menu. For NT and NT-based operating systems, it also allows the user to pass preconfigured options to the kernel. The menu options are stored in "boot.ini", which itself is located in the root of the same disk as NTLDR. Though NTLDR can boot DOS and non-NT versions of Windows, boot.ini cannot configure their boot options.
For NT-based OSs, the location of the operating system is written as an Advanced RISC Computing (ARC) path.
"boot.ini" is protected from user configuration by having the following file attributes: system, hidden, read-only. To manually edit it, the user would first have to remove these attributes.
A more secure fashion to edit the file is to use the "bootcfg" command from a console. "bootcfg" will also relock the file (setting the file back to system, hidden, and read-only). Additionally, the file can be edited within Windows using a text editor if the folder view option "Show hidden files and folders" is selected, the folder view option "Hide protected operating system files" is unchecked, and the "Read-only" option is unchecked under file properties.
"bootsect.dos" is the boot sector loaded by NTLDR to load DOS, or if there is no file specified when loading a non NT-based OS.
Example.
An example of a "boot.ini" file:
[boot loader]
timeout=40
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
If the boot loader timeout option in "boot.ini" is set to 0, the NTLDR boot menu does not appear.
Extreme caution should be taken when modifying the boot loader, as erroneous information can result in an OS that fails to boot.