<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=NTLDR</id>
	<title>NTLDR - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=NTLDR"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=NTLDR&amp;action=history"/>
	<updated>2026-07-17T08:39:43Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=NTLDR&amp;diff=682436&amp;oldid=prev</id>
		<title>imported&gt;BoyuZhang1998：​/* 启动步骤 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=NTLDR&amp;diff=682436&amp;oldid=prev"/>
		<updated>2021-06-29T03:26:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;启动步骤&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA|G1=IT}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NTLDR&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;NT loader&amp;#039;&amp;#039;的[[缩写]]）是[[微软]]的[[Windows NT]]系列[[操作系统]]（直至[[Windows XP]]和[[Windows Server 2003]]）的引导程序。NTLDR可以从[[硬盘]]以及[[CD-ROM]]、[[U盘]]等移动存储器运行并引导Windows NT系统的启动。如果要用NTLDR启动其他操作系统，则需要将该操作系统所使用的[[启动扇区]]代码保存为一个文件，NTLDR可以从这个文件加载其它[[引导程序]]。&lt;br /&gt;
[[File:Windows Advanced Options menu.png|thumb|300px|Windows XP的NTLDR進階開機選單]]&lt;br /&gt;
NTLDR主要由两个文件组成，这两个文件必须放在系统分区（根据微软的定义，为在MBR中标识为活动分区的分区，一般为第一个分区/C分区）：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;NTLDR&amp;lt;/tt&amp;gt;，这是引導程序本身&lt;br /&gt;
*NTDETECT.COM，用于检测基础硬件信息，以便系统正常启动。&lt;br /&gt;
&lt;br /&gt;
boot.ini也是比较重要的文件。它是引導程序的組態檔。当boot.ini丢失时，NTLDR会启动第一块硬盘第一个分区上的\Windows目录中的系统。&lt;br /&gt;
&lt;br /&gt;
在安装、维护Windows NT系统时，可以使用&amp;lt;tt&amp;gt;fixmbr&amp;lt;/tt&amp;gt;命令在[[硬碟]]中写入启动NTLDR引导程序的代码。&lt;br /&gt;
&lt;br /&gt;
[[Windows Vista]]、[[Windows Server 2008]]及以后版本的操作系统中，NTLDR被[[BOOTMGR]]替代。&lt;br /&gt;
&lt;br /&gt;
== 结构 ==&lt;br /&gt;
NTLDR由两个可执行文件构成：&lt;br /&gt;
&lt;br /&gt;
* 第一部分是一个标准二进制文件，用于切换系统至[[保护模式]]，使得系统能识别并运行[[可移植可执行]]（PE）文件，并运行第二部分。一般被称为STPBOOT.BIN&lt;br /&gt;
* 第二部分是一个可移植可执行文件，被称为OSLOADER.EXE&lt;br /&gt;
&lt;br /&gt;
使用WinHex或者类似的二进制处理软件，在NTLDR中搜索“MZ”，并将其前的部分截去，即可以获得OSLOADER.EXE。在Windows安装文件中也可以找到压缩后的OSLOADER.EX_文件。&lt;br /&gt;
&lt;br /&gt;
Windows NT最初是为ARC（一类[[RISC]]系统架构）设计的，因此只有OSLOADER.EXE，即系统加载器，通过接受指定的系统文件路径和其他启动参数引导对应目录下的Windows NT系统，而指定这些参数的工作交给ARC自带的启动管理器进行。x86架构缺乏启动管理器：BIOS只会调用第一启动设备的MBR中列明的活动分区的卷引导记录。因此启动管理器的功能被包括在OSLOADER部分中，直至微软在2003年引入了自己的启动管理器。ARC的启动管理器的保护模式切换和PE文件识别运行功能则交给STPBOOT完成。boot.ini中的列表项也被设计为类似于ARC的格式，以便直接传给OSLOADER.EXE。&lt;br /&gt;
&lt;br /&gt;
== 启动步骤 ==&lt;br /&gt;
&lt;br /&gt;
# 与一般的系统启动进程一致，[[BIOS]]调用[[MBR]]，然后调用活动分区的卷引导记录，该卷引导记录被设计为搜索NTLDR，并执行之。&lt;br /&gt;
# NTLDR的第一部分被调用。此时系统进入保护模式，并可以识别并运行PE格式的可执行文件。&lt;br /&gt;
# NTLDR的第二部分，OSLOADER.EXE被调用。OSLOADER.EXE中内嵌有[[FAT]]、[[NTFS]]和[[ISO 9660]]三种文件系统的驱动，启动管理器，以及INI文件读取器的CAB文件解压缩器。OSLOADER中附带的文件系统驱动通过[[BIOS中斷呼叫|BIOS中断]]直接访问磁盘，因为内核和HAL此时都没有被载入。此时系统可以访问磁盘内的文件。&lt;br /&gt;
# 如果Windows被置于[[休眠 (電腦)|休眠]]模式，读取hiberfil.sys中的内容并将其写入内存，然后恢复系统的运行。&lt;br /&gt;
# OSLOADER使用内置的INI文件读取器，试图读取boot.ini文件的内容，并配置启动菜单。如果boot.ini不存在，OSLOADER将视为boot.ini中有且仅有一个指向multi(0)disk(0)rdisk(0)partition(1)\WINDOWS且没有参数的启动项目。如果boot.ini中只存在一个启动项目，则忽略timeout的时间设置（视为0）。&lt;br /&gt;
# 向用户显示启动菜单，并按照timeout的时间设置倒计时。如果用户按下按键，则停止倒计时。（这样即使只有一个启动项目，当用户在自检结束后狂按F8键，也可以进入進階開機選單）&lt;br /&gt;
# 如果一个非NT的系统被选择，OSLOADER加载列表项中指定的启动扇区代码文件，并移交控制权。此时系统回到[[实模式]]。如果没有指定文件（常见于Windows 9x和Windows NT共存），则加载bootsect.dos，然后移交控制权，由其搜索并加载IO.SYS。&lt;br /&gt;
# 如果一个NT系统被选择，OSLOADER调用NTDETECT.COM。NTDETECT将检测系统硬件相关的信息，决定系统将使用的硬件配置文件，并将以上信息交给OSLOADER。&lt;br /&gt;
# OSLOADER根据NTDETECT返回的系统硬件相关信息，加载列表项中指定的文件夹中的Windows NT内核态管理程序（Windows Executive），包括[[Ntoskrnl.exe|NTOSKRNL.EXE]]及[[硬體抽象層|HAL.DLL]]。此外尚有KDCOM.DLL及BOOTVID.DLL也在这个阶段加载。&lt;br /&gt;
#OSLOADER加载[[注册表]]的SYSTEM配置单元，其中包含数个系统配置集，每个配置集都包括应当加载的驱动程序和服务等；以及一系列指示标志，指向默认配置集、上次启动失败的配置集及“最后一次正确的配置”对应的配置集。OSLOADER根据用户选择及上次启动情况选择配置集，读取对应的应当加载的驱动程序列表。&lt;br /&gt;
#OSLOADER将NTDETECT检测到的硬件信息及驱动程序列表交给Windows NT内核态管理程序，并移交控制权。&amp;lt;ref&amp;gt;{{cite book|author=Microsoft|authorlink=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}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== boot.ini ==&lt;br /&gt;
在确认系统为冷启动，即非休眠模式后，NTLDR所做的第一件事为读取boot.ini。&amp;lt;ref&amp;gt;[[Rick Maybury]], &amp;#039;&amp;#039;[http://www.pctoptips.co.uk/Bootcamp/2009/559.htm Startup and Shutdown Problems, part 1] {{Wayback|url=http://www.pctoptips.co.uk/Bootcamp/2009/559.htm |date=20120711014954 }}&amp;#039;&amp;#039;, Bootcamp, 2009, accessed 25 April 2012&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 示例 ===&lt;br /&gt;
以下是boot.ini的一个示例：&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[boot loader]&lt;br /&gt;
timeout=30&lt;br /&gt;
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS&lt;br /&gt;
[operating systems]&lt;br /&gt;
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&amp;quot;Microsoft Windows XP Professional&amp;quot; /fastdetect&lt;br /&gt;
C:\grldr=&amp;quot;Ubuntu&amp;quot;&lt;br /&gt;
C:\=&amp;quot;Previous Version of Windows&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 解释 ====&lt;br /&gt;
&lt;br /&gt;
* [boot loader]节：配置启动菜单的细节。&lt;br /&gt;
* timeout=30：timeout选项控制启动菜单显示的时间长度，单位为秒，最短为0，此时启动菜单不显示。&lt;br /&gt;
* default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS：default选项控制启动菜单的默认选项。&lt;br /&gt;
* [operating systems]节：列举启动项目。&lt;br /&gt;
* multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&amp;quot;Microsoft Windows XP Professional&amp;quot; /fastdetect：基于Windows NT的系统的启动项目。&lt;br /&gt;
** multi(0)disk(0)rdisk(0)partition(1)\WINDOWS：对于基于Windows NT的系统，系统文件路径由ARC路径给出。&lt;br /&gt;
** &amp;quot;Microsoft Windows XP Professional&amp;quot;：启动项目的友好名称，即显示在启动菜单中的名称。&lt;br /&gt;
** /fastdetect：指定默认的引导参数。使用高级引导菜单启动系统会覆盖引导参数的设置。&lt;br /&gt;
*** /fastdetect：不检测串行接口的鼠标。&amp;lt;ref name=&amp;quot;bootopts2&amp;quot;&amp;gt;{{cite web|title=Boot INI Options Reference|url=https://technet.microsoft.com/en-us/sysinternals/bb963892.aspx|accessdate=August 19, 2009|date=November 1, 2006|last=Russinovich|first=Mark|work=Windows Sysinternals Library on TechNet|publisher=Microsoft|archiveurl=https://web.archive.org/web/20080430030837/http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx|archivedate=2008-04-30|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*** /noexecute=optin：在Windows XP SP2后默认安装的系统会有该引导参数，意为为基本Windows程序和服务启用[[数据执行保护]]（DEP）。&amp;lt;ref name=&amp;quot;bootopts2&amp;quot; /&amp;gt;&lt;br /&gt;
* C:\grldr=&amp;quot;Ubuntu&amp;quot;：基于非Windows NT的系统的启动项目。&lt;br /&gt;
** C:\grldr：对于基于非Windows NT的系统，引导扇区文件路径由DOS路径给出。&lt;br /&gt;
** “grldr”是[[Grub4Dos|GRUB4DOS]]的默认引导扇区文件名。[[Ubuntu]]曾使用[[Wubi]]提供在Windows下安装Ubuntu的解决方案。&lt;br /&gt;
* C:\=&amp;quot;Previous Version of Windows&amp;quot;&lt;br /&gt;
** C:\：对于基于MS-DOS的系统，在非三方启动（DOS、Windows 9x、Windows NT共存）、非启动到[[復原主控台|恢复控制台]]的情况下，引导扇区文件名称可以省略，此时视为“C:\bootsect.dos”。&lt;br /&gt;
** 在三方启动情况下，需要进行一些特殊操作，比如“/WIN95”和“/WIN95DOS”参数用来模拟单系统状况，且引导扇区文件名称不可省略。&amp;lt;ref&amp;gt;{{Cite web|title=How to Triple Boot to Windows NT, Windows 95/98, and MS-DOS|url=https://support.microsoft.com/en-us/kb/157992|accessdate=2019-10-12|author=|date=2007-01-19|format=|publisher=Microsoft Support|language=|archiveurl=https://web.archive.org/web/20150602220422/https://support.microsoft.com/en-us/kb/157992|archivedate=2015-06-02|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;bootopts2&amp;quot; /&amp;gt;&lt;br /&gt;
** 恢复控制台对应的启动项目一般为：C:\CMDCONS\BOOTSECT.DAT=&amp;quot;Microsoft Windows Recovery Console&amp;quot; /cmdcons&lt;br /&gt;
&lt;br /&gt;
== 多语言支持 ==&lt;br /&gt;
NTLDR不支援多語言，如果[[中日韓]]版本的Windows NT 5.x NTLDR找不到BOOTFONT.BIN字型檔案，會自動顯示英語代替。[[Windows Boot Manager]]支援多語言。&lt;br /&gt;
&lt;br /&gt;
==常见問題==&lt;br /&gt;
&lt;br /&gt;
NTLDR的問題常见于使用者不慎将该文件删除，这样會导致Windows NT系列系统无法启動，开机时将以黑屏白字显示错误信息：&amp;quot;NTLDR is missing, Press CTRL+ALT+DEL to restart.&amp;quot; 当用户重启后又将出现上述信息，这样就无法进入系统。&lt;br /&gt;
&lt;br /&gt;
解决该问题需要向[[光驱]]内放入一张相应的Windows安装光碟，开机时先将[[BIOS]]设置为从光盘启动，进入系统安装菜单后再选择进入故障恢复台，按屏幕相关说明进入命令行模式，然后将光盘根目录下i386文件夹内的“ntldr”文件和“ntdetect.com”拷贝至系统分区根目录下，重新启动后将BIOS设置回复为硬盘启动即可&amp;lt;ref&amp;gt;{{Cite web |url=http://www.piaoyi.org/computer/NTLDR-is-missing.html |title=NTLDR文件丢失的解决方案 |accessdate=2010-11-26 |archive-date=2010-11-25 |archive-url=https://web.archive.org/web/20101125031259/http://www.piaoyi.org/computer/NTLDR-is-missing.html |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==参考来源==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Windows Components}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Ntldr}}&lt;br /&gt;
[[Category:Windows组件]]&lt;br /&gt;
[[Category:引导程序]]&lt;/div&gt;</summary>
		<author><name>imported&gt;BoyuZhang1998</name></author>
	</entry>
</feed>