標題:
〔教學〕NTLDR的用途和常见故障分析方法
[打印本頁]
作者:
ssvmw
時間:
2006-11-23 11:57 PM
標題:
〔教學〕NTLDR的用途和常见故障分析方法
很多人对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、WindowsXP 和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、点击确定两次
歡迎光臨 網際論壇 (http://centurys.net/)
Powered by Discuz! 2.5