为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算机启动过程

2018-08-22 27页 doc 62KB 20阅读

用户头像

is_037433

暂无简介

举报
计算机启动过程计算机启动过程 第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的...
计算机启动过程
计算机启动过程 第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是AwardBIOS还是AMIBIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。 第二步:系统BIOS的启动代码首先要做的事情就是进行POST(Power,OnSelfTest,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。 第三步:接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。 第四步:查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。 第五步:接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。 第六步:内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD,ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。 第七步:标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。 第八步:到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。 第九步:接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到"Update ESCD...Success" 这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows9x不相同的数据格式,于是Windows9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。 第十步:ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导 记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x最基本的系统文件。Windows9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。 如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl,Alt,Del组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。 我们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础。 【IO.SYS文件详解】 IO.SYS 总论:IO.SYS为WIN9X模式下的重要启动文件,主要控制启动中由机器向操作者之间的重要转换,是WIN9X系统启动的枢纽 IO.SYS位于C:\下,和MSDOS.SYS、COMMAND.COM共同构成WIN9X的启动核心,通常情况下为系统、只读、隐藏属性。 其中MSDOS.SYS对IO.SYS起配置作用。 1、IO.SYS的内部启动菜单 Win 9X的IO.SYS由原DOS的系统文件IO.SYS、MSDOS.SYS合并而成,提供标准硬件的输入/输出接口和DOS的中断调用,功能全面增强,它基本 上控制着Win 9X的全部启动过程,是Windows的DOS实模式的核心文件。但它需要根据MSDOS.SYS的设置才能实现正常的启动过程。 IO.SYS可由启动功能键改变启动过程,这些功能键对应着启动菜单各选项: 功能键 对应的启动菜单项 含义 启动旧版DOS F4 Previous MS-DOS version F5 Safe mode Shift+F5 Command prompt only F6 Safe mode with network support F8 启动时调出启动菜单 Shift+F8 Step-by-step confirmation 单步执行Windows启动 系统启动出现“Starting Windows 95...”时按下功能键即可。 IO.SYS提供启动选择菜单,便于用户根据需要选择启动方式: ?Normal 正常启动模式(默认的启动方式) 当MSDOS.SYS中的BootWin=0时,选择本项系统将启动旧版DOS ?Logged(BOOTLOG.TXT) 正常启动模式,同时在根目录下形成BOOTLOG.TXT BOOTLOG.TXT记录了启动过程中发生的所有情况,是Win 9X系统启动过程唯一全面的诊断记录,可供用户检查启动过程中的问题 ?Safe mode 安全模式的GUI,屏幕四角有“安全模式”字样不加载CONFIG.SYS、AUTOEXEC.BAT,也不加载启动程序组中任何程序,只加载最基本硬件配置 (标准VGA模式,无声卡、光驱等),即最简单的GUI启动,用于纠正因硬件配置等造成的GUI启动问题。系统出现问题无法正常启动时,多数情况下会进入该启动模式,但该模式能解决的问题非常有限,多用于显示器等配置系统配置主要在控制面板上调整。要进入正常的GUI,必须重新启动。 ?Step-by-step confirmation 单步执行 Windows启动 用于确定因系统文件损坏造成的启动故障,该方式仅能确定DOS启动过程中的系统问题,主要修正Config.sys和Autoexec.bat中存在的问题要确定GUI启动过程中的问题,只能借助BOOTLOG.TXT文件 ?Command prompt only 仅执行完整的实模式 DOS启动过程,进入纯DOS状态加载全部支持Win启动的DOS驱动程序,主要用于只能运行于纯DOS模式下的应用软件或解决严重的系统问题,可用命令Win启动正常的GUI ?Safe mode command prompt only最简单的 DOS启动仅执行最基本的IO.SYS、MSDOS.SYS和 COMMAND.COM三个系统文件,不加载默认驱动程序(HIMEM.SYS、IFSHLP.EXE和SETVER.EXE)和CONFIG.SYS, AUTOEXEC.BAT,其它的环境默认值同Win 9X 的设定,该模式无法继续启动正常的或安全模式的GUI,主要用于处理最严重的系统故障。 ?Previous MS-DOS version 启动旧版DOS,执行双重启动根目录下应有以.DOS为扩展名保存的五个原DOS系统文件。该选项的出现由MSDOS.SYS中的参数 “BootMulti”控制注意:当MSDOS.SYS中的BootWin=0时,选择本项将启动正常的Win 9X系统 ?Safe mode with network support带实模式网络访问的安全模式 该选项的出现由MSDOS.SYS中的参数 “NetWork”控制用于排除网络系统的PC故障,可通过实模式网络系统,获得更大的系统支持 2、IO.SYS提供的扩展的DOS默认配置 IO.SYS在启动时与DOS的最大不同,是提供能满足大多数DOS应用的缺省CONFIG.SYS配置,能够自动加载必要的驱动程序,以保证Win 9X正常启动,具体内容如下: HIMEM.SYS:支持1M以上内存,提供扩展内存(XMS)管理保证Win启动的必需文件。 DBLBUFF.SYS:双重缓存驱动程序,仅需要时加载,多用于支持SCSI卡。 IFSHLP.EXE:增强的文件管理驱动程序,支持Win的VFAT系统保证Win启动的必需文件。 SETVER.EXE:版本登录服务,消除版本限制,仅在DOS下用。 Dblspace.bin:DOS 6.0磁盘压缩驱动程序,仅在硬盘被压缩时才加载 Drvspace.bin:DOS 6.22以后的磁盘压缩驱动程序,同上 DOS,HIGH,UMB :将DOS系统移入HMA,以留出更多的常规内存而UMB对系统没有任何作用,实属摆设 FILES,30 :能打开的最大文件数,能满足大多数应用仅为DOS下使用,Win 9X不需要 BUFFERS,30 :设置最大的磁盘缓冲区数,能满足大多数应用仅为DOS使用,Win 9X不需要 FCBS,4 :文件控制块数,现已极少使用,仅为DOS使用 LASTDRIVE,Z :最大盘符设置,该值设置过小,将无法加载光驱 STACKS,9,256 :设定栈数目、大小,该设置为旧程序使用,Win 9X系统不需要 SHELL,COMMAND.COM/P :指定Win 9X命令行处理程序 IO.SYS提供的系统环境设置如下: 命令查寻路径 : PATH=C:\Windows;C:\Windows\COMMAND DOS提示符 : PROMPT=$P$G 临时文件目录 : TEMP=TMP=C:\Windows\TEMP 命令行处理程序位置:COMSEPC=C:\Windows\COMMAND\COMMAND.COM IO.SYS提供了较完善的系统配置,使取消CONFIG.SYS、AUTOEXEC.BAT成为可能。出于兼容性考虑,IO.SYS不加载 EMM386.EXE驱动,不提供扩 充内存EMS和上位内存UMB。EMM386.EXE在系统搜寻新硬件时可能引起系统死机,在日常使用时不会有问题。 3、IO.SYS控制下的启动过程 ?系统启动时,IO.SYS显示“Starting Windows 95...”,此时可由 启动功能键选择启动方式。 ?IO.SYS根据启动菜单选择和MSDOS.SYS的配置确定启动模式。 ?若使用原DOS系统,IO.SYS自动将DOS和Win 9X的系统启动文件对换,然后由原DOS控制系统启动过程。(即Win 9X的双重启动过程最终是由IO.SYS控制完成的,与引导记录等无关) ?IO.SYS根据启动模式先由CONFIG.SYS进行系统硬件配置,若CONFIG.SYS中没有加载Win 9X启动的必需文件(如 HIMEM.SYS、IFSHLP.EXE等),系统则根据默认设置自动加载。(如果要加载使用扩展内存的驱动程序,如EMM386.EXE等,必须在 CONFIG.SYS第一行加上HIMEM.SYS驱动,否则由于系统此时未提供扩展内存,EMM386.EXE等程序将无法运行) ?完成CONFIG.SYS等硬件配置后,IO.SYS通过COMMAND.COM调用AUTOEXEC.BAT进行软件配置。 ?系统根目录下的BOOTLOG.TXT是由IO.SYS控制完成的,其它一些日志文件多是在安装系统时建立的。 ?完成DOS启动过程后自动调用Win.COM,开始启动GUI。 是系统重要文件,建议备份,如果被病毒删除的话可以在安全模式下将备份文件恢复。 Boot.ini文件 [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect Win.COM文件 Win.COM是Windows的GUI启动命令,从文件名可以看出这是一个纯粹 的DOS命令,它也是GUI系统中唯一的COM文件。该命令是DOS和GUI的 接口命令,主要用来加载保护模式的虚拟设备驱动程序VMM32.VXD(该程序 是由多个子程序组合而成的,使CPU运行于保护模式下),同时处理GUI启 动中的各种问题,它控制着系统的整个调入过程。 Win.COM提供的各类启动开关,主要用于确定系统故障,会使系统性能 降低: Win [/D: [F][M][S][V][X]] /D 当Windows不能正常启动时用于查找故障原因 :F 关闭32位磁盘存取模式,用于不支持32位存取的硬盘 等价于在SYSTEM.INI的[386ENH]节中设定: 32BitDiskAccess=FALSE. :M 安全模式启动,等价于使用功能键F5启动 :N 带实模式网络支持的安全模式启动,等价于使用功能键F6启动 :S 禁止Windows使用在F000:0000与1 MB之间的ROM地址空间做为 断点等价于在SYSTEM.INI的[386ENH]节中设 定: SystemROMBreakPoint=FALSE. :V 指定启动时由ROM例程处理硬盘控制器中断 等价于在SYSTEM.INI的[386ENH]节中设定: VirtualHDIRQ=FALSE. :X 禁止Windows使用所有高端内存(从A000-FFFF),解决内存冲突问 题等价于在SYSTEM.INI的[386ENH]节中设定: EMMExclude=A000-FFFF. WIN 9X系统启动过程解密 自WIN 95发行以来,微软公司坚持对WIN 9X系统内核技术保密,用户难以获得WIN 9X启动过程更底层的技术资料,它始终是一个黑色的过程。掌握系统的启动过程是全面控制系统和优化系统的关键,现在根据公开的技术资料和实践经验,仅从应用角度,对WIN 9X(包括95、96(95OSR1)、97(95 OSR2.X)、98、98SE)的启动过程全面揭密,并对各技术细节加以必要的说明。 WIN 9X家族主要由四个版本系列组成,其中WINDOWS 95是第一个版本,正是它开创了PC世界新纪元,并将比尔?盖茨推向世界首富的宝座。该版本并不完善,BUG最多,在推出一个多月后就开始提供修正软件包。 WIN 96即WIN 95的OSR1版(称其为96,是因其发布于96年,97同此),该版本几乎重写了WIN 95的内核,纠正了WIN 95在实际应用中的种种问题,由于与WIN 95发布时间太近,流传不广。 WIN 97即WIN 95的OSR2.X,该版本发生了质的飞跃,其最大的变化是提供了新磁盘的格式FAT 32,集成了Internet浏览器IE 3.0,这表明微软的系统发展战略开始转向因特网。OSR2.X有三种版本,即OSR2.0、OSR2.1和OSR2.5,其中OSR2.1支持USB和AGP显卡,OSR2.5则提供了IE4.0。由于FAT 32使OSR2.X与WIN 95和DOS不兼容,微软只将其做为OEM产品而不提供零售版,WIN 97因此也成为WIN 95后最流行的版本。 WIN 98是以DOS为基石的WINDOWS系列的最后辉煌。它将因特网技术和操作系统紧密结合,同时提供了IE4.0和DirectX5.0,但没有提供更激动人心的东西,更象是WIN 97的零售版。 WIN 98 SE是WIN 98的第二版,与WIN 98相比只是提供了IE5.0和DirectX6.1a,别无新意。 WINDOWS 2000是以WINDOWS NT为基础的网络操作系统,它已经是与WIN9X截然不同的产品了,而新推出的WINDOWS Me则是WINDOWS 9X的替代产品,但除了借用WINDOWS 2000的界面外,尚没有更新的发现。 WIN 9X版本沿革比较复杂,其核心却保持着相对的稳定,没有根本性变化,启动过程也几乎完全相同,这是本文存在的依据。 一、WIN 9X启动概述 WIN 9X的启动过程继承了DOS的传统并进行了必要的扩充,主要由两个阶段组成,即扩展的DOS实模式启动和GUI(即图形界面)32位保护模式启动,WIN 9X的技术核心集中在后一阶段中。 该启动过程依次由引导记录、IO.SYS、MSDOS.SYS、COMMAND.COM、CONFIG.SYS、AUTOEXEC.BAT、GUI启动命令WIN.COM和其它必要的相关文件完成,其中与DOS的系统文件完全同名的文件实际上发生了质的变化。 WIN 95/96提供了彻底的双重启动功能,即用户可以用WIN 95/96和DOS(6.22以下)两种方式启动系统,互不干扰,解决了新旧系统的兼容问题,最大限度地维护了用户的利益。但为了逐渐摆脱落后的DOS对PC世界的影响,从WIN 97开始,微软公司尝试限制双重启动功能,使WIN 97/98的启动系统必须修改才能实现双重启动。目前,双重启动功能在实际上的需要确已越来越少。 二、引导记录 引导记录的作用是将操作系统的核心文件调入内存,以启动系统。 所有系统的引导记录均位于磁盘的起始位置,微机加电启动时,直接从固定位置将引导记录调入内存,引导系统启动。不同版本系统的引导记录自然不同。 DOS引导记录的版本标志为MSDOS5.0,支持FAT 12(各版本均用于软盘或小于16M的硬盘)、FAT 16磁盘格式,指定的系统引导文件是IO.SYS、MSDOS.SYS。 WIN 95/96的引导记录与DOS(6.22前独立版本)的完全兼容,版本标志为MSWIN4.0,支持FAT 12、FAT 16磁盘格式,支持双重启动,指定的引导文件是WINBOOT.SYS(IO.SYS在旧版DOS下使用时的文件名)和IO.SYS、MSDOS.SYS。 WIN 97/98的引导记录与DOS有了本质的区别,版本标志为MSWIN4.1,使用32位指令代码,支持FAT 12、FAT 16和FAT 32三种磁盘格式,固定引导IO.SYS,这导致不经修改,WIN 97/98不能直接支持双重启动。 WIN 97/98的全新磁盘格式FAT 32可以支持大容量硬盘,取消了FAT 16的容量限制,与传统的FAT 16完全不兼容,当然不能为DOS、WINDOWS 95/96识别。这种磁盘格式下多数原DOS、WINDOWS 95/96软件均能正常运行,但与磁盘格式有关的软件如磁盘工具等不能继续使用。由于主流的硬盘容量正在超过8.4G,FAT 32的应用越来越广。 1、IO.SYS的内部启动菜单 WIN 9X的IO.SYS由原DOS的系统文件IO.SYS、MSDOS.SYS合并而成,提供标准硬件的输入/输出接口和DOS的中断调用,功能全面增强,它基本上控制着WIN 9X的全部启动过程,是WINDOWS的DOS实模式的核心文件。但它需要根据MSDOS.SYS的设置才能实现正常的启动过程。 IO.SYS可由启动功能键改变启动过程,这些功能键对应着启动菜单各选项: 功能键 对应的启动菜单项 F4: Previous MS-DOS version F5: Safe mode Shift+F5: Command prompt only F6: Safe mode with network support F8: 启动时调出启动菜单 Shift+F8: Step-by-step confirmation 系统启动出现“Starting Windows 95...”时按下功能键即可 IO.SYS提供启动选择菜单,便于用户根据需要选择启动方式: ?Normal 正常启动模式(默认的启动方式) 当MSDOS.SYS中的BootWin=0时,选择本项系统将启动旧版DOS ?Logged(BOOTLOG.TXT) 正常启动模式,同时在根目录下形成BOOTLOG.TXT BOOTLOG.TXT记录了启动过程中发生的所有情况,是WIN 9X系统启动过程唯一全面的诊断记录,可供用户检查启动过程中的问题 ?Safe mode 安全模式的GUI,屏幕四角有“安全模式”字样不加载CONFIG.SYS、AUTOEXEC.BAT,也不加载启动程序组中任何程序,只加载最基本硬件配置 (标准VGA模式,无声卡、光驱等),即最简单的GUI启动,用于纠正因硬件配置等造成的GUI启动问题。系统出现问题无法正常启动时,多数情况下会进入该启动模式,但该模式能解决的问题非常有限,多用于显示器等配置系统配置主要在控制面板上调整。要进入正常的GUI,必须重新启动。 ?Step-by-step confirmation 单步执行 WINDOWS启动 用于确定因系统文件损坏造成的启动故障,该方式仅能确定DOS启动过程中的系统问题,主要修正Config.sys和Autoexec.bat中存在的问题要确定GUI启动过程中的问题,只能借助BOOTLOG.TXT文件 ?Command prompt only 仅执行完整的实模式 DOS启动过程,进入纯DOS状态加载全部支持WIN启动的DOS驱动程序,主要用于只能运行于纯DOS模式下的应用软件或解决严重的系统问题,可用命令WIN启动正常的GUI。 ?Safe mode command prompt only 最简单的 DOS启动仅执行最基本的IO.SYS、MSDOS.SYS和COMMAND.COM三个系统文件,不加载默认驱动程序(HIMEM.SYS、IFSHLP.EXE和SETVER.EXE)和CONFIG.SYS,AUTOEXEC.BAT,其它的环境默认值同WIN 9X 的设定,该模式无法继续启动正常的或安全模式的GUI,主要用于处理最严重的系统故障。 ?Previous MS-DOS version 启动旧版DOS,执行双重启动根目录下应有以.DOS为扩展名保存的五个原DOS系统文件。 该选项的出现由MSDOS.SYS中的参数“BootMulti”控制。注意:当MSDOS.SYS中的BootWin=0时,选择本项将启动正常的WIN 9X系统?Safe mode with network support带实模式网络访问的安全模式该选项的出现由MSDOS.SYS中的参数“NetWork”控制用于排除网络系统的PC故障,可通过实模式网络系统,获得更大的系统支持 IO.SYS在启动时与DOS的最大不同,是提供能满足大多数DOS应用的缺省CONFIG.SYS配置,能够自动加载必要的驱动程序,以保证WIN 9X正常启动,具体内容如下: HIMEM.SYS :支持1M以上内存,提供扩展内存(XMS)管理保证WIN启动的必需文件 DBLBUFF.SYS :双重缓存驱动程序,仅需要时加载,多用于支持SCSI卡 IFSHLP.EXE :增强的文件管理驱动程序,支持WIN的VFAT系统,保证WIN启动的必需文件 SETVER.EXE :版本登录服务,消除版本限制,仅在DOS下用 Dblspace.bin :DOS 6.0磁盘压缩驱动程序,仅在硬盘被压缩时才加载 Drvspace.bin :DOS 6.22以后的磁盘压缩驱动程序,同上 DOS,HIGH,UMB :将DOS系统移入HMA,以留出更多的常规内存而UMB对系 统没有任何作用,实属摆设。 FILES,30 :能打开的最大文件数,能满足大多数应用仅为DOS下使用,WIN 9X不需要 . BUFFERS,30 :设置最大的磁盘缓冲区数,能满足大多数应用仅为DOS使用,WIN 9X不需要。 FCBS,4 :文件控制块数,现已极少使用,仅为DOS使用 LASTDRIVE,Z :最大盘符设置,该值设置过小,将无法加载光驱 STACKS,9,256 :设定栈数目、大小,该设置为旧程序使用WIN 9X系统不需要 SHELL,COMMAND.COM/P :指定WIN 9X命令行处理程序 IO.SYS提供的系统环境设置如下: 命令查寻路径 : PATH=C:\WINDOWS;C:\WINDOWS\COMMAND DOS提示符 : PROMPT=$P$G 临时文件目录 : TEMP=TMP=C:\WINDOWS\TEMP 命令行处理程序位置: COMSEPC=C:\WINDOWS\COMMAND\COMMAND.COM IO.SYS提供了较完善的系统配置,使取消CONFIG.SYS、AUTOEXEC.BAT成为可能。出于兼容性考虑,IO.SYS不加载EMM386.EXE驱动,不提供扩充内存EMS和上位内存UMB。EMM386.EXE在系统搜寻新硬件时可能引起系统死机,在日常使用时不会有问题。 IO.SYS控制下的启动过程 ?系统启动时,IO.SYS显示“Starting Windows 95...”,此时可由启动功能键选择启动方式。 ?IO.SYS根据启动菜单选择和MSDOS.SYS的配置确定启动模式。 ?若使用原DOS系统,IO.SYS自动将DOS和WIN 9X的系统启动文件对换,然后由原DOS控制系统启动过程。(即WIN 9X的双重启动过程最终是由IO.SYS控制完成的,与引导记录等无关)。 ?IO.SYS根据启动模式先由CONFIG.SYS进行系统硬件配置,若CONFIG.SYS中没有加载WIN 9X启动的必需文件(如HIMEM.SYS、IFSHLP.EXE等),系统则根据默认设置自动加载。(如果要加载使用扩展内存的驱动程序,如EMM386.EXE等,必须在CONFIG.SYS第一行加上HIMEM.SYS驱动,否则由于系统此时未提供扩展内存,EMM386.EXE等程序将无法运行)。 ?完成CONFIG.SYS等硬件配置后,IO.SYS通过COMMAND.COM调用AUTOEXEC.BAT进行软件配置。 ?系统根目录下的BOOTLOG.TXT是由IO.SYS控制完成的,其它一些日志文件多是在安装系统时建立的。 ?完成DOS启动过程后自动调用WIN.COM,开始启动GUI。 1、MSDOS.SYS的作用 在WIN 9X中,MSDOS.SYS变成了纯文本系统配置文件,用于控制WIN的启动方式。可以在DOS模式下解除其特殊属性(只读、隐藏、系统),根据需要自行配置。MSDOS.SYS可以是空文件,甚至可以删除,当然此时系统只能以纯DOS方式启动,不能进入GUI系统。 不同方式形成的MSDOS.SYS默认内容不同,主要有四种,其中前三种方法形成的MSDOS.SYS文件无任何配置命令,几乎是空文件,仅保留一行注释,以说明该文件形成方式,这类文件多见于系统软盘中。 不同的MSDOS.SYS内容如下: 1)WIN安装时建立的系统盘 : ;WIN95EBO 2)formAT /S建立的系统盘 : ;formAT 3)SYS A:传递建立系统盘 : ;SYS 4)建立系统时在硬盘上形成的MSDOS.SYS 系统硬盘中的MSDOS.SYS内容比较完整,包括必要的启动配置命令,文件长度必须大于1024 bytes,即占用两个以上磁盘扇区,这一要求在该文件中说明为保证兼容性,但从未见更深入的介绍,实际上文件小于1024 bytes对系统并无明显影响,该要求估计是为了保证系统与旧版DOS和WIN 3.X兼容而提出的,这一点尚望行家指教。 用SYS向硬盘传送系统以修复启动文件时,将覆盖引导记录、IO.SYS和COMMAND.COM,MSDOS.SYS的内容保持不变,保证系统引导部分修复后,整个系统仍能正常启动,这一做法非常聪明。 2、MSDOS.SYS的配置参数 MSDOS.SYS由三小节组成,其各配置参数无顺序要求,内容如下: [PATHS]:指定WINDOWS的系统文件路径 WinDir= 指定WIN 9X各系统文件及其子目录所在的目录 该路径必须包括注册表文件system.DAT和WIN 9X启动必需的驱动程序,如HIMEM.SYS等 WinBootDir, 指定WIN 9X的GUI启动程序WIN.COM所在的目录 HostWinBootDrv, 指定WIN.COM所在的驱动器,不需冒号(:) UninstallDir, 指定保存原系统的目录,便于自身删除时恢复原系统用,该参数出现在WIN的升级版本中 [OPTIONS]:指定WINDOWS的启动方式,/前的值为缺省值 LOGO,1/0 允许/禁止启动时显示WIN 9X标志(LOGO) 屏蔽该画面有时可解决第三方内存管理程序造成的冲突。看到系统启动过程出现的提示信息,也使系统启动稍快。,启动时可用ESC键清除WIN 9X标志,查看实模式启动信息 。 BootKeys,1/0 允许/禁止启动键改变启动方式 为0时直接进入默认的启动方式,不能用启动热键转换 BootGUI,1/0 启动图形界面GUI / 仅启动DOS 7.X,进入DOS字符界面 为0时可为DOS 7.X多重启动提供方便,能进一步启动图形界面 BootWin,1/0 启动WIN 9X / 启动旧版DOS,可按要求对换系统文件 当BootWin,0时,默认启动旧版DOS,若此时选择启动菜单的“Previous MS-DOS version”,将启动WIN 9X。 注:BootWin级别高于BootGUI,两者冲突时以前者为准 BootMulti,0/1 禁止/允许双重启动 即在启动菜单中是否出现“Previous vertion of MS DOS”项。从旧版DOS升级WIN 9X时会自动出现此项,并设置为1,但对于WIN 97/98 来说,如果不对启动系统进行修改,选择此项将造成系统下次无法启动。 BootMenu,0/1 系统启动时是否自动显示启动选择菜单 该值为1,在启动时会直接弹出启动选择菜单 Network,0/1 启动菜单中是否出现“带网络的安全模式启动”项 即“Safe mode with network support”项 BootDelay,n 系统引导前显示“Starting WINDOWS 95...”时间,默认为2秒供使用启动键改变启动方式,该值为0时不出现任何提示直接进入默认的启动过程,可加快启动速度,但仍可用启动热键选择启动方式 。 BootMenuDefault, 启动菜单使用的默认选项,缺省值为 1 BootMenuDelay, 启动菜单按默认方式启动延迟间,缺省值30,单位:秒 BootSafe,0/1 系统是否以安全模式启动,为1时系统直接以安全模式启动 BootWarn,1/0 启动时是否显示警告信息 当系统非正常关机重新启动时,是否提示“应进入安全模式” 实际上安全模式解决问题能力非常有限,真正的系统问题在该模式下是无法解决的,不进也罢。 BootConfig,1/0 能否使用单步配置模式,其作用不明 DisableLog,0/1 在“Step-by-step config”时是否创建BOOTLOG.TXT 。 1:不选择“Logged”时不询问也不创建Bootlog.txt 0:询问是否创建日志文件Bootlog.txt sys temReg,1/0 系统启动时是否运行WINDOWS 9X注册器 1:“Step-by-step config”下询问是否运行注册器 其他模式则自动运行注册器 0:不运行也不询问是否运行WINDOWS 9X的注册器 该注册器在整个系统启动前首先运行,但运行与否对系统无明显影响,其作用不明 LoadTop,1/0 是否将COMMAND.COM、Drvspace.bin、Dblspace.bin等加载到高端内存,如启动中出现内存地址冲突,可将该值设为0 。 这类冲突多由CONFIG.SYS、AUTOEXEC.BAT加载的程序造成 Autoscan,1/0 非正常关机(如掉电等)再启动时,是否自动执行SCANDISK(仅在WIN 97/98有效)取消自动检测硬盘固然可以免除一些烦恼,但确实给系统带来了隐患,还是不关闭的好 。 DoubleBuffers,1/2/0 是否加载BDLBUFF.SYS,提供双重缓存支持 0:不提供; 1:需要时提供,如有SCSI卡等; 2:无条件提供双重缓存 DblSpace,1/0 允许需要时自动加载DblSpace.bin压缩驱动(DOS6.0、6.2) DrvSpace,1/0 允许自动加载DrvSpace.bin压缩盘驱动(DOS6.22、WIN 9X) 压缩硬盘降低了系统整体性能,更增加了数据的危险性在硬盘容量已不成问题的今天,还是不用压缩为妙。注意,FAT32不支持任何磁盘压缩软件 WinVer, 注明WINDOWS版本正式推出日期 第三部分由以分号“;”开头的数行任意字符组成,在MSDOS.SYS中属于注释行,对系统不起任何设置作用,主要用于保证MSDOS.SYS文件长度大于1024字节。 MSDOS.SYS提供的参数多数是用于调整系统使用的,对于普通用户来说,常用的主要包括NetWork前的几个参数。 五、COMMAND.COM COMMAND.COM是WINDOWS 9X中的DOS外壳程序(SHELL),较DOS 6.22仅增加了部分内部命令,没有更新的东西。 IO.SYS对COMMAND.COM的处理则有了根本改变,当WIN 9X在CONFIG.SYS中加载EMM386.EXE驱动提供UMB时,COMMAND.COM的常驻部分装入HMA,暂驻部分装入UMB中(在DOS6.22中,COMMAND.COM只能将常驻部分装入HMA),这将为DOS程序提供更大的常规内存,也不需要反复从磁盘中恢复暂驻部分,有效地提高了系统性能。当然,如果没有加载EMM386.EXE,系统不提供UMB,COMMAND.COM的暂驻部分就只能象DOS6.22那样置于常规内存的高端。 六、CONFIG.SYS和AUTOEXEC.BAT WIN 9X中的CONFIG.SYS、AUTOEXEC.BAT的作用与DOS的一样,用于装配所有DOS实模式的驱动程序和应用程序,或者修改IO.SYS的默认配置。其中,CONFIG.SYS主要用于硬件配置,AUTOEXEC.BAT主要用于软件配置,其在启动过程中的使用参见IO.SYS一节。 WIN 9X启动后,这两个文件的配置作为全局设置始终保留在系统底层,决定着WIN 9X下所有的DOS、WIN 16应用环境。如果没有DOS全局设置,WINDOWS窗口下的DOS应用程序将使用WIN 9X的默认设置,当然也可由用户单独配置。注意,DOS软件需要的PATH、SET等环境设置可在各自窗口的属性中单独设置;16位的WIN 3.X软件需要的PATH、SET等环境设置只能在AUTOEXEC.BAT中设置。 WIN 9X新增了不少配置命令,使实模式DOS环境更便于优化,各配置命令参见系统目录\WINDOWS下的CONFIG.TXT说明,这里不再多说。 WIN 9X通过VXD(虚拟设备驱动)、DLL(动态链接库)等保护模式驱动程序统一管理和使用系统软、硬件资源,基本上不需要实模式程序支持。实模式程序主要是为支持一些老设备. 七、WIN.COM WIN.COM是WINDOWS的GUI启动命令,从文件名可以看出这是一个纯粹的DOS命令,它也是GUI系统中唯一的COM文件。该命令是DOS和GUI的接口命令,主要用来加载保护模式的虚拟设备驱动程序VMM32.VXD(该程序是由多个子程序组合而成的,使CPU运行于保护模式下),同时处理GUI启动中的各种问题,它控制着系统的整个调入过程。 WIN.COM提供的各类启动开关,主要用于确定系统故障,会使系统性能降低: WIN /D :[F][M][S][V][X] /D 当WINDOWS不能正常启动时用于查找故障原因 :F 关闭32位磁盘存取模式,用于不支持32位存取的硬盘 等价于在sys tem.INI的[386ENH]节中设定: 32BitDiskAccess=FALSE. :M 安全模式启动,等价于使用功能键F5启动 :N 带实模式网络支持的安全模式启动,等价于使用功能键F6启动 :S 禁止Windows使用在F000:0000与1 MB之间的ROM地址空间做为断点 等价于在sys tem.INI的[386ENH]节中设定: sys temROMBreakPoint=FALSE. :V 指定启动时由ROM例程处理硬盘控制器中断 等价于在sys tem.INI的[386ENH]节中设定: VirtualHDIRQ=FALSE. :X 禁止WINDOWS使用所有高端内存(从A000-FFFF),解决内存冲突问题 等价于在sys tem.INI的[386ENH]节中设定: EMMExclude=A000-FFFF. 八、GUI启动 WIN 9X的GUI启动过程是非常复杂,更是微软公司的核心秘密,不为外人所知。而对普通用户而言,完全掌握这个复杂多变的机制也无必要,这里只对整个GUI启动机制做一个大致的说明。 1、GUI的配置文件 同所有复杂的系统一样,WIN 9X主要是根据系统配置文件调用各类程序来组合系统,保证系统正常运行的。WIN 9X的GUI系统配置文件以系统注册表为核心,以各系统目录下的INI文件为辅助配置。把握住系统配置文件,就掌握了系统的核心。 GUI系统的核心配置文件主要有5个,即:WIN.INI、sys tem.INI、sys tem.DAT、USER.DAT和POLICES.DAT。 WIN.INI和sys tem.INI据说是为WIN 3.X下的WIN 16保护模式程序保留的,WIN 3.X在这两个文件中的设置在WIN 9X中大部分已移入系统注册表中。WIN 9X下WIN 32保护模式程序主要通过系统注册表完成配置,不需要这两个文件的支持。这一做法规范了应用程序的开发和使用,消除了随意设置INI文件的混乱,便于WIN 9X统一管理系统,增加了系统的稳定性。但如果删除这两个文件,WIN 9X系统无法启动,并提示“找不到sys tem.INI文件”,这说明WIN 9X的启动还是离不开这两个文件的。 WIN.INI提供了WIN 16程序需要的字体设置、文件关联等种种信息,主要完成GUI下相应的环境配置,对WIN 9X应用没有太大影响,如果没有这个文件,WIN 9X将自动生成一个最简单的只有几行配置命令的WIN.INI。 sys tem.INI则不同,它是WIN 16的系统硬件配置文件,WIN 9X又为其增加了一些新设置,以保证WIN 16和WIN 32相互协调,使WIN 16可以调用VXD驱动程序,这一点在WIN.COM提供的系统调试参数中已有充分体现。另外GUI的外壳程序(SHELL,即界面程序)、鼠标器、显示器等驱动程序必须通过sys tem.INI设置才能加载使用,这些决定了sys tem.INI是绝对不能删除的。这充分证明了WIN 9X是一个WIN 16和WIN 32的混合系统,也揭示了WIN 9X系统先天脆弱的根本原因。 system.DAT和USER.DAT即所谓的系统注册表文件,是WIN 9X的核心文件,WINDOWS就是通过它来管理整个系统的。sys tem.DAT保存着硬件配置及软件安装信息,USER.DAT保存着与用户的个人设置有关的信息,前者只能有一个,而后者可以有多个。这两个文件共同作用,包含了系统的全部信息,在使用注册表编缉软件(如REGEDIT.EXE)时,这两个文件共同被修改,不能分开。它们的损坏将导致系统彻底瘫痪,无法挽救。不幸的是,系统注册表非常脆弱,缺乏自我整理和维护机制,当系统运行一段时间后,用户往往只能走上痛苦的系统重建之路。 在WIN 95/96/97中,注册表的备份为sys tem.DA0和USER.DA0,保存在\WINDOWS下;在WIN 98中,WIN.INI、sys tem.INI、sys tem.DAT和USER.DAT四个文件被合并备份成一个文件RB00?.CAB,保存在\WINDOWS\SY好好学习CKUP下,默认保留5个。 每次GUI启动时系统会对备份文件自动更新,这种处理缺乏安全管理机制,难以保证备份文件不受错误信息干扰,多数情况下备份文件形同虚设。 令人遗憾的是,除了手工编缉注册表软件REGEDIT.EXE,WIN 9X没有提供更有效的注册表维护工具。在WIN 98提供了注册表检测软件 ScanReg.exe和ScanRegw.exe,这是一个进步,但它只能处理注册表的物理故障,无法解决结构性问题,其可靠性又有多大呢, POLICES.DAT是微软的MSN(Microsoft Network)注册支持文件,该网络国内用户很少,该文件也很少使用。 尽管没有更直接的资料介绍,但是有充分的理由证明在WIN 9X的启动过程中,保存在\WINDOWS\INF目录下的各种INF文件是WIN 9X系统中最有力的支持文件。在启动系统的过程中,WIN 9X会适时地调用这些文件,以装载相应的驱动程序。如果没有了这些文件,WIN 9X也是无法启动的。另外,WIN 9X的PNP技术主要是通过INF文件实现驱动程序安装的。 2、GUI的启动过程 GUI的启动过程主要由三个阶段组成:WININIT.EXE阶段、16位保护模式启动和32位保护模式启动。 ?WININIT.EXE阶段WIN.COM开始运行后,首先调用\WINDOWS下的WININIT.EXE,该命令在同目录下寻找WININIT.INI,如果有则按照该文件配制对系统文件进行重新调整或升级,以保证整个系统的驱动程序能够得到及时更新。这是WINDOWS系统支持PNP技术,实现系统驱动程序升级的主要途径。这个过程自然是在DOS状态下完成的。 ?16位保护模式启动 WIN.COM开始执行后,调入\WINDOWS\system下的VMM32.VXD,VMM32.VXD将处理器置于保护模式下,根据system.INI和注册表的配置开始启动GUI系统的16位保护模式。这可以保证系统支持WIN16软件,更主要的是PNP BIOS(即插即用BIOS)规范只提供16位保护模式接口,以PNP 为硬件技术核心的WIN 9X必须通过16位模式直接获得BIOS提供的硬件设备信息来配置系统,提高系统启动性能,否则对硬件的配置必须在实模式下从头开始。 GUI的启动首先加载WIN 9X的系统驱动程序,再从PNP BIOS获得硬件设备信息,先后加载PNP设备驱动程序VXD和支持非PNP硬件所需的全部16位虚拟保护模式驱动程序VXD,分配系统资源,避免设备冲突,然后初始化所有的驱动程序(包括系统驱动程序和设备驱动程序),完成系统硬件配置。最后加载16位外壳组件USER.EXE、GUI.EXE、KRNL386.EXE等,形成WIN16的API,完成16位保护模式启动,此时,每个系统组件都已存在,但还不具使用界面。 ?32位保护模式启动 完成16位模式启动后,系统调用32位的外壳程序资源管理器,16位内核一看到这一调用,就先自动加载VWIN32.386,由它加载三个32位DLL库文件:USER32.DLL、GDI32.DLL、KERNEL32.DLL,形成WIN32的API(这是WIN 9X的核心),VWIN32.386完成这一任务后,将控制权还给16位内核,16位内核再将控制权交给32位内核,开始32位保护模式启动。这时系统加载并初始化所有32位驱动程序,这个过程与16位模式相同。 最后,运行GUI的外壳程序(该外壳程序由system.INI中的[BOOT]节中“SHELL=”设置,默认是资源管理器),完成GUI启动。 2、GUI的启动过程 GUI的启动过程主要由三个阶段组成:WININIT.EXE阶段、16位保护模式启动和32位保护模式启动。 ?WININIT.EXE阶段WIN.COM开始运行后,首先调用\WINDOWS下的WININIT.EXE,该命令在同目录下寻找WININIT.INI,如果有则按照该文件配制对系统文件进行重新调整或升级,以保证整个系统的驱动程序能够得到及时更新。这是WINDOWS系统支持PNP技术,实现系统驱动程序升级的主要途径。这个过程自然是在DOS状态下完成的。 ?16位保护模式启动 WIN.COM开始执行后,调入\WINDOWS\system下的VMM32.VXD,VMM32.VXD将处理器置于保护模式下,根据sys tem.INI和注册表的配置开始启动GUI系统的16位保护模式。这可以保证系统支持WIN16软件,更主要的是PNP BIOS(即插即用BIOS)规范只提供16位保护模式接口,以PNP为硬件技术核心的WIN 9X必须通过16位模式直接获得BIOS提供的硬件设备信息来配置系统,提高系统启动性能,否则对硬件的配置必须在实模式下从头开始。 GUI的启动首先加载WIN 9X的系统驱动程序,再从PNP BIOS获得硬件设备信息,先后加载PNP设备驱动程序VXD和支持非PNP硬件所需的全部16位虚拟保护模式驱动程序VXD,分配系统资源,避免设备冲突,然后初始化所有的驱动程序(包括系统驱动程序和设备驱动程序),完成系统硬件配置。最后加载16位外壳组件USER.EXE、GUI.EXE、KRNL386.EXE等,形成WIN16的API,完成16位保护模式启动,此时,每个系统组件都已存在,但还不具使用界面。 ?32位保护模式启动 完成16位模式启动后,系统调用32位的外壳程序资源管理器,16位内核一看到这一调用,就先自动加载VWIN32.386,由它加载三个32位DLL库文件:USER32.DLL、GDI32.DLL、KERNEL32.DLL,形成WIN32的API(这 是WIN 9X的核心),VWIN32.386完成这一任务后,将控制权还给16位内核,16位内核再将控制权交给32位内核,开始32位保护模式启动。这时系统加载并初始化所有32位驱动程序,这个过程与16位模式相同。 最后,运行GUI的外壳程序(该外壳程序由sys tem.INI中的[BOOT]节中“SHELL=”设置,默认是资源管理器),完成GUI启动。 ?IO.SYS进行必要的默认环境设置 ?自动执行WIN.COM,进入GUI启动阶段 ?执行WININIT.EXE,对系统驱动程序进行升级 ?加载sys tem.INI中[BOOT]、[386ENH]、[DEVICES]等节设置的驱动程序 ?根据sys tem.INI、WIN.INI和系统注册表进行系统组合、配置,各类启动时调用的VXD文件主要存放在C:\WINDOWS\sys tem下的VMM32和IOSUBSYS下 。 NT 的引导需要以下几个文件: Ntldr:隐藏的只读系统文件,用于加载操作系统。 Boot.ini:只读文件,用于创建启动菜单。 Bootsect.dos:隐藏的系统文件,用于在选择了非NT操作系统时加载其操作系统。 Ntdetect.com:隐藏的只读系统文件,用于检测硬件,并在注册表中创建硬件列表。 Ntbootdd.sys(SCSI only):只用于没有BIOS的SCSI卡或者该SCSI卡的BIOS屏蔽的时候引导本计算机上的SCSI卡。 Ntoskrnl.exe:NT的内核。 System:系统配置,用于控制在初始化过程中需要加载的设备和服务。 驱动程序文件:一些驱动程序文件。 Hal.dll:硬件抽象层,是驱动程序与硬件之间的接口。 NT的引导过程: ? 加电自检; ?寻找启动设备,加载主引导记录(MBR)到内存之中; ?MBR程序寻找分区引导,并加载活动分区上的引导扇区到内存; ?从引导扇区加载和初始化Ntldr; ?Ntldr读取Boot . ini文件,显示引导加载菜单; ?如选择了NT,则Ntldr运行 Ntdetect . com,否则运行Bootsect.dos,让该文件去启动他操作系统; ?Ntdetect.com检测计算机硬件,并将结果保存在注册表之中; ?加载Ntoskrnl.exe、驱动程序文件、Hal.dll、系统配置等一系列文件,引导过程结束。
/
本文档为【计算机启动过程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索