NTLDR的故事:用途和常见故障分析方法


1、基本介绍
2、NTLDR职责
3、NTLDR的使用
4、NTLDR的兼容性
5、NTLDR新增功能
从Windows XP Service Pack 2开始,NTLDR增加了一个新选项:系统崩溃时禁止自动重启(Disable automatic restart on system failure)。用户可以按F8键在高级启动菜单里面找到这个选项。

序:
  
很多人对BOOT.INI 的重要性非常熟悉,但是实际上,和Windows NT 架构操作系统启动相关的重要

文件不仅仅是BOOT.INI,更重要的文件是NTLDR。本文件简单的描述了NTLDR 的基本用途和一些常见

的故障分析方法。

本文适用于初次接触Windows NT1架构操作系统的用户。

基本介绍

NTLDR,Windows NT 架构操作系统特有的一个文件,用于操作系统的引导。如果这个文件不存在则

操作系统不能够正常启动。该文件储存在启动卷根目录下,一般为C:\。

NTLDR 职责;

1. 解析BOOT.INI 文件的内容。

2. 加载Windows NT 内核或把控制权交给BOOTSECT.DOS2文件用于启动Win9X 或把控制权交给其他

操作系统引导代码。

NTLDR 的使用

NTLDR 启动以后,如果在系统卷根目录下发现了Hiberfil.sys 文件且文件是有效的,那么NTLDR 读

取Hiberfil.sys 里面的信息并让系统恢复到休眠以前的状态。这个时候并不处理BOOT.INI 文件。

如果BOOT.INI 文件里面有两个或两个以上的启动选项,那么NTLDR 暂停系统引导,让用户选择一

个启动选项直至超时。超时值由BOOT.INI 里面的TimeOut 值设定。超时以后,NTLDR 读取BOOT.INI

里面DEFAULT 后面的信息,获取Windows 目录的路径以便执行后面的启动流程。

提示:

按下F8 会显示启动菜单,启动菜单里面可以选择多种启动模式。NTLDR 根据用户的选择,设置不同

的启动参数并使用启动参数来加载NT 内核。

用户也可以直接在BOOT.INI 里面设置启动参数。完整的BOOT.INI 的启动参数可以在

http://www.sysinternals.com/Information/bootini.html 查阅到。另外在Windows 帮助文档里面也记录了常

1 Windows NT 架构操作系统:指在Windows NT 操作系统上发展起来的操作系统,目前主流的有:Windows 2000、Windows

XP 和Windows Server 2003 等。

2 BOOTSECT.DOS:Windows 9x 启动扇区的转储文件。文件由Windows NT 安装程创建,一般为512 字节。

NTLDR 的故事 Smallfrogs ( http://www.KZTechs.com )

见的一些参数。此外使用BOOTCFG 命令可以在命令行提示符下对BOOT.INI 进行配置。

如果BOOT.INI 文件里面只有一个启动项,那么NTLDR 将不显示启动选择菜单而直接进入启动流程。

如果BOOT.INI 文件非法或不存在,那么NTLDR 将尝试从默认系统卷启动系统。

进入启动流程的NTLDR 将调用NTDETECT.COM 来获取基本的硬件信息,然后把这些信息传递给

Windows NT 内核程序:NTOSKRNL.EXE。至此,NTLDR 的使命结束。

NTLDR 的兼容性:

NTLDR 具有向下兼容性。高版本的NTLDR 能够启动低版本的Windows NT 操作系统。目前最新版

本的NTLDR 是在Windows Server 2003 Service Pack 1 附带的版本。

经过测试,这个版本能够启动以下一些Windows NT 架构操作系统:

.. Windows Server 2003 X64 Edition

.. Windows Server 2003 with Service Pack 1

.. Windows Server 2003 RTM

.. Windows XP Professional X64 Edition

.. Windows XP with Service Pack 2

.. Windows XP with Service Pack 1

.. Windows XP RTM

.. Windows 2000 with Service Pack 4

.. Windows 2000 with Service Pack 3

.. Windows 2000 with Service Pack 2

.. Windows 2000 with Service Pack 1

.. Windows 2000 RTM

如果你已经安装了一个新版本的操作系统,但是后面又安装了一个旧版本的操作系统,当旧版本操作

系统安装完毕以后可能会发现无法进入原先的新版本的操作系统。如果碰到类似问题,那么问题一定出现

在NTLDR 和NTDETECT.COM 版本上面。由于旧版本的NTLDR 和NTDETECT.COM 不能够识别新版本

操作系统的NTOSKRNL.EXE,造成系统不能够启动(一般显示黑屏)。解决方法很简单,只需要使用新

版本的NTLDR 和NTDETECT.COM 替换旧版本的就可以了。

提示:

快速的按下F8 还是会显示启动菜单的。不过速度要快。

提示:

NTOSKRNL.EXE 和HAL.DLL 文件一样, NTOSKRNL.EXE 不一定是原始的文件名。对于

multi-processor 系统来说, NTOSKRNL.EXE 是由 Ntoskrnlmp.exe 改名而来。

NTLDR 的故事 Smallfrogs ( http://www.KZTechs.com )

NTLDR 新增功能

从Windows XP Service Pack 2 开始,NTLDR 增加了一个新选项:系统崩溃时禁止自

动重启(Disable automatic restart on system failure)。用户可以按F8 键在高级启动菜单里

面找到这个选项。

默认情况下,如果系统发生致命错误,Windows 将自动重启。如果用户选择了这个选项,

那么Windows 在启动过程中如果发生致命错误,将以显示蓝屏信息取代自动重启的设置。

提示:

从Windows XP with Service Pack 2 开始,安装程序在安装的时候将检测NTLDR和NTDETECT.COM

版本,如果发现现有的版本比安装源上的版本新的话,将使用现有版本而不使用安装源上的版本。

提示:

用户也可以从系统属性里面关闭自动重启设置。不过要求在系统正常运行的情况下。方法是:

1、打开我的电脑——控制面板——系统属性

2、找到高级选项卡

3、点击“启动和故障恢复”下面的设置按钮

4、取消“自动重新启动”前面的复选框

5、点击确定两次

你可能感兴趣的:(职场,系统,引导,休闲)