制止校园暴力:ntldr文件是用来干什么的?

来源:百度文库 编辑:高考问答 时间:2024/04/29 09:11:59
2000里面ntldr文件是用来干什么的?

NTLDR文件是win NT/win2000/WinXP的引导文件,当此文件丢失时启动系统会提示"NTLDR is missing..."并要求按任意键重新启动,不能正确进入系统 。 所以应该在系统正常的时候给予备份。
NTLDR文件的是一个隐藏的,只读的系统文件,位置在系统盘的根目录,用来装载操作系统。
一般情况系统的引导过程是这样的:
1、电源自检程序开始运行
2、主引导记录被装入内存,并且程序开始执行
3、活动分区的引导扇区被装入内存
4、NTLDR从引导扇区被装入并初始化
5、将处理器的实模式改为32位平滑内存模式
6、NTLDR开始运行适当的小文件系统驱动程序。小文件系统驱动程序是建立在NTLDR内部的,它能读FAT或NTFS。
7、NTLDR读boot.ini文件
8、NTLDR装载所选操作系统 *如果NT/XP被选择,,NTLDR运行Ntdetect.com 对于其他的操作系统,NTLDR装载并运行Bootsect.dos然后向它传递控制。windows NT过程结束。
9.Ntdetect.com 搜索计算机硬件并将列表传送给NTLDR,以便将这些信息写进HKEY_LOCAL_MACHINEHARDWARE中。
10.然后NTLDR装载Ntoskrnl.exe,Hal.dll和系统信息集合。
11.Ntldr搜索系统信息集合,并装载设备驱动配置以便设备在启动时开始工作
12.Ntldr把控制权交给Ntoskrnl.exe,这时,启动程序结束,装载阶段开始
当此文件丢失时,我们可以从安装光盘上进行提取,方法是: 1、进入系统故障恢复控制台。 2、转到C盘。 3、输入"copy X:\I386\NTLDR c:\"(X为光驱盘符)并回车,如果系统提示要否覆盖则按下"Y",之后输入exit命令退出控制台重新启动即可。

NTLDR一般存放于C盘根目录下,是一个具有隐藏和只读属性的系统文件。它的主要职责是解析Boot.ini文件。如果你对它的理解还不是很清楚,那么下面我们就以Windows XP为例介绍NTLDR在系统引导过程中的作用。

Windows XP在引导过程中将经历预引导、引导和加载内核三个阶段,这与Windows 9X直接读取引导扇区的方式来启动系统是完全不一样的,NTLDR在这三个阶段的引导过程中将起到至关重要的作用。

1.预引导阶段

在预引导阶段里计算机所做的工作有:运行POST程序,POST将检测系统的总内存以及其他硬件设备的状况,将磁盘第一个物理扇区加载到内存,加载硬盘主引导记录并运行,主引导记录会查找活动分区的起始位置。接着活动分区的引导扇区被加载并执行,最后从引导扇区加载并初始化NTLDR文件。

2.引导阶段

在引导阶段中,Windows XP将会依次经历初始引导加载器阶段、操作系统选择阶段、硬件检测阶段以及配置选择阶段这四个小的阶段。

(1)在初始引导加载器阶段中,NTLDR将把计算机的微处理器从实模式转换为32位平面内存模式,在实模式中,系统会为MS-DOS预留640KB大小的内存空间,其余的内存都被看做是扩展内存,在32位平面模式中系统将所有内存都视为可用内存,然后NTLDR执行适当的小型文件系统驱动程序,这时NTLDR可以识别每一个用NTFS或FAT格式的文件系统分区,至此初始引导加载器阶段结束。

(2)当初始引导加载器阶段结束后将会进入操作系统选择阶段,如果计算机上安装了多个操作系统,由于NTLDR加载了正确的Boot.ini文件,那么在启动的时候将会出现要求选择操作系统的菜单,NTLDR正是从boot.ini文件中查找到系统文件的分区位置。如果选择了NT系统,那么NTLDR将会运行NTDETECT.COM文件,否则NTLDR将加载BOOTSECT.DOS,然后将控制权交给BOOTSECT.DOS。如果Boot.ini文件中只有一个操作系统或者其中的timeout值为0,那么将不会出现选择操作系统的菜单画面,如果Boot.ini文件非法或不存在,那么NTLDR将会尝试从默认系统卷启动系统。

