Windows XP \Windows 2003启动过程的学习及故障分析处理
                                     (六D)
细述引导文件(D)—— NTDETECT.COM
NTDETECT.COM
NTDETECT.COM硬件侦测程序。他在会NTLDR统一调度下通过BIOS收集当前计算机的硬件信息,并且暂时保存在内存中,启动后期(WINDOWS内核建立以后)会将此检测结果保存到注册表 HKLM\Hardware\Description。这说明注册表中该键的内容并不是固定的,而是开机后会根据当前系统中的硬件配置情况动态更新。我猜想在后面的过程中具体加载哪些设备驱动程序可能就根据此表。当然系统完全启动需要加载驱动程序不止这些,这些只是最基本底层设备。如果Hardware注册表键创建成功,那么系统内核将会对Control Set键的内容创建一个备份,替换掉言来的备份。这个备份将会被用在系统的高级启动菜单中的“最后一次正确配置”选项;如果Hardware注册表键不能创建成功系统就已经崩溃了,这时候如果选择“最后一次正确配置”选项,系统将会自动使用上一次的Control Set注册表键的备份内容重新生成Hardware键,这样就可以撤销掉之前因为安装了新设备驱动对系统设置的更改。
 
NTDETECT.COM硬件侦测程序是NTLDR(引导阶段)的最后一项工作,如果一切顺利的话,NTLDR就会将控制权交给系统分区中WINDOWS\system32下Ntoskrnl.exe程序。至此,引导分区几个重要的文件、程序执行的差不多了,开始转到系统分区中,执行WINDOWS里的程序。NTLDR完成使命,Ntoskrnl.exe作为主角登上舞台。
 
NTDETECT.COM 可能出现的故障现象及处理方法:
现象:屏幕提示“ NTDETECT 失败”或者“ NTDETECT failed”如下图,然后挂了
 

                                   

 

处理方法:原因是NTDETECT.COM损坏或丢失。和修复NTLDR方法类似。
从另外一台正常运行WINDOWS XP SP3的计算机上复制NTDETECT.COM,通过Windows PE 环境,将NTDETECT.COM粘贴至故障计算机引导分区(一般就是C盘)的根目录下即可。
也可进入Windows PE 环境利用第三方相关软件(“系统引导生成/修复工具”“NT系统启动高级修复”等软件)修复
或者挂为从盘,再将好的NTDETECT.COM粘贴至故障计算机引导分区(一般就是C盘)的根目录下即可。
或者进入系统故障恢复控制台
用 copy: x:\i386\ntdetect c:\windows 命令拷贝丢失的文件(x代表光盘盘符) 这是官方提供的解决方案。
                                                                                                       (待续)