{{Short description|Boot loader for Microsoft Windows}} {{About|the boot loader for Windows XP and prior versions|later versions|Windows Boot Manager}} '''NTLDR''' ([[abbreviation]] of '''''NT''' '''l'''oa'''d'''e'''r''''') is the [[Booting|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 (computing)|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 partition and boot partition|system volume]]:

* {{Mono|ntldr}}, the main boot loader itself * {{Mono|NTDETECT.COM}}, required for booting an NT-based OS, detects basic hardware information needed for successful boot * {{Mono|boot.ini}}, which contains boot configuration ** If {{Mono|boot.ini}} was missing, then NTLDR will default to {{Mono|%SystemRoot%\Windows}} on the first partition of the first hard drive. * Non-English versions of Windows may also load {{Mono|bootfont.bin}}.

NTLDR is launched by the [[volume boot record]] of system partition, which is typically written to the disk by the Windows {{Mono|[[Format (command)|FORMAT]]}} or {{Mono|[[SYS (command)|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 {{Mono|boot.ini}} configuration file, prepended by a special StartUp module which is responsible for some preparations such as switching the [[Central processing unit|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:

{{Pre|1='''load''' '''osloader'''=''<Windows Path>''\System32\NTLDR<br/>'''systempartition'''=''<Windows Partition>''<br/>'''osloadpartition'''=''<Windows Partition>''<br/>'''osloadoptions'''=''<Windows Boot Parameters>''<br/>'''consolein'''=multi(0)key(0)keyboard(0)<br/>'''consoleout'''=multi(0)video(0)monitor(0)<br/>'''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 ''[[Windows Boot Manager#winload.exe|winload.exe]]'' for the system loader. The boot manager part has been completely rewritten; it no longer uses {{Mono|boot.ini}} as a configuration file, although the ''[[bootcfg]]'' utility for modifying {{Mono|boot.ini}} is still present in the case of [[Multi-booting|multi-boot]] configurations with Windows versions up to Windows XP and Windows Server 2003.

==Command-line interface== {{Infobox software | name = bootsect | logo = | screenshot = | screenshot size = | caption = | developer = [[Microsoft]] | released = | latest release version = | latest release date = | operating system = [[Microsoft Windows]] | genre = [[Command (computing)|Command]] | license = [[Proprietary software|Proprietary]] [[commercial software]] | website = {{URL|1=https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749177(v=ws.10)|2=Bootsect Command-Line Options}} }} {{Expand section|date=June 2020}} The '''bootsect.exe''' utility program in the [[Windows Preinstallation Environment|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.<ref>{{cite web |url=https://technet.microsoft.com/en-us/library/cc749177(WS.10).aspx |title=Bootsect Command-Line Options |work=Windows Vista: Technical Reference |publisher=[[Microsoft]] Technet |year=2009 |access-date=2011-07-03}}</ref> The [[command (computing)|command]] can be used for [[File Allocation Table|FAT]] and [[NTFS]] based [[file systems]]. It replaces the FixFAT and FixNTFS tools.<ref name="bootsect">{{Cite web|url=https://www.computerhope.com/bootsect.htm|title=Bootsect Command|website=Computer Hope}}</ref>

===Example=== The following example applies the NTLDR compatible master boot code to the D: volume:<ref name="bootsect" /> <syntaxhighlight lang="doscon"> C:\>bootsect /nt52 D: </syntaxhighlight>

==Startup process== {{see also|Booting process of Windows#Windows NT}} 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 <code>ntldr</code> 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 <code>ntldr</code> 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 <nowiki>{ntldr}</nowiki> entry pointing to another partition with a NTLDR boot sector.<ref>{{cite web |url=https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc721886(v=ws.10) |title=Boot Configuration Data Editor Frequently Asked Questions |work=Windows Server |year=2007 |publisher=[[Microsoft Learn]] |access-date=2024-01-04}}</ref>

When booting, the loader portion of NTLDR does the following in order:

#Accesses the file system on the boot drive (either [[File Allocation Table|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 {{Mono|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 {{Mono|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.<ref>{{cite web |url=http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ntdetect-o.asp |title=Ntdetect.com (Installd.cmd) |website=[[Microsoft]] |archive-url=https://web.archive.org/web/20060206082801/http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ntdetect-o.asp |archive-date=2006-02-06 |url-status=dead}}</ref>) #Starts ''[[ntoskrnl.exe]]'', passing to it the information returned by ''ntdetect.com''.<ref>{{cite book| author=Microsoft| author-link=Microsoft| year=2000| title=Windows 2000 Professional Resource Kit| edition=1st| publisher=Microsoft Press| location=Redmond, WA| isbn=1-57231-808-2| url-access=registration| url=https://archive.org/details/microsoftresourc00micr}}</ref>

== boot.ini == NTLDR's first action is to read the {{Mono|boot.ini}} file.<ref>{{cite web |author=Rick Maybury |author-link=Rick Maybury |url=http://www.pctoptips.co.uk/Bootcamp/2009/559.htm |title=Startup and Shutdown Problems, part 1 |work=Bootcamp |date=2009 |access-date=25 April 2012 |archive-url=https://web.archive.org/web/20120711014954/http://www.pctoptips.co.uk/Bootcamp/2009/559.htm |archive-date=2012-07-11 |url-status=unfit}}</ref> 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 {{Mono|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, {{Mono|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.

{{Mono|boot.ini}} is protected from user configuration by having the following [[file attribute]]s: system, hidden, read-only. To manually edit it, the [[User (system)|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 {{Mono|boot.ini}}, as erroneous information can result in an OS that fails to boot.

=== Example === An example of a {{Mono|boot.ini}} file, extracted from a working Windows XP Professional installation: <syntaxhighlight lang="ini"> [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 </syntaxhighlight>

Note: If the boot loader timeout option in {{Mono|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 {{Mono|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 === [[File:Windows Advanced Options menu.png|thumb|300px|Advanced Option Menu in NTLDR on Windows XP]] 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.

* '''{{Mono|/3GB}}''' {{En dash}} Option used only on 32-bit [[x86]]-based systems that allocates 3&nbsp;GB for the user-mode address space and 1&nbsp;GB for the system-mode (or kernel-mode) address space (more than that of the 2&nbsp;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 [[History of Microsoft Exchange Server#Exchange Server 2003|Microsoft Exchange Server 2003]] configurations.<ref name="switches">{{cite web |author=Microsoft |title=Available switch options for the Windows XP and the Windows Server 2003 Boot.ini files |url=https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/switch-options-for-boot-files |date=November 28, 2007 |access-date=January 4, 2024}}</ref><ref name="bootopts">{{cite web |first=Mark |last=Russinovich |publisher=Microsoft |title=Boot INI Options Reference |website=Microsoft Learn |url=https://learn.microsoft.com/en-us/previous-versions/bb963892(v=msdn.10) |date=November 1, 2006 |access-date=January 4, 2023}}</ref> Activating this option however may break VMR-9 video;<ref>{{Cite web|url=https://forum.videohelp.com/threads/292160-Loss-of-DirectDraw-Overlay-and-VMR9-after-upgrade-update|title = Loss of DirectDraw Overlay and VMR9 after upgrade/update |website=VideoHelp Forum |date=July 2008}}</ref> 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 Technology|Creative]]'s drivers handle memory over 2&nbsp;GB.<ref>{{Cite web|url=https://www.tenforums.com/sound-audio/161275-trying-re-enable-x-fi-mb2-more-recent-realtek-hda-drivers.html?s=9806fdd4b3dda2e0a313409f26b0992a|title=Trying to re-enable X-Fi MB2 with more recent Realtek HDA drivers... - Windows 10 Help Forums|date=July 24, 2020|website=www.tenforums.com|access-date=January 22, 2026}}</ref><ref>{{Cite web|url=http://www.sevenforums.com/hardware-devices/99179-sound-problem-new-ram.html|title=Sound problem with New RAM - Windows 7 Help Forums|website=www.sevenforums.com|access-date=January 22, 2026}}</ref> * '''{{Mono|/BASEVIDEO}}''' {{En dash}} Starts Windows in "[[VGA]] mode", where a VGA-compatible [[display driver]] is used with a 16-color, {{resx|640|480}} resolution.<ref name="bootopts" /> This can be used to recover from configuration problems with certain display drivers; the {{Mono|/SOS}} switch can be used in conjunction with the {{Mono|/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 {{Mono|/BASEVIDEO}} and {{Mono|/SOS}} switches enabled).<ref name="switches"/> * '''{{Mono|/BAUDRATE{{=}}<var>nnn</var>}}''' {{En dash}} Specifies the [[baud rate]] for the debug port used by the [[kernel debugger]], overriding the default value (9600–19200&nbsp;Kbps with a [[modem]] and 115200&nbsp;Kbps with a [[null modem]]). Enabling this option under {{Mono|boot.ini}} automatically enables kernel debugging with the {{Mono|/DEBUG}} switch.<ref name="switches"/><ref name="bootopts" /> * '''{{Mono|/BOOTLOG}}''' {{En dash}} Writes a log of the boot process to the file {{Mono|%SystemRoot%\Ntbtlog.txt}} for diagnostic purposes.<ref name="switches"/><ref name="bootopts" /> It is set by default for certain [[Safe Mode]] options. * '''{{Mono|/BOOTLOGO}}''' {{En dash}} Displays a custom {{resx|640|480}} 16-color [[bitmap]] instead of the default graphical boot screen on startup. This bitmap is named {{Mono|boot.bmp}} and is located in {{Mono|%SystemRoot%\Windows}} directory. The {{Mono|/NOGUIBOOT}} switch must be used in conjunction with the {{Mono|/BOOTLOGO}} switch, otherwise the custom bitmap will not display properly.<ref name="bootopts" /> * '''{{Mono|/BREAK}}''' {{En dash}} Makes the system halt at a [[breakpoint]] within the [[hardware abstraction layer]] (HAL). Causes a [[Blue screen of death|stop error]] if a debugger is not used (or when the {{Mono|/DEBUG}} switch is absent).<ref name="bootopts" /> * '''{{Mono|/BURNMEMORY{{=}}<var>nnn</var>}}''' {{En dash}} Decreases the amount of memory that Windows can use (e.g. {{Mono|/BURNMEMORY{{=}}128}} on a system using 512&nbsp;MB of memory would take out 128&nbsp;MB of memory from within Windows, making it only use 384&nbsp;MB of memory).<ref name="switches"/><ref name="bootopts" /> * '''{{Mono|/CHANNEL{{=}}<var>nn</var>}}''' {{En dash}} Used when debugging through the [[IEEE 1394]] port (using {{Mono|/DEBUGPORT{{=}}1394}}), to specify channels where the kernel debugger can communicate with.<ref name="switches"/><ref name="bootopts" /> * '''{{Mono|/CLKLVL}}''' {{En dash}} Sets the HAL to use level-sensitive clocks settings rather than edge-triggered clock settings for [[hardware interrupt]]s.<ref name="bootopts" /> * '''{{Mono|/CMDCONS}}''' {{En dash}} Passed when booting into the [[Recovery Console]].<ref name="bootopts" /> * '''{{Mono|/CRASHDEBUG}}''' {{En dash}} Loads the kernel debugger on startup, to be used when the system crashes.<ref name="bootopts" /> * '''{{Mono|/DEBUG}}''' {{En dash}} Enables debugging at the kernel level.<ref name="switches"/><ref name="bootopts" /> * '''{{Mono|/DEBUGPORT{{=}}com<var>x</var>}}''' {{En dash}} 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.<ref name="bootopts" /><ref name="switches"/> * '''{{Mono|/EXECUTE}}''' {{En dash}} Disables [[Data Execution Prevention]] (DEP) support.<ref name="bootopts"/> * '''{{Mono|/FASTDETECT[:com<var>x</var>[,com<var>y</var>]]}}''' {{En dash}} Disables serial and bus mouse detection in {{Mono|NTDETECT.COM}}. Otherwise serial and bus mouse detections are performed if the {{Mono|/FASTDETECT}} switch is excluded. Set by default on [[Windows 2000]] onwards.<ref name="switches"/><ref name="bootopts"/> * '''{{Mono|/HAL{{=}}<var>filename</var>}}''' {{En dash}} Sets a different HAL to use.<ref name="bootopts"/><ref name="switches"/> * '''{{Mono|/INTAFFINITY}}''' {{En dash}} Makes the HAL set hardware interrupts to only the highest numbered processor on multiprocessor systems.<ref name="bootopts"/> * '''{{Mono|/KERNEL{{=}}<var>filename</var>}}''' {{En dash}} Sets a different kernel image to use.<ref name="bootopts"/><ref name="switches"/> * '''{{Mono|/MAXMEM{{=}}<var>nnn</var>}}''' {{En dash}} Sets the maximum amount of memory that Windows can use (e.g. {{Mono|/MAXMEM{{=}}64}} makes Windows use 64&nbsp;MB of memory even if the computer has 512&nbsp;MB or more memory). {{Mono|/MAXMEM}} does not account for [[memory leak]]s; {{Mono|/BURNMEMORY}} is recommended for those use cases instead.<ref name="switches"/> * '''{{Mono|/MININT}}''' {{En dash}} Option used for Windows PE. Changes the {{code|HKLM\SYSTEM}} key in the [[Windows Registry]] to be non-persistent so that any changes made to the key are not saved when the system shuts down.<ref name="bootopts"/> * '''{{Mono|/NODEBUG}}''' {{En dash}} Disables debugging at the kernel level.<ref name="switches"/> * '''{{Mono|/NOEXECUTE{{=}}{OPTIN{{pipe}}OPTOUT{{pipe}}ALWAYSON{{pipe}}ALWAYSOFF}}}''' {{En dash}} Sets [[Data Execution Prevention]] (DEP) settings, applies to both 32-bit and 64-bit CPUs with the [[NX bit]].<ref name="bootopts"/> ** '''{{Mono|/NOEXECUTE{{=}}OPTIN}}''' {{En dash}} Enables DEP for core system images and those specified in the DEP configuration dialog. ** '''{{Mono|/NOEXECUTE{{=}}OPTOUT}}''' {{En dash}} Enables DEP for all images except those specified in the DEP configuration dialog. ** '''{{Mono|/NOEXECUTE{{=}}ALWAYSON}}''' {{En dash}} Enables DEP on all images. ** '''{{Mono|/NOEXECUTE{{=}}ALWAYSOFF}}''' {{En dash}} Disables DEP. * '''{{Mono|/NOGUIBOOT}}''' {{En dash}} Disables the graphical boot screen on startup, only displaying device driver names as they are loaded, similar to {{Mono|/SOS}}. It can be used in conjunction with {{Mono|/BASEVIDEO}} to diagnose device driver failures on startup.<ref name="switches" /><ref name="bootopts" /> It is set by default for certain [[Safe Mode]] options. * '''{{Mono|/NOPAE}}''' {{En dash}} Disables [[Physical Address Extension]] support.<ref name="bootopts"/> * '''{{Mono|/NOSERIALMICE[{{=}}com<var>x</var>]}}''' {{En dash}} Disables serial mouse detection in {{Mono|NTDETECT.COM}}. Otherwise serial mouse detections are performed if the {{Mono|/NOSERIALMICE}} switch is excluded. Replaced with {{Mono|/FASTDETECT}} on Windows 2000 onwards.<ref name="bootopts"/> * '''{{Mono|/NUMPROC{{=}}<var>nnn</var>}}''' {{En dash}} Specifies the number of processors used in a multiprocessor system (e.g. {{Mono|/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.<ref name="bootopts"/><ref name="switches" /> * '''{{Mono|/ONECPU}}''' {{En dash}} Makes Windows use only one processor in a multiprocessor system, similar to that of {{Mono|/NUMPROC{{=}}1}}.<ref name="bootopts"/> * '''{{Mono|/PAE}}''' {{En dash}} Enables [[Physical Address Extension]] support.<ref name="switches"/> * '''{{Mono|/PCILOCK}}''' {{En dash}} Locks [[Interrupt request|IRQ]] settings used by [[Conventional PCI|PCI]] devices to the ones set by the computer's [[BIOS]].<ref name="switches"/> * '''{{Mono|/RDPATH}}''' {{En dash}} Specifies a path to the System Disk Image (SDI) file.<ref name="bootopts"/> * '''{{Mono|/REDIRECT}}''' {{En dash}} Enables [[Emergency Management Services]] (EMS). Only available in Windows XP onwards.<ref name="switches"/><ref name="bootopts"/> * '''{{Mono|/SAFEBOOT:{MINIMAL{{pipe}}NETWORK{{pipe}}DSREPAIR}[(ALTERNATESHELL)]}}''' {{En dash}} Sets [[Safe Mode]] settings.<ref name="bootopts"/><ref name="switches"/> ** '''Safe Mode''' ({{Mono|/SAFEBOOT:MINIMAL /SOS /BOOTLOG /NOGUIBOOT}}) {{En dash}} Starts Windows using a minimal set of [[device driver]]s and services.<ref name="safemodes">{{cite web |url=http://support.microsoft.com/kb/315222 |title=A description of the Safe Mode Boot options in Windows XP |website=Microsoft Support |archive-url=https://web.archive.org/web/20150219071404/http://support.microsoft.com/kb/315222/ |archive-date=2015-02-19 |url-status=dead}}</ref> ** '''Safe Mode with Networking''' ({{Mono|/SAFEBOOT:NETWORK /SOS /BOOTLOG /NOGUIBOOT}}) {{En dash}} Starts Windows using a minimal set of device drivers and services, along with the necessary drivers to load networking.<ref name="safemodes"/> ** '''Safe Mode with Command Prompt''' ({{Mono|/SAFEBOOT:MINIMAL(ALTERNATESHELL) /SOS /BOOTLOG /NOGUIBOOT}}) {{En dash}} Starts Windows using a minimal set of device drivers and services, but uses the [[cmd.exe|Command Prompt]] as its user interface instead of [[File Explorer|Windows Explorer]].<ref name="safemodes"/> ** '''Windows in [[Directory Services Restore Mode]]''' ({{Mono|/SAFEBOOT:DSREPAIR /SOS}}) {{En dash}} (This mode is valid only for Windows-based domain controllers.) Performs a directory service repair.<ref name="safemodes"/> * '''{{Mono|/SDIBOOT}}''' {{En dash}} Option used for [[Windows XP Embedded]]. Allows booting a RAM image from a System Disk Image (SDI) file.<ref name="switches"/><ref name="bootopts"/> * '''{{Mono|/SOS}}''' {{En dash}} Displays device driver names on startup. Also changes the graphical boot screen to the one seen when {{Mono|[[CHKDSK]]}} is run on startup ({{Mono|Autochk}}) in Windows 2000 onwards, showing operating system information in a similar manner to Windows NT 4.0.<ref name="switches"/><ref name="bootopts"/> Can be used in conjunction with the {{Mono|/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 {{Mono|/BASEVIDEO}} and {{Mono|/SOS}} switches enabled). It is set by default for certain [[Safe Mode]] options. * '''{{Mono|/TIMERES}}''' {{En dash}} Sets the system timer resolution for the HAL.<ref name="bootopts"/> * '''{{Mono|/USEPMTIMER}}''' {{En dash}} 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.<ref name="switches"/> By default, Windows Server 2003 Service Pack 2 (SP2) uses the PM timer for all multiprocessor [[Advanced Programmable Interrupt Controller|APIC]] or [[Advanced Configuration and Power Interface|ACPI]] HALs. {{Mono|/USEPMTIMER}} must be enabled for Windows Server 2003 Service Pack 1 (SP1) and below.<ref>{{cite web |url=https://learn.microsoft.com/en-US/troubleshoot/windows-server/performance/programs-queryperformancecounter-function-perform-poorly |title=Programs that use the QueryPerformanceCounter function may perform poorly |website=Microsoft Support|date=23 February 2023 }}</ref> * '''{{Mono|/USERVA{{=}}<var>nnn</var>}}''' {{En dash}} 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 {{Mono|/3GB}} switch. The aforementioned switch is mandatory when using the {{Mono|/USERVA}} switch.<ref name="bootopts"/><ref name="safemodes"/> * '''{{Mono|/WIN95}}''' {{En dash}} Allows booting of non-NT versions of Windows (e.g. [[Windows 9x]]) using {{Mono|BOOTSECT.W40}}.<ref name="bootopts"/> * '''{{Mono|/WIN95DOS}}''' {{En dash}} Allows booting of DOS or non-NT versions of Windows (e.g. Windows 9x) using {{Mono|BOOTSECT.DOS}}.<ref name="bootopts"/> * '''{{Mono|/YEAR{{=}}<var>yyyy</var>}}''' {{En dash}} Overrides the year set by the computer's clock settings (e.g. {{Mono|/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 [[Year 2000 problem|Y2K]] compliance.<ref name="bootopts"/>

== See also == * [[Booting process of Windows]] * [[ntoskrnl.exe]] * [[ntdetect.com]] * [[Emergency Management Services]] * [[Comparison of boot loaders]] * [[Windows Boot Manager]]

== References == {{reflist}}

== External links == * {{web archive|url=https://web.archive.org/web/20061216235835/http://support.microsoft.com/default.aspx?scid=kb;en-us;289022|title=How to edit the Boot.ini file in Windows XP}} * {{web archive|url=https://web.archive.org/web/20060830002923/http://support.microsoft.com/?id=102873|title=BOOT.INI and ARC Path Naming Conventions and Usage}} * MS Knowledge Base help on "NTLDR Is Missing" error message in [http://support.microsoft.com/?kbid=318728 Windows 2000] and [http://support.microsoft.com/?kbid=320397 Windows XP] (also [http://www.annoyances.org/exec/forum/winxp/t1132075053] {{Webarchive|url=https://web.archive.org/web/20070613145151/http://www.annoyances.org/exec/forum/winxp/t1132075053 |date=2007-06-13 }}, [http://www.protostorm.com/bcupdate2.html] {{Webarchive|url=https://web.archive.org/web/20070709190210/http://www.protostorm.com/bcupdate2.html |date=2007-07-09 }}, [http://pcsupport.about.com/od/findbyerrormessage/a/ntldrmissingxp.htm] {{Webarchive|url=https://web.archive.org/web/20070716035114/http://pcsupport.about.com/od/findbyerrormessage/a/ntldrmissingxp.htm |date=2007-07-16 }}, [http://tinyempire.com/notes/ntldrismissing.htm] {{Webarchive|url=https://web.archive.org/web/20090228161843/http://tinyempire.com/notes/ntldrismissing.htm |date=2009-02-28 }}) * {{web archive|url=https://web.archive.org/web/20131216103810/http://community.sony.com/t5/VAIO-Upgrade-Backup-Recovery/NTLDR-is-missing/m-p/234095|title=How to fix "NTLDR Is Missing" error}} * [http://thestarman.pcministry.com/asm/mbr/bootini.htm#bid Explanation of BOOT.INI] by Daniel B. Sedory

{{Windows Components}}

{{DEFAULTSORT:Ntldr}} [[Category:Windows components]] [[Category:Boot loaders]]