小提示:NTLDR启动后,如果在系统根目录下发现有Hiberfil.sys文件且该文件有效,那么NTLDR将读取Hiberfil.sys文件里的信息并让系统恢复到休眠以前的状态,这时并不处理Boot.ini文件。

(3)当操作系统选择阶段结束后将会进入硬件检测阶段,这时NTDETECT.COM文件将会收集计算机中硬件信息列表,然后将列表返回到NTLDR,这样NTLDR将把这些硬件信息加载到注册表“HKEY_LOCAL_MACHINE”中的Hardware中。

(4)硬件检测阶段结束后将会进入配置选择阶段,如果有多个硬件配置列表,那么将会出现配置文件选择菜单,如果只有一个则不会显示。

3.加载内核阶段

在加载内核阶段中,NTLDR将加载NTOKRNL.EXE内核程序,然后NTLDR将加载硬件抽象层(HAL.dll),接着系统将加载注册表中的“HKEY_MACHINESystem”键值,这时NTLDR将读取“HKEY_MACHINESystemselect”键值来决定哪一个ControlSet将被加载。所加载的ControlSet将包含设备的驱动程序以及需要加载的服务。再接着NTLDR加载注册表“HKEY_LOCAL_MACHINESystemservice”下的start键值为0的底层设备驱动。当ControlSet的镜像CurrentControlSet被加载时,NTLDR将把控制权传递给NTOSKRNL.EXE,至此引导过程将结束。

小提示:如果在启动的时候按F8键,那么我们将会在启动菜单中看到多种选择启动模式,这时NTLDR将根据用户的选择来使用启动参数加载NT内核,用户也可以在Boot.ini文件里设置启动参数。

NTLDR具有向下兼容性,也就是说高版本的NTLDR可以启动低版本的Windows NT操作系统,目前最新版本的NTLDR是在Windows Server 2003 SP1附带的版本。

如果你已经安装了一个高版本的操作系统,那么如果再想安装一个低版本的操作系统,那么低版本的操作系统在安装后会出现无法进入原来高版本的操作系统的故障。问题的原因是低版本的NTLDR和NTDETECT.COM不能识别高版本操作系统的NTOSKRNL.EXE,从而造成系统不能正常启动。

解决方法:

只要将高版本的NTLDR和NTDETECT.COM替换低版本的NTLDR和NTDETECT.COM即可(这两个文件可以从安装光盘上提取)。如果是BOOTSECT.DOS文件丢失或损坏,那么只要插入一张Windows 9X启动盘,然后执行SYS C:命令,重新启动系统,接着需要将Windows NT架构的安装光盘选择修复安装即可恢复多重启动菜单。

小提示:从Windows XP SP2系统开始,执行安装程序时将会检测NTLDR和NTDETECT.COM的版本,如果发现现有版本比安装程序上的版本新的话,那么将采用现有版本而不采用安装程序上的NTLDR和NTDETECT.COM版本。

在Windows XP SP2以前,系统在崩溃时往往会自动重启,而现在,微软在NTLDR中增加了一个选项,那么就是:系统崩溃时禁止自动重启(Disable automatic restart on system failure),朋友们可以通过在启动时按F8键从高级启动菜单中找到这个选项,如果启用了这个选项,Windows在启动过程中如果发生致命错误,那么将以显示蓝屏信息取代自动重启的设置,除此之外,我们也可以通过在系统属性中来关闭自动重启的设置。

具体操作方法:在“系统属性”窗口中点击“高级”标签,然后在“启动和故障恢复”栏里点击“设置”按钮,接着在打开的“启动和故障恢复”窗口中取消“系统失败”栏中“自动重新启动”这一选项的选中状态,点击“确定”,然后再在弹出的警告窗口中点击“确定”即可。

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