Windows XP \Windows 2003启动过程的学习及故障分析处理
(六C)
细述引导文件(C)——boot.ini
boot.ini
通过前面的学习,我们知道NTLDR最重要的功能是:寻找、装载ntoskrnl.exe并准备运行之。具体是怎么找到ntoskrnl.exe的呢?这就必须依赖boot.ini文件。boot.ini文件位置与NTLDR一样,处于启动(引导)分区的根目录中。下图就是我的计算机boot.ini文件内容,它是很有代表性的,如果您只在C盘装的单系统Windows xp,boot.ini就和下图应该是一模一样。

boot.ini文件内容包括了那些呢?我们试着解读。通过boot.ini我们可以知道计算机中装了几个操作系统,默认运行的是哪一个?多系统选择屏幕等待时间多长?最重要的是让我们(更确切的说是让NTLDR)知道,各个操作系统在计算机磁盘的哪个分区上(multi(0)disk(0)rdisk(0)partition(1)\WINDOWS就是物理地址,partition(1)通常就是C盘,partition(2)通常就是D盘,以此类推),以便您选择了某个操作系统后,NTLDR能准确寻找其系统文件(中的ntoskrnl.exe),顺利的继续后面的启动过程,最终建立该操作系统。

boot.ini文件内容对于装有多操作系统的计算机特别重要。对于单操作系统似乎不那么重要,我曾经做过实验,把boot.ini删除了,在启动过程中,屏幕出现了“Boot.ini文件非法或不存在,那么NTLDR将会尝试从默认系统卷启动系统”的提示,但最终还是能够启动系统!
如果计算机装有多操作系统,启动过程中会出现一个多系统选择菜单的画面,你可以选择您想进入的那个操作系统(操作系统的名称就是Boot.ini里面“”的内容,如“"Microsoft Windows XP"”)如果您不做选择,在等待时间时间(由Boot.ini里面的default确定)到了以后,便进入默认(time out所确定的,我的计算机是三秒)的系统。如果装有一个操作系统,则不会出现系统选择画面而直接进入。
boot.ini文件内容我们可以查看。 通过“开始——运行——msconfig ——Boot.ini”就可以查看boot.ini,在此还可以做些调整,如改变默认进入的操作系统。我们也可以通过
“我的电脑——属性——高级——启动和故障恢复——编辑”,打开修改boot.ini文件内容。
其实最简单的方法,直接双击C盘中的boot.ini就可以查看修改boot.ini文件内容。

boot.ini不仅有固定的格式,还有一些参数可以选择,如/fastdetect 参数在指定的通信端口处禁用 NTDETECT 串行和并行端口设备检测。如果你未指定通信端口,此参数会在所有的串行和并行端口上禁用检测noexecute=optin参数表示仅针对操作系统组件(包括 Windows 内核与驱动程序)启用 DEP等。我们这里主要以恢复正常的启动为目的,不做过深的研究。

虽然boot.ini可以修改,但我不推荐一般人对其动手动脚,除非你是高手。
boot.ini是安装系统时生成的。他的生成有点意思——当你装多系统的时候,他会自动修改。比如,你先在计算机C盘安装了一个"Microsoft Windows 2000",形成的boot.ini如下

接着你又在计算机D盘安装了一个"Microsoft Windows xp"时,不会再形成的第二个boot.ini(注:也不会形成的第二个NTLDR和NTDETECT.COM),而是在原来的做了改变,在[operating systems]增加了一条,如下

这样,安装后启动计算机时,就出现操作系统选择菜单了,你可以自由选择其中一个,不会有问题。这里也是这里也是计算机启动过程中第二个分岔处(还记得吗,BIOS阶段引导设备的选择是第一个分岔处)。

如果你的第一个安装的操作系统是"Microsoft Windows 98",以后安装是"Microsoft Windows xp",此时不仅boot.ini自动做了修改,还会自动生成一个叫BOOTSECT.DOS(DOS的引导区副本) ,计算机启动,当你选择"Microsoft Windows 98"时,系统将从NTLDR——BOOTSECT.DOS——IO.SYS——MSDOS.SYS——CONFIG.SYS——Command.com——AUTOEXEC.BAT等DOS内核系统启动的程式进行。
这里要注意多系统安装时的先后顺序问题:
必须先安装低版本操作系统,再安装高版本的操作系统!如果你已经安装了一个高版本的操作系统,那么如果再想安装一个低版本的操作系统,那么低版本的操作系统在安装后会出现无法进入原来高版本的操作系统的故障。问题的原因高版本的引导文件被低版本的覆盖了,这样顺序是不能形成正确的boot.ini文件。另外,低版本的NTLDR和NTDETECT.COM不能识别高版本操作系统的NTOSKRNL.EXE,从而造成系统不能正常启动。
现在win7引导方式不同于Windows xp,但可以向下兼容低版本的微软的操作系统。当Microsoft Windows xp与win7双系统安装时,也必须低版本操作系统(Windows xp),再安装高版本的操作系统(win7)!如果先安装win7后安装Windows xp操作系统,在安装后会出现只能进入Windows xp,无法进入原来win7操作系统的故障。不过可以用小软件BCDautofix V1.0.3.exe修复一下就能解决问题。
boot.ini可能出现的故障现象及处理方法:
现象:屏幕提示“Boot.ini文件非法或不存在,那么NTLDR将会尝试从默认系统卷启动系统”
处理方法:如果是单系统,可以不做什么处理,系统最终能启动成功。在多系统时,重建Boot.ini可利用微软的系统安装盘引导进入“恢复控制台”(RECOVERY CONSOLE),运行“Bootcfg/rebuild”命令,这是官方提供的解决方案。
也可以利用第三方相关软件(参见下图“系统引导生成/修复工具”“NT系统启动高级修复”等软件,现在许多维修PE多有这些或者类似的软件,这些东东来自民间高手,很好使,效果也不错,比微软的用RECOVERY CONSOLE修复更方便,中文界面,基本就是点点鼠标,不用你记忆输入那些命令),进入PE环境运行,进行重建或修复Boot.ini

