NTLDR

来自 WinStory Wiki
跳转到导航 跳转到搜索
OS 加载器
Microsoft Windows 的组件
文件:WindowsXPx64-NTLDR.png
类型引导加载程序
推出于Windows NT 3.1
最后包含于Windows Server 2003
接替
Windows 启动管理器

NTLDR 是用于 Windows Vista 之前的 Windows NT 版本使用的引导加载程序的 x86 实现的文件名。根据硬件平台的不同,它还可以在 ARC 兼容系统上命名为 osloader.exe,或者在 Itanium 系统上命名为 ia64ldr.efi

引导加载程序的主要部分是 OS 加载器(osloader.exe),它将内核和 HAL 的位置作为参数,并且是 Windows NT 所有端口的通用端口。由于 OS 加载器可执行文件使用 ARC 固件例程进行 I/O,因此它与不使用 ARC 兼容固件的平台(即 x86、[a]AMD64 和 IA-64)上的 ARC 仿真器模块相结合。

在 Itanium 或 ARC 兼容系统上(两者都在固件中实现能够直接从文件系统启动可执行文件的引导管理器),操作系统加载程序将安装到系统分区中,并添加一个固件引导条目,此条目使用指向特定 Windows 实例的参数启动加载程序。在没有此类固件支持的 x86 和 AMD64 上,加载程序通过 boot.ini 配置文件进行配置,并且还实现了一个多重引导菜单。

历史

已知使用 NTLDR 的首个版本是 Windows NT 3.1 1991 年 10 月版本。以前的版本(例如 Build 196)使用早期的引导加载程序,并结合了 OS/2 引导代码和原始多重引导选择。

高级启动选项菜单在 Windows 2000 Build 1738 中引入,它允许 Windows 以安全模式或使用特定选项启动,例如在使用默认 VGA 驱动程序时。

它在 Windows Vista Build 5048 中被 Windows 启动管理器取代。将 Windows Vista 或更高版本与一个或多个 NTLDR 驱动的系统一起安装将为 NTLDR 创建一个名为“早期版本的 Windows”的相应 BCD 条目。

功能

OSLOADER 二进制文件是 COFF 可执行文件(在 Windows XP Build 2469 之前;PE 从那时起开始)针对 ARC 固件。在不使用 ARC 固件的 x86 和 AMD64 系统上,它包裹在称为 NTLDR 的 ARC 仿真器周围,NTLDR 负责初始化实际的引导加载程序;另一个组件 NTDETECT.COM 分析系统以创建与 ARC 兼容的设备树。OSLOADER 的配置方法是使用位于已安装它的驱动器的根目录中的文件 boot.ini。如果不存在此类引导配置数据,OSLOADER 将尝试从位于适用硬盘分区根目录的默认 Windows 目录引导,此目录指向 C:\WINNT[b] 或 C:\WINDOWS。磁盘和分区在 ARC 设备路径格式中标识为 multi(x)disk(x)rdisk(x)partition(x),或者在 SCSI 磁盘的情况下标识为 scsi(x)disk(x)rdisk(x)partition(x)

TIMEOUT= 行配置 OSLOADER 在开始引导系统之前显示的时间。某些特定于区域的 Windows 版本(例如在欧洲、中东或远东地区销售的版本)使用 640×480 像素的图形模式而非 80×25 文本模式来适应非拉丁字符集。

如果 OSLOADER 在代码执行期间崩溃,NTLDR ARC 仿真器可能会喷出一般保护故障或陷阱的详细信息。

图库

  1. SGI Visual Workstation 320/540 工作站是一个例外,它们基于 x86,但仍使用从其早期基于 MIPS 的系统采用的 SGI ARCS 固件。
  2. In versions prior to Windows XP.