PD虚拟机    VPS    微软    Win10    苹果    Office2016

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

 技术教程   2006-03-26

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、点击确定两次

  • 我以前也知道NTLDR这个文件的重要性,但一直没有具体的学习过,只是对BOOT.INI文件做过研究,并喜欢手工修改这个文件.感谢你的这篇文章给了我学习NTLDR文件的机会.
    —————————–
    < X-Force 温馨回复 ^_^ > 呵呵,学无止境啊……

    9 10
     
  • [Yoci-01]
    哎呀,我大大受益啊!
    我要在这里好好学习!
    —————————–
    < X-Force 温馨回复 ^_^ > 呵呵~~

    7 10
     
  • 学习了………………

    7 10
     
  • 谷歌来访,学习了

    10 10
     
  • 实验实验

    8 10
     





评论内容 (*必填):
Ctrl + Enter 快速提交