Windows深入了解故障恢复控制台6--控制台修复具体实例3-ntldr

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 目录的路径以便执行后面的启动流程。
NTLDR 详解
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 内核程序,然后 NTLDR 将加载硬件抽象层 (HAL.dll) ,接着系统将加载注册表中的“ HKEY_MACHINESystem ”键值,这时 NTLDR 将读取“ HKEY_MACHINESystemselect ”键值来决定哪一个 ControlSet 将被加载。所加载的 ControlSet 将包含设备的驱动程序以及需要加载的服务。再接着 NTLDR 加载注册表“ HKEY_LOCAL_MACHINESystemservice ”下的 start 键值为 0 的底层设备驱动。当 ControlSet 的镜像 CurrentControlSet 被加载时, NTLDR 将把控制权传递给 NTOSKRNL ,至此引导过程将结束。
    如果在启动的时候按 F8 键,那么我们将会在启动菜单中看到多种选择启动模式,这时 NTLDR 将根据用户的选择来使用启动参数加载 NT 内核,用户也可以在 Boot.ini 文件里设置启动参数。
估计可能是 Ntldt Ntdetect.com Boot.ini 几个文件丢失或破坏引起的。
NTLDR 文件是 WinXP 的引导文件。应该在系统正常的时候给予备份。
NTLDR 文件的说明: NTLDR 是一个隐藏的,只读的系统文件,用来装载操作系统。
NTLDR 异常
NTLDR 是我们常见的系统异常;常见的描述如下:
NTLDR is missing
Press any key to restart
那我们该如何修复此异常哪?
方法1  利用制作启动软盘,复制文件;
在软驱已经是个传说年代,这个方法不太适合。
方法2 利用安装光盘,恢复文件
步骤如下:
1.  插入安装光盘,启动,进入 Windows 故障恢复控制台
2.  输入 map 命令;找到光驱所在的盘符,假设为 F
3.  复制光盘下的文件到系统根目录下
copy F:\i386\ntldr c:\
copy F:\i386\ntdetect.com c:\
注意: ntldr, ntdetect.com C:\ 之间有一个空格

你可能感兴趣的:(职场,休闲,故障恢复)