现象:屏幕提示下面两图之一,

处理方法:(这两个界面经常会碰到)从提示的字面意思说的是WINDOWS\system32中的Ntoskrnl、Hal.dll损坏或丢失,但也可能是Boot.ini问题,设置不对。我做过实验,我的系统文件实际是在C盘,我故意把我的Boot.ini从原来的正确C盘改为D盘,启动失败了,就出现上面的提示。想想也是,系统文件实际是在C盘,C盘里有Ntoskrnl、Hal.dll等,D盘当然找不到这些文件,所以报丢失。

出现这两种提示,问题可能出在WINDOWS文件夹里,也可能是Boot.ini问题,也就是说同一种症状,引起的原因并不是唯一的,这就要求我们运用相关知识与经验,逐个排查。
具体处理方法同上。
 
 
                                                                   (待续)

本文转自madin10000 51CTO博客,原文链接:http://blog.51cto.com/20100823/1064241

Windows XP \Windows 2003启动过程的学习及故障分析处理(六c)相关推荐

  1. Windows XP \Windows 2003启动过程的学习及故障分析处理(四)

    Windows XP \Windows 2003启动过程的学习及故障分析处理 (四) 唯一的激活的主分区--引导分区 如前所述,计算机通过MBR找到(定位)了磁盘上唯一的激活的主分区(primaryp ...

  2. Windows XP系统的启动过程

    离大三上学期结束不足半月,至此已了解掌握了许多有关程序运行的层次化知识.比如一个简单的QQ,从点击启动按钮开始,调用应用层的程序如C#代码,调用框架层的程序如.NET开发框架函数,调用操作系统的程序, ...

  3. xp2003服务器怎么安装系统,UEFI里启动Windows XP/Server 2003 x86教程

    所需工具1.VMware Workstation 2.Windows XP/Server 2003 x86原版安装ISO一个 3.Windows PE一个(带7-zip) 4.Windows Vist ...

  4. 计算机应用基础素材,计算机应用基础(Windows XP+Office 2003)、素材和习题答案-王向慧 计算机应用基础...

    计算机应用基础(Windows XP+Office 2003).素材和习题答案-王向慧 计算机应用基础 (447页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便 ...

  5. xp系统vba服务器,VBA获取操作系统的版本号(支持windows xp,windows 2003 ,win7 ,win10)

    VBA获取操作系统的版本号(支持windows xp,windows 2003 ,win7 ,win10) Public GetOsVersion() As String Dim objWMIServ ...

  6. 计算机自带的游戏怎么找xp,教你怎样查询Windows XP/Windows 7自带系统游戏路径

    通常在电脑系统中都内置了一些小游戏,例如:红心大战.扫雷.蜘蛛纸牌等.虽然这些小游戏是教早期的游戏,现在很少人玩,不过在电脑没网的情况下,玩一玩还是不错的,不过有时候开始菜单里的快捷方式不见了,该怎么 ...

  7. 微软推出Windows XP/Server 2003紧急安全补丁:修复远程桌面CVE-2019-0708漏洞

    根据CVE-2019-0708"攻击者可通过RDP向目标系统远程桌面服务发送特制请求"来远程执行系统上的代码.因为不需要用户干预,攻击可像野火一样从计算机传播到另一台计算机,从而导 ...

  8. Windows XP/Vista 开机启动设置项

    ★注册表项: ⑴HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run ◎◎这个键值应该比较熟悉,常用的系统启动设置项,一般的 ...

  9. Windows XP红外线连接手机过程实例演示(转)

    很多朋友买了新款的,具有红外设备的产品,比如手机,却不懂怎么样将该硬件以红外方式连接进电脑,我们将从软件的角度为一些刚入门的朋友解解惑. 首先我们购买好usb红外适配器之后,开启电脑,新机器一般无所谓 ...

最新文章

  1. MPlayer编译步骤
  2. 如何修改远程登录端口号?
  3. 操作系统课设--扩展文件系统
  4. SpringBoot 中配置加载优先级
  5. [转载]_tmain main wmain WinMain
  6. VIJOS 1052贾老二算算术 (高斯消元)
  7. Android 线程池对象-ThreadPoolExecutor浅析
  8. 苹果appID的获取方法
  9. javaWeb基础知识及注意事项
  10. python 进行后端分页详细代码
  11. 解决:The Apache Tomcat Native library
  12. 【java初学】正则表达式和敏感词汇过滤
  13. Typora官网下载慢,用这个镜像
  14. 一款提升程序员生产力的黑科技神器
  15. 基于PCA的图像压缩及人脸识别算法
  16. 如何在iis中设置可以在网页上面直接下载安卓app并自动安装
  17. DBMS_SQL的使用
  18. IDEA2020安装教程
  19. C语言中编译预处理命令作用,C语言预处理命令详解
  20. 计算机机器人兴趣小组活动总结,科技活动总结范文5篇

热门文章

  1. 前端如何进行网站性能优化
  2. QML(1): 什么是QML
  3. 【存储数据恢复】HP EVA存储误删除VDISK的数据恢复案例
  4. ORACLE 驱动表
  5. 《嵌入式 – GD32开发实战指南》第17章 看门狗
  6. RF低噪声放大器设计
  7. 什么是m3u8、f4v格式的文件
  8. linux那些事之contiguous memory allocator(CMA)
  9. Windows下解压tar分卷文件
  10. python scrapy 出现no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicate