NTLDR
Template:Short description Script error: No such module "about". NTLDR (abbreviation of NT loader) is the boot loader for all releases of Windows NT from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it is replaced by Windows Boot Manager (BOOTMGR).
NTLDR is typically run from the primary storage device, 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 a minimum, the following three (or four) files to be on the system volume:
- Page Template:Mono/styles.css has no content.ntldr, the main boot loader itself
- Page Template:Mono/styles.css has no content.NTDETECT.COM, required for booting an NT-based OS, detects basic hardware information needed for successful boot
- Page Template:Mono/styles.css has no content.boot.ini, which contains boot configuration
- If Page Template:Mono/styles.css has no content.boot.ini was missing, then NTLDR will default to Page Template:Mono/styles.css has no content.%SystemRoot%\Windows on the first partition of the first hard drive.
- Non-English versions of Windows may also load Page Template:Mono/styles.css has no content.bootfont.bin.
NTLDR is launched by the volume boot record of system partition, which is typically written to the disk by the Windows Page Template:Mono/styles.css has no content.FORMAT or Page Template:Mono/styles.css has no content.SYS command.
History
Windows NT was originally designed for Advanced RISC Computing (ARC) 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 an ARC-compatible boot manager when a user chooses to start a specific Windows NT operating system. However, because IBM PC compatible machines lacked any kind of ARC support (as they predate the creation of the ARC specification), an additional layer was added specifically for that platform: a custom boot manager code presenting a text-based menu allowing the user to choose from one or more operating systems and its options configured in a Page Template:Mono/styles.css has no content.boot.ini configuration file, prepended by a special StartUp module which is responsible for some preparations such as switching the CPU to 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:
Page Template:Pre/styles.css has no content.
load osloader=<Windows Path>\System32\NTLDR
systempartition=<Windows Partition>
osloadpartition=<Windows Partition>
osloadoptions=<Windows Boot Parameters>
consolein=multi(0)key(0)keyboard(0)
consoleout=multi(0)video(0)monitor(0)
x86systempartition=<NTLDR partition>
Versions of NTLDR aside from the x86 IA-32 architecture were also used; an IA-64 version of NTLDR was used in all versions of Windows XP 64-Bit Edition while an x86-64 version of NTLDR was used in Windows XP Professional x64 Edition (although beta builds retained the x86-only NTLDR).
In Windows releases starting from Windows Vista and Windows Server 2008, NTLDR was split off into two parts: Windows Boot Manager for the boot manager and winload.exe for the system loader. The boot manager part has been completely rewritten; it no longer uses Page Template:Mono/styles.css has no content.boot.ini as a configuration file, although the bootcfg utility for modifying Page Template:Mono/styles.css has no content.boot.ini is still present in the case of multi-boot configurations with Windows versions up to Windows XP and Windows Server 2003.
Command-line interface
Page Module:Infobox/styles.css has no content.
| bootsect | |
|---|---|
| [[Programmer|DeveloperTemplate:Pluralize from text]] | Microsoft |
| Engine | Page Template:Plainlist/styles.css has no content.Template:EditAtWikidata |
| Operating system | Microsoft Windows |
| Type | Command |
| License | Proprietary commercial software |
| Website | Bootsect Command-Line Options |
| Repository | Page Template:Plainlist/styles.css has no content.
|
Script error: No such module "Check for conflicting parameters". Page Module:Message box/ambox.css has no content.
This section needs expansion. You can help by Template:Protected page maintenance message. (June 2020) |
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.[1] The command can be used for FAT and NTFS based file systems. It replaces the FixFAT and FixNTFS tools.[2]
Example
The following example applies the NTLDR compatible master boot code to the D: volume:[2]
C:\>bootsect /nt52 D:
Startup process
Script error: No such module "Labelled list hatnote".
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 ntldr 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 ntldr 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.[3]
When booting, the loader portion of NTLDR does the following in order:
- Accesses the file system on the boot drive (either FAT or New Technology File System, NTFS).
- If Windows was put in the hibernation state, the contents of hiberfil.sys are loaded into memory and the system resumes where it left off.
- Otherwise, reads Page Template:Mono/styles.css has no content.boot.ini and prompts the user with the boot menu accordingly.
- If a non NT-based OS is selected, NTLDR loads the associated file listed in Page Template:Mono/styles.css has no content.boot.ini (bootsect.dos if no file is specified or if the user is booting into a DOS based OS) and gives it control.
- If an NT-based OS is selected, NTLDR runs ntdetect.com, which gathers information about the computer's hardware. (If ntdetect.com hangs during hardware detection, there is a debug version called ntdetect.chk that can be found on Microsoft support.[4])
- Starts ntoskrnl.exe, passing to it the information returned by ntdetect.com.[5]
boot.ini
NTLDR's first action is to read the Page Template:Mono/styles.css has no content.boot.ini file.[6] It 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 Page Template:Mono/styles.css has no content.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, Page Template:Mono/styles.css has no content.boot.ini cannot configure their boot options.
For NT-based OSs, the location of the operating system is written as an ARC path. 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.
Page Template:Mono/styles.css has no content.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 the file's properties. Extreme caution should be taken when modifying Page Template:Mono/styles.css has no content.boot.ini, as erroneous information can result in an OS that fails to boot.
Example
An example of a Page Template:Mono/styles.css has no content.boot.ini file, extracted from a working Windows XP Professional installation:
[boot loader]
timeout=30
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
Note: If the boot loader timeout option in Page Template:Mono/styles.css has no content.boot.ini is set to 0, the NTLDR boot menu does not appear. This happens especially on multi-booted systems; the boot menu also does not appear when only one option is defined in Page Template:Mono/styles.css has no content.boot.ini (or if only one operating system is installed), like the example above, even if the timeout option is set into any other value other than 0.
NT kernel switches

