深入XP之认识的引导文件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.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文件里设置启动参数。

转载于:https://blog.51cto.com/laowu2517/240976

深入XP之认识的引导文件NTLDR相关推荐

  1. xp和linux的引导文件,Linux与XP双系统中grub引导配置笔记

    今天自己试验了一下,恢复Linux启动的问题,现在感觉启动变得很方便了.在网上找了些资料,自己也总结了一种方法,下面介绍一下怎么解决. 一般,硬盘安装Linux都是用grub做引导,那么安装后,系统每 ...

  2. win7 修复计算机 黑屏,拯救黑屏 Win7系统引导文件丢失修复教程

    一些用户的Win7系统因为引导文件丢失开机后出现黑屏,代码为 Windows无法启动: \Windows\System32\Config\System".现在小编就教大家win7系统引导文件 ...

  3. win7 修复计算机 黑屏,Win7系统引导文件丢失导致黑屏如何修复

    一些用户的Win7系统开机后出现黑屏,代码为 Windows无法启动: \Windows\System32\Config\System".这个问题该如何修复呢?现在小编就给大家分析一下吧. ...

  4. 如何自动修复XP/VISTA/WIN7系统引导的工具(NTBootAutofix 2.02)

    如何自动修复XP/VISTA/WIN7系统引导的工具(NTBootAutofix 2.02) NTBootAutofix:一款极为优秀的自动修复XP/VISTA/WIN7系统引导的工具 这个工具的用途 ...

  5. 解读多重启动引导文件——BOOT.INI

    解读多重启动引导文件--BOOT.INI 日期:2002-7-3 9:19:29 出处:电脑爱好者 作者:- <script language=JavaScript src="/ad/ ...

  6. NTBootAutofix:一款极为优秀的自动修复XP/VISTA/WIN7系统引导的工具

    NTBootAutofix:一款极为优秀的自动修复XP/VISTA/WIN7系统引导的工具 NTBootAutofix 2.02 绿色版 使用方法: -------- 非安装软件,直接双击运行,傻瓜式 ...

  7. windows引导文件丢失解决办法

    windows引导文件丢失解决办法 谁偷了我的启动文件?--Windows多重引导故障快速修复 现在安装多操作系统的朋友越来越多,但在多操作系统运行过程中偶尔出现的多重选单丢失.启动文件损坏.无法引导 ...

  8. 多硬盘的引导文件boot.ini

    多硬盘的引导文件boot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(1)partition(1)/WINDOWS [opera ...

  9. 修复Windows7引导文件工具(最新mbrfix工具,使用Windows7)

    写在前面:先说下我的情况,我的电脑装了两个系统,先装Windows7家庭版,再装ubuntu,后来把装ubuntu的整个硬盘空间给删了,导致系统启动找不到引导文件进不去系统,很长一段时间我都是用U盘引 ...

最新文章

  1. linux文件IO与内存映射:分散/聚集IO技术(scatter-gather)
  2. 我应该如何处理MySQL中的--secure-file-priv?
  3. Hibernate环境搭建以及HelloWorld
  4. 大学生如何找到适合自己的Java行业
  5. linux中国用户,Linux中国 适合新用户的Linux
  6. SQL Server 2000中的数据转换服务 (DTS)
  7. js中组装拼接json对象,通过java后端接收并解析
  8. 那些没有兴趣花必要的C++时间
  9. NG Ng-container(逻辑容器)
  10. 基于MaterialDesign设计风格的妹纸app的简单实现
  11. 你看到过哪些简短有内涵的一看就想发朋友圈的句子?
  12. sklearn中的xgboost_XGBoost的介绍、应用、调参、知识点
  13. 运筹优化(四)--线性规划之对偶问题和灵敏度分析
  14. Exchange Server 2013安装部署初体验
  15. CF1151FSonya and Informatics
  16. python发微信消息_利用python实现微信消息自动提醒
  17. 苹果如何不显示云服务器照片,iPhone12如何隐藏照片 iPhone12不显示照片的三种方法...
  18. 韩国票房:“蜘蛛侠”挤掉“美队”称王
  19. 国产化飞腾CPU主板安装统信专业版桌面OS,以及统信OS如何进root用户
  20. 科技云报道:2023,云计算的风向变了

热门文章

  1. 迁移 Nexus 软件仓库拾遗
  2. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量
  3. git同一项目使用多个远程仓库
  4. Zabbix 中文乱码解决
  5. 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的...
  6. 数据库诞生40年,阿里云AWS用技术推动第三次变革
  7. SpringBoot笔记1-使用idea创建SpringBoot的hello world
  8. 初识Memcached
  9. No valid host was found. There are not enough hosts available
  10. 千呼万唤,ACS始出来