WINXP启动的简单过程

0
回复
350
查看
[复制链接]
发表于 2013-12-31 23:58:25 | 显示全部楼层 |阅读模式
打开电源,ROM BIOS先检测内存是否异常,接着是显卡,输入输出端口,软硬盘等,如果没有问题POST自检结束,开始寻找启动文件把它送到内存,读取Io.sys,command.com,msdos.sys,config.sys.autoexec.bat,等等文件并装载其中的命令,最后读WIN.COM启动windows,启动结束.IO.SYS是最先读取的系统文件,他和command.com,msdos.sys组成了最基本的系统,这个文件一般是不能直接修改的,我也就是在以前用WIN98β3版时,由于使用日期过期了,才用pctools改了一下,以便继续使用至可以搞到正式版的win98。在读取io.sys的同时读取himem.sys,ifship,setver.exe,dbispace.bin文件,一般用户可以通过cinfig.sys,autoexec.bat里的命令来修改io.sys里的项目,关于这两个文件的里关于命令大部分于说过了。MSDOS.SYS在DOS中是负责内存管理,系统读取的启动文件,在windows中主要用于启动时调整启动的选项这个文件修改很容易,举部分例子如下:
[paths]
HOSTWinBootDRV=C:启动驱动器的路径
WinBootDir=C:wondows启动路径
WINDIR=C:wondows 装载操作系统的路径

[OPTION]
AUTOSCAN="" 用于设定启动时是否检查硬盘(上次有人发帖有开机老是系统扫描的可能就是这儿有问题)
设为1,有提示扫描,设为2,无提示直接扫描,设为0不扫描。
BOOTDELAY=““设置启动时等待按F8的时间,一般为2(秒),设为0就可能调不出启动选项的菜单。
BOOTGUI=1 设置为1时进入图形界面,设为0时进字符界面,可以通过输入
WIN.COM进入图形界面。
其他的选项还有很多,就不多说了。
COMMAND.COM内部命令和一些特殊命令的解释程序
CONFIG.SYS,autoexec.bat,win.com.system.ini.win.ini就不一一解释了

Windows XP 启动过程详述

从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:

  1. 预引导(Pre-Boot)阶段;
  2. 引导阶段;
  3. 加载内核阶段;
  4. 初始化内核阶段;
  5. 登陆。
  每个启动阶段的详细介绍
  a) 预引导阶段
在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存
以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot
Record)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。

  b) 引导阶段
  Windows XP Professional引导阶段包含4个小的阶段。
  首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。

  接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。(至于操作系统选单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一。)

  在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" /fastdetect
  multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows
2000 Professional"
  .
其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信息。)如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,操作系统选择阶段结束,硬件检测阶段开始。

  在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。

  硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载Windows XP专业版。
引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。

c) 加载内核阶段
  在加载内核阶段,ntldr加载称为Windows XP内核的ntokrnl.exe。系统加载了Windows XP内核但是没有将它初始化。接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载HKEY_LOCAL_MACHINEsystem键,NTLDR读取select键来决定哪一个Control Set将被加载。控制集中包含设备的驱动程序以及需要加载的服务。NTLDR加载HKEY_LOCAL_MACHINEsystemservice...下start键值为0的最底层设备驱动。当作为Control Set的镜像的Current Control Set被加载时,ntldr传递控制给内核,初始化内核阶段就开始了。

  d) 初始化内核阶段
在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:
? 内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINEHARDWARE键。
  ? 内核通过引用HKEY_LOCAL_MACHINEsystemCurrent的默认值复制Control Set来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改。
  ? 系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINEsystemCurrentControlSetservice...下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,如果使用LastKnownGood Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行
? Session Manager启动了Windows XP高级子系统以及服务,Session Manager启动控制所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕。

e) 登陆
  ? Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。
  ?提示输入有效的用户名或密码。
?Service Controller最后执行以及扫描HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServives来检查是否还有服务需要加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载。

  只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功引导了。

总结:
WIN98启动:Command.com,Io.sys,Msdos.sys,Drvspace.bin
WIN2000启动:Ntldr,boot.ini,bootsect.dos,Ntdetect.com,Ntoskrnl.exe
WINXP启动:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)
删除系统顽固文件的十二招技巧
相信大家都遇到过要删除某个文件时,提示“该文件正被别的进程使用,不能删除”的情况,通常的方法是关闭使用该文件的程序或在任务管理器中杀死相关进程后,删除。可如果这样也不能删除呢?这时,你可以试试下面的方法,相信其中至少有一个办法能解除您的烦恼:
  1、注销或重启后,再删;
  2、进入安全模式或用启动软盘(光盘)启动进入纯DOS,删除;www.jiayindn.cn
  3、如果是删除文件夹,从里往外删,即先进入该文件夹,删除里面所有内容,然后再返回上一层目录,删除该文件夹;
  4、用Windows优化大师等的文件粉碎机删除;
  5、Win2000/XP系统以管理员身份登录,再执行删除操作;
  6、如果系统是WinXP,关闭系统还原,再删;
  7、对于大文件,特别是压缩包文件,关闭杀毒软件的实时监控后,再删;
  8、注销掉预读功能再删,方法:开始→运行,输入regsvr32 /u shmedia.dll,确定。重启后再删。完了再运行一下regsvr32 shmedia.dll,恢复注册;
  9、用WinRAR删除,打开WinRAR,点“添加”,选中要删除的文件,在“设置”下点选“压缩后删除源文件”,压缩完成后把压缩文件也删除。
  10、先对该文件所在分区进行磁盘扫描,扫描前选中“自动修复文件和扇区”,完成后再删;
  11、打开命令提示符窗口,然后再打开任务管理器,结束“Explorer.exe”进程,在命令提示符窗口进入该文件所在目录,用Del命令删除,完了在任务管理器中点“文件”→新建任务→浏览→找着C:WINDOWSExplorer.exe,点“确定”即可;
关注官方微信

微信号:大白网

微博:大白网

QQ1群:4731622

QQ2群:4731622

全国服务热线:

QQ24485416

(工作日:周一至周五 9:00-16:00)
大理市
www@dali8.net

手机版-小黑屋- 大理白族|大理乡村旅游网|大理网|大理论坛|白族网|大理旅游网|大理信息网|大理生活网

技术支持:挖主机网络 Powered by大白网© 2006-2025 dalibaizu.com  滇ICP备19004088号 滇公网安备 53290102000530号