Note: Unless otherwise stated, the following kernel switches apply to both Windows XP and Windows Server 2003 as well as prior versions of Windows NT.
- Page Template:Mono/styles.css has no content./3GB – Option used only on 32-bit x86-based systems that allocates 3 GB for the user-mode address space and 1 GB for the system-mode (or kernel-mode) address space (more than that of the 2 GB allocation used for both user-mode and system/kernel-mode address spaces). It is intended for programs that can take advantage of the additional memory address space, such as certain Windows Server 2003 and Microsoft Exchange Server 2003 configurations.[7][8] Activating this option however may break VMR-9 video;[9] it may also cause audio problems with certain Sound Blaster X-Fi sound cards (X-Fi Gamer / X-Fi Titanium @ WINXP 32-bit 3/2012) due to the way that Creative's drivers handle memory over 2 GB.[10][11]
- Page Template:Mono/styles.css has no content./BASEVIDEO – Starts Windows in "VGA mode", where a VGA-compatible display driver is used with a 16-color, Template:Resx resolution.[8] This can be used to recover from configuration problems with certain display drivers; the Page Template:Mono/styles.css has no content./SOS switch can be used in conjunction with the Page Template:Mono/styles.css has no content./BASEVIDEO switch to help diagnose display driver failures on startup (this is the case for Windows NT 4.0 for the "VGA mode" option in the boot menu, which has both Page Template:Mono/styles.css has no content./BASEVIDEO and Page Template:Mono/styles.css has no content./SOS switches enabled).[7]
- Page Template:Mono/styles.css has no content./BAUDRATE=nnn – Specifies the baud rate for the debug port used by the kernel debugger, overriding the default value (9600–19200 Kbps with a modem and 115200 Kbps with a null modem). Enabling this option under Page Template:Mono/styles.css has no content.boot.ini automatically enables kernel debugging with the Page Template:Mono/styles.css has no content./DEBUG switch.[7][8]
- Page Template:Mono/styles.css has no content./BOOTLOG – Writes a log of the boot process to the file Page Template:Mono/styles.css has no content.%SystemRoot%\Ntbtlog.txt for diagnostic purposes.[7][8] It is set by default for certain Safe Mode options.
- Page Template:Mono/styles.css has no content./BOOTLOGO – Displays a custom Template:Resx 16-color bitmap instead of the default graphical boot screen on startup. This bitmap is named Page Template:Mono/styles.css has no content.boot.bmp and is located in Page Template:Mono/styles.css has no content.%SystemRoot%\Windows directory. The Page Template:Mono/styles.css has no content./NOGUIBOOT switch must be used in conjunction with the Page Template:Mono/styles.css has no content./BOOTLOGO switch, otherwise the custom bitmap will not display properly.[8]
- Page Template:Mono/styles.css has no content./BREAK – Makes the system halt at a breakpoint within the hardware abstraction layer (HAL). Causes a stop error if a debugger is not used (or when the Page Template:Mono/styles.css has no content./DEBUG switch is absent).[8]
- Page Template:Mono/styles.css has no content./BURNMEMORY=nnn – Decreases the amount of memory that Windows can use (e.g. Page Template:Mono/styles.css has no content./BURNMEMORY=128 on a system using 512 MB of memory would take out 128 MB of memory from within Windows, making it only use 384 MB of memory).[7][8]
- Page Template:Mono/styles.css has no content./CHANNEL=nn – Used when debugging through the IEEE 1394 port (using Page Template:Mono/styles.css has no content./DEBUGPORT=1394), to specify channels where the kernel debugger can communicate with.[7][8]
- Page Template:Mono/styles.css has no content./CLKLVL – Sets the HAL to use level-sensitive clocks settings rather than edge-triggered clock settings for hardware interrupts.[8]
- Page Template:Mono/styles.css has no content./CMDCONS – Passed when booting into the Recovery Console.[8]
- Page Template:Mono/styles.css has no content./CRASHDEBUG – Loads the kernel debugger on startup, to be used when the system crashes.[8]
- Page Template:Mono/styles.css has no content./DEBUG – Enables debugging at the kernel level.[7][8]
- Page Template:Mono/styles.css has no content./DEBUGPORT=comx – Specifies a port used for kernel-mode debugging. Supports serial and (in Windows XP and Windows Server 2003 only) IEEE 1394 ports for use with debugging.[8][7]
- Page Template:Mono/styles.css has no content./EXECUTE – Disables Data Execution Prevention (DEP) support.[8]
- Page Template:Mono/styles.css has no content./FASTDETECT[:comx[,comy]] – Disables serial and bus mouse detection in Page Template:Mono/styles.css has no content.NTDETECT.COM. Otherwise serial and bus mouse detections are performed if the Page Template:Mono/styles.css has no content./FASTDETECT switch is excluded. Set by default on Windows 2000 onwards.[7][8]
- Page Template:Mono/styles.css has no content./HAL=filename – Sets a different HAL to use.[8][7]
- Page Template:Mono/styles.css has no content./INTAFFINITY – Makes the HAL set hardware interrupts to only the highest numbered processor on multiprocessor systems.[8]
- Page Template:Mono/styles.css has no content./KERNEL=filename – Sets a different kernel image to use.[8][7]
- Page Template:Mono/styles.css has no content./MAXMEM=nnn – Sets the maximum amount of memory that Windows can use (e.g. Page Template:Mono/styles.css has no content./MAXMEM=64 makes Windows use 64 MB of memory even if the computer has 512 MB or more memory). Page Template:Mono/styles.css has no content./MAXMEM does not account for memory leaks; Page Template:Mono/styles.css has no content./BURNMEMORY is recommended for those use cases instead.[7]
- Page Template:Mono/styles.css has no content./MININT – Option used for Windows PE. Changes the
HKLM\SYSTEMkey in the Windows Registry to be non-persistent so that any changes made to the key are not saved when the system shuts down.[8] - Page Template:Mono/styles.css has no content./NODEBUG – Disables debugging at the kernel level.[7]
- Page Template:Mono/styles.css has no content./NOEXECUTE={OPTIN|OPTOUT|ALWAYSON|ALWAYSOFF} – Sets Data Execution Prevention (DEP) settings, applies to both 32-bit and 64-bit CPUs with the NX bit.[8]
- Page Template:Mono/styles.css has no content./NOEXECUTE=OPTIN – Enables DEP for core system images and those specified in the DEP configuration dialog.
- Page Template:Mono/styles.css has no content./NOEXECUTE=OPTOUT – Enables DEP for all images except those specified in the DEP configuration dialog.
- Page Template:Mono/styles.css has no content./NOEXECUTE=ALWAYSON – Enables DEP on all images.
- Page Template:Mono/styles.css has no content./NOEXECUTE=ALWAYSOFF – Disables DEP.
- Page Template:Mono/styles.css has no content./NOGUIBOOT – Disables the graphical boot screen on startup, only displaying device driver names as they are loaded, similar to Page Template:Mono/styles.css has no content./SOS. It can be used in conjunction with Page Template:Mono/styles.css has no content./BASEVIDEO to diagnose device driver failures on startup.[7][8] It is set by default for certain Safe Mode options.
- Page Template:Mono/styles.css has no content./NOPAE – Disables Physical Address Extension support.[8]
- Page Template:Mono/styles.css has no content./NOSERIALMICE[=comx] – Disables serial mouse detection in Page Template:Mono/styles.css has no content.NTDETECT.COM. Otherwise serial mouse detections are performed if the Page Template:Mono/styles.css has no content./NOSERIALMICE switch is excluded. Replaced with Page Template:Mono/styles.css has no content./FASTDETECT on Windows 2000 onwards.[8]
- Page Template:Mono/styles.css has no content./NUMPROC=nnn – Specifies the number of processors used in a multiprocessor system (e.g. Page Template:Mono/styles.css has no content./NUMPROC=2 on a four-way system causes Windows to use only two processors instead of all four). Can be used to troubleshoot performance issues and defective CPUs.[8][7]
- Page Template:Mono/styles.css has no content./ONECPU – Makes Windows use only one processor in a multiprocessor system, similar to that of Page Template:Mono/styles.css has no content./NUMPROC=1.[8]
- Page Template:Mono/styles.css has no content./PAE – Enables Physical Address Extension support.[7]
- Page Template:Mono/styles.css has no content./PCILOCK – Locks IRQ settings used by PCI devices to the ones set by the computer's BIOS.[7]
- Page Template:Mono/styles.css has no content./RDPATH – Specifies a path to the System Disk Image (SDI) file.[8]
- Page Template:Mono/styles.css has no content./REDIRECT – Enables Emergency Management Services (EMS). Only available in Windows XP onwards.[7][8]
- Page Template:Mono/styles.css has no content./SAFEBOOT:{MINIMAL|NETWORK|DSREPAIR}[(ALTERNATESHELL)] – Sets Safe Mode settings.[8][7]
- Safe Mode (Page Template:Mono/styles.css has no content./SAFEBOOT:MINIMAL /SOS /BOOTLOG /NOGUIBOOT) – Starts Windows using a minimal set of device drivers and services.[12]
- Safe Mode with Networking (Page Template:Mono/styles.css has no content./SAFEBOOT:NETWORK /SOS /BOOTLOG /NOGUIBOOT) – Starts Windows using a minimal set of device drivers and services, along with the necessary drivers to load networking.[12]
- Safe Mode with Command Prompt (Page Template:Mono/styles.css has no content./SAFEBOOT:MINIMAL(ALTERNATESHELL) /SOS /BOOTLOG /NOGUIBOOT) – Starts Windows using a minimal set of device drivers and services, but uses the Command Prompt as its user interface instead of Windows Explorer.[12]
- Windows in Directory Services Restore Mode (Page Template:Mono/styles.css has no content./SAFEBOOT:DSREPAIR /SOS) – (This mode is valid only for Windows-based domain controllers.) Performs a directory service repair.[12]
- Page Template:Mono/styles.css has no content./SDIBOOT – Option used for Windows XP Embedded. Allows booting a RAM image from a System Disk Image (SDI) file.[7][8]
- Page Template:Mono/styles.css has no content./SOS – Displays device driver names on startup. Also changes the graphical boot screen to the one seen when Page Template:Mono/styles.css has no content.CHKDSK is run on startup (Page Template:Mono/styles.css has no content.Autochk) in Windows 2000 onwards, showing operating system information in a similar manner to Windows NT 4.0.[7][8] Can be used in conjunction with the Page Template:Mono/styles.css has no content./BASEVIDEO switch to help diagnose display driver failures on startup (this is the case for Windows NT 4.0 for the "VGA mode" option in the boot menu, which has both Page Template:Mono/styles.css has no content./BASEVIDEO and Page Template:Mono/styles.css has no content./SOS switches enabled). It is set by default for certain Safe Mode options.
- Page Template:Mono/styles.css has no content./TIMERES – Sets the system timer resolution for the HAL.[8]
- Page Template:Mono/styles.css has no content./USEPMTIMER – Specifies that Windows uses the Power Management Timer (PM_TIMER) timer settings instead of the Time Stamp Counter (TSC) timer settings if the processor supports the PM_TIMER settings.[7] By default, Windows Server 2003 Service Pack 2 (SP2) uses the PM timer for all multiprocessor APIC or ACPI HALs. Page Template:Mono/styles.css has no content./USEPMTIMER must be enabled for Windows Server 2003 Service Pack 1 (SP1) and below.[13]
- Page Template:Mono/styles.css has no content./USERVA=nnn – Option used only on 32-bit x86-based systems that allows applications to be given a larger address space specified by the user, similar to the Page Template:Mono/styles.css has no content./3GB switch. The aforementioned switch is mandatory when using the Page Template:Mono/styles.css has no content./USERVA switch.[8][12]
- Page Template:Mono/styles.css has no content./WIN95 – Allows booting of non-NT versions of Windows (e.g. Windows 9x) using Page Template:Mono/styles.css has no content.BOOTSECT.W40.[8]
- Page Template:Mono/styles.css has no content./WIN95DOS – Allows booting of DOS or non-NT versions of Windows (e.g. Windows 9x) using Page Template:Mono/styles.css has no content.BOOTSECT.DOS.[8]
- Page Template:Mono/styles.css has no content./YEAR=yyyy – Overrides the year set by the computer's clock settings (e.g. Page Template:Mono/styles.css has no content./YEAR=2000 sets the year to 2000 within Windows, even if the year is set to 1999 within the computer's clock settings). Was used for testing Y2K compliance.[8]
See also
- Booting process of Windows
- ntoskrnl.exe
- ntdetect.com
- Emergency Management Services
- Comparison of boot loaders
- Windows Boot Manager
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content."Bootsect Command-Line Options". Windows Vista: Technical Reference. Microsoft Technet. 2009. Retrieved 2011-07-03.
- ^ a b Page Module:Citation/CS1/styles.css has no content."Bootsect Command". Computer Hope.
- ^ Page Module:Citation/CS1/styles.css has no content."Boot Configuration Data Editor Frequently Asked Questions". Windows Server. Microsoft Learn. 2007. Retrieved 2024-01-04.
- ^ Page Module:Citation/CS1/styles.css has no content."Ntdetect.com (Installd.cmd)". Microsoft. Archived from the original on 2006-02-06.
- ^ Page Module:Citation/CS1/styles.css has no content.Microsoft (2000). Windows 2000 Professional Resource Kit (1st ed.). Redmond, WA: Microsoft Press. ISBN 1-57231-808-2.
- ^ Page Module:Citation/CS1/styles.css has no content.Rick Maybury (2009). "Startup and Shutdown Problems, part 1". Bootcamp. Archived from the original on 2012-07-11. Retrieved 25 April 2012.
- ^ a b c d e f g h i j k l m n o p q r s t u v Page Module:Citation/CS1/styles.css has no content.Microsoft (November 28, 2007). "Available switch options for the Windows XP and the Windows Server 2003 Boot.ini files". Retrieved January 4, 2024.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai Page Module:Citation/CS1/styles.css has no content.Russinovich, Mark (November 1, 2006). "Boot INI Options Reference". Microsoft Learn. Microsoft. Retrieved January 4, 2023.
- ^ Page Module:Citation/CS1/styles.css has no content."Loss of DirectDraw Overlay and VMR9 after upgrade/update". VideoHelp Forum. July 2008.
- ^ Page Module:Citation/CS1/styles.css has no content."Trying to re-enable X-Fi MB2 with more recent Realtek HDA drivers... - Windows 10 Help Forums". www.tenforums.com. July 24, 2020. Retrieved January 22, 2026.
- ^ Page Module:Citation/CS1/styles.css has no content."Sound problem with New RAM - Windows 7 Help Forums". www.sevenforums.com. Retrieved January 22, 2026.
- ^ a b c d e Page Module:Citation/CS1/styles.css has no content."A description of the Safe Mode Boot options in Windows XP". Microsoft Support. Archived from the original on 2015-02-19.
- ^ Page Module:Citation/CS1/styles.css has no content."Programs that use the QueryPerformanceCounter function may perform poorly". Microsoft Support. 23 February 2023.
External links
- Script error: No such module "webarchive".
- Script error: No such module "webarchive".
- MS Knowledge Base help on "NTLDR Is Missing" error message in Windows 2000 and Windows XP (also [1] Script error: No such module "webarchive"., [2] Script error: No such module "webarchive"., [3] Script error: No such module "webarchive"., [4] Script error: No such module "webarchive".)
- Script error: No such module "webarchive".
- Explanation of BOOT.INI by Daniel B. Sedory
Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.