« 新年新气象《命令与征服》十年版试玩与截图 »

通过引导文件 NTLDR 认识Windows的启动过程


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文件里设置启动参数。


  • 1.yty
  • 帮帮忙 我的电脑感染了这四个病毒 用卡巴斯基都删不掉 上网找了半天 也没寻到什么好方法 怎么办??
    多谢!
    Exploit.win32.MS04-028.a
    Email-Worm.Win32.netsky.c
    virus.win32.repka.a
    type_win32
  • 2006-2-5 20:07:56 回复该留言
  • 2.吴慧丰
  • 一般来说,这类病毒都可以通过手工删除,首先用安全模式启动系统后,打开注册表,找到HKLM\Software\Microsoft\Windows\CurrentVersion\Run
    将这里的非正常的注册项删掉,再用安全模式重新启动删除病毒程序,通常的病毒都可以删除。前些日子发现过一个病毒把自己加在系统服务里,也可以通过查找注册表项删除相应的键值,再重新启动后删除病毒才程序来清除。
    要注意:如果你对系统不熟请慎重操作!
  • 2006-2-5 23:11:22 回复该留言
  • 3.吴慧丰
  • 下面是针对你所提的四个病毒我在GOOGLE上搜索到的内容,希望对你有所帮助,如果你自己不能解决,可以加我QQ

    1.“jpg伪装者”(exploit.win32.ms04-028.a)
    据金山毒霸反病毒工程师介绍,这是一个利用windows在jpeg处理过程中存在的缓冲区溢出漏洞(ms04-028)进行破坏操作的病毒。病毒伪装成jpg文件,一旦用户点击时立即从网址下载灰鸽子病毒,使远程攻击者获得系统权限,用户机器被远程控制,导致用户信息遗失等,给用户系统安全带来很大威胁。
    可以从网上下载灰鸽子的专用清除工具,也可以进安全模式手工清除。

    2.关于Email-Worm.Win32.netsky.c 这个病毒,请查看以下地址
    http://www.viruslist.com/en/viruslist.html?id=1071043
    可以用下面这个清除工具试试
    http://securityresponse.symantec.com/avcenter/FxNetsky.exe
  • 2006-2-5 23:11:58 回复该留言
  • 4.吴慧丰
  • 3.关于W32/Reper-A病毒的清除:
    打开注册表,找到
    HKLM\Software\Microsoft\Windows\CurrentVersion\Run
    runreper
    %WINDOWS%\viewer.exe
    将此键删除
    该病毒还会复制自身到 %WINDOWS%\System32 目录下,名称为N0TEPAD.exe,注意系统里正确的程序名称是字母O,而此病毒名字是数字0,应删除此程序.

    还会把注册表中的键值HKCR\txtfile\shell\open\command
    %SystemRoot%\system32\NOTEPAD.EXE %1
    改为
    HKCR\txtfile\shell\open\command
    %WINDOWS%\System32\N0TEPAD.EXE %1
    注意区分字母O和数字0,应恢复为字母O

    该病毒还会试图终止 regedit.exe, cmd.exe 和 taskmgr.exe


    4.关于type_win32病毒:
    type_win32 又称“PE_OROCHI.3982”是一种直接感染型的Windows病毒,此病毒的大小为:2000 字节并且经过加密。
    见以下地址推荐的那个SpySweeper我试用了一下还不错,值得试试
    http://www.spywaredb.com/remove-type-win32/
  • 2006-2-5 23:12:09 回复该留言
  • 5.吴慧丰
  • 还有提醒你一下,下次再需要别人帮忙时你要记得留下联系方式啊,不然别人想帮也帮不上你,呵呵
  • 2006-2-5 23:13:42 回复该留言
  • 6.yty
  • 你真是一大好人 哈哈 我没那么傻的 我们在msn上有联系的 就是你总忙 不理我 我就在这里留言了 也好在这里给你一个发挥的机会嘛 呵呵
  • 2006-2-9 14:22:00 回复该留言
  • 7.yty
  • 多谢你的帮助 我会试试的 不行就格了重装
  • 2006-2-9 14:26:45 回复该留言
  • 8.dtfy
  • rising 查找到C:\WINDOWS\VIEWER.EXE带病毒.人工发现各盘符根目录下君有个reper.exe .删除删除这两文件则各盘符不能用左键启动. 安装软件会启动好几个准备程序installshelled
  • 2006-3-1 21:13:27 回复该留言
  • 9.吴慧丰
  • “狂奔者”(reper)病毒在系统目录内创建病毒主程序的同时,还在所有磁盘根目录下建立reper.exe、autorun.inf文件,导致用户打开任何磁盘都会运行它,你所说的不能用左键启动我想应该是你没删autorun.inf造成的
  • 2006-3-2 17:04:51 回复该留言
  • 10.thankyou
  • 您好
    我的电脑是XP系统的,昨天因误删重新装过瑞星杀毒软件.
    今天开机进去是安全模式,重新启动好几次都转不回实模式?,不知道怎么办啊.
    开机进去有两个和以往不一样.1是跳出一个窗口是硬(软)件安装向导?不太记得了,被我取消了;
    另一个是瑞星自动启动.
    请问怎么转回去啊?
    谢谢啦!我的MSN:kiyomidee@hotmail.com
  • 2006-3-3 9:02:04 回复该留言
  • 11.nancy
  • 您好:
    我现在有一个PROJECT,目的是提高系统的启动速度,是通过将硬盘上的一些系统启动文件(例如说BOOT DRIVERS等等)移到FLASH上面,这样系统启动时就不用访问硬盘,直接访问FLASH,从FLASH调用启动需要的文件,我想请问一下,那些文件是可以转移到FLASH里面去呢,是不是NTLDR所需要调用的文件都可以转移过去?不甚感激!
    我的MSN:lanxing720@hotmail.com
  • 2006-7-13 10:49:16 回复该留言
  • 12.请帮帮我吧
  • 吴老师,我的电脑中了好几种病毒,我用江民查了 有 : svchose.exe\wsystemxexe\sxs.exe\trojan\iexplorer.exe
    现在机子经常死机和报错,速度很慢,请问能帮忙解决吗?谢谢!
    QQ654872887
    您的QQ是多少?
  • 2006-8-14 15:59:03 回复该留言
  • 13.feLix
  • 你好:
      很高兴能看到这个网站!
      我的电脑在一次不正式关机后,重启后就出现了windows root/system32/hal.dll文件?坏?失,我试过重装系统和格式化c盘也不行,不知道你能不能帮我看看如何才能解决问题,联系方式:thinkinguedge@hotmail.com  
      谢谢!!!
  • 2006-9-8 20:52:10 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

Google

最新评论及回复

相关文章

Powered By Z-Blog 1.8 Spirit Build 80722

Copyright 2005-2008 Wuhuifeng.Com. All Rights Reserved. 京ICP备05006557号