Windows操作系统的启动过程详解.ppt
- 格式:ppt
- 大小:245.22 KB
- 文档页数:14
WINDOWS操作系统启动过程详解基本上,操作系统的引导过程是从计算机通电自检完成之后开始进行的,而这一过程又可以细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。
预引导阶段:当我们打开计算机电源后,预引导过程就开始运行了。
在这个过程中,计算机硬件首先要完成通电自检(Power-On Self Test,POST),这一步主要会对计算机中安装的处理器、内存等硬件进行检测,如果一切正常,则会继续下面的过程。
如果计算机BIOS是支持即插即用的(基本上,现阶段能够买到的计算机和硬件都是支持这一标准的),而且所有硬件设备都已经被自动识别和配置,接下来计算机将会定位引导设备(例如第一块硬盘,设备的引导顺序可以在计算机的BIOS设置中修改),然后从引导设备中读取并运行主引导记录(Master Boot Record,MBR)。
至此,预引导阶段成功完成。
引导阶段:引导阶段又可以分为:初始化引导载入程序、操作系统选择、硬件检测、硬件配置文件选择这四个步骤。
在这一过程中需要使用的文件包括:Ntldr、Boot.ini、、Ntoskrnl.exe、Ntbootdd.sys、Bootsect.dos(非必须)。
初始化引导载入程序:在这一阶段,首先出场的是ntldr,该程序会将处理器由实模式(Real Mode)切换为32位平坦内存模式(32-bit Flat Memory Mode)。
不使用实模式的主要?因是,在实模式下,内存中的前640KB是为MS-DOS保留的,而剩余内存则会被当作扩展内存使用,这样Windows XP将无法使用全部的物理内存。
而32位平坦内存模式下就好多了,Windows XP自身将能使用计算机上安装的所有内存(其实最多也只能用2GB,这是32位操作系统的设计缺陷)。
接下来ntldr会寻找系统自带的一个微型的文件系统驱动。
大家都知道,DOS和Windows 9x操作系统是无法读写NTFS文件系统分区的,那么Windows XP的安装程序为什么可以读写NTFS分区?其实这就是微型文件系统驱动的功劳了。
WindowsXP启动过程概述从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段: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的结果。
Windows启动过程详解1.MBR 阶段(16 位实模式):BIOS 在完成通电自检后,将控制权移交给位于硬盘前63 个扇区的MBR(Master Boot Record),MBR 将自己的镜像加载到内存,然后执行对分区表的搜索,然后将控制权转移给第一个活动分区的PBR(Partition Boot Record);2.PBR 阶段(16 位实模式):PBR 是因操作系统而异的分区引导记录,它将自身加载到内存并加载基本的磁盘驱动,通过BIOS INT 中断的方式查找此分区上的引导文件,也就是我们的Bootmgr,并将其加载到内存;3.Bootmgr 阶段(16 位实模式和32 位无分页内存):读取BCD 信息,显示启动菜单,如果安装有多个版本的Windows 引导记录,能在这里选择要启动的系统,或者执行内存测试等操作,在选定操作系统后,将Windows BootLoader——Winload.exe 加载到内存;4.Winload.exe 阶段(32 位或64 位保护模式,有内存分页):加载Windows 内核Ntoskrnl.exe 和它的依赖项Kdcom.dll(Kernel Debugger),Ci.dll,Clfs.sys,Pshed.dll,HAL.dll(硬件抽象层,其实就是主板驱动),并将注册表中HKLM\SYSTEM 子键内容加载到内存,如果检测到页面文件Hiberfil.sys 则启动Winresume.exe 恢复休眠文件;5.Ntoskrnl.exe 阶段(保护模式):初始化Windows 执行体并一一加载注册在HKLM\SYSTEM\CurrentControlSet\Services 下标记为System 的系统驱动程序,运行会话管理器smss.exe,准备运行native code 所需的环境;6.Smss.exe 阶段(Native 程序):初始化环境变量和Windows 图形子系统(Win32k.sys),初始化Windows API(csrss.exe)和Windows 初始化进程(WinInit.exe)和登陆进程(WinLogon.exe);7.WinInit.exe 阶段(Windows 程序):初始化服务管理器(SCM),本地安全鉴定进程(LSASS)和本地会话管理器(LSM),初始化剩余的注册表中的启动项内容,以用户态运行启动项任务;8.Winlogon.exe 阶段:显示登陆画面,处理与用户登录相关的安全鉴定任务;9.Services.exe 阶段:完成加载在HKLM\SYSTEM\CurrentControlSet\Services 下标记为AutoStart 的驱动程序和Windows 服务;10.Explorer.exe 阶段:在创建Windows Shell(Explorer.exe)时,初始化桌面窗口管理器(DWM)进程,Explorer.exe 加载自身和相关启动项。
计算机启动过程图文详解(二)操作系统启动过程操作系统启动之前的计算机启动过程我已经在《计算机启动过程图文详解(一)----计算机初始化启动过程》一文中详细介绍过,今天就介绍一下初始化启动后的操作系统的启动过程。
我们只介绍Windows系统的启动,由于vista和windows7操作系统的启动采用了全新的方式,所以这里需要对xp和Vista(Windows7与之基本相同)分别介绍。
为了不至于导致大家看不明白,我只介绍一个大概的过程。
xp系统的启动当系统BIOS完成初始化后,会将控制权交给主引导纪录(即MBR:Master Boot Record),MBR会检查硬盘分区表,找到硬盘上的引导分区,然后将引导分区上的操作系统引导扇区调入内存,并执行其NTDLR文件。
NTDLR会将微处理器从实模式(此模式下计算机认为内存为64KB,其他未扩展内存)转换为32位的平面内存模式(此模式下认为CPU可识别的所有内存均是可用内存)。
然后,NTDLR启动mini-file system drivers以便它能够识别所有采用NTFS和FAT(FAT32)文件系统的硬盘分区。
此后NTLDR会读取boot.ini文件,以决定应该启动哪一个系统,如果boot.ini中仅显示了一个系统或者将timeout(系统选择页面停留时间)参数设为0的话,这个系统选择页面就不会出现而是直接启动默认的系统。
而如果boot.ini中含有多个启动引导项,当选择了不同的系统后计算机接下来的启动流程就会产生区别,如果选择的不是xp,NTLDR会读取bootsect.dos 来启动相应系统,如果选择了xp的话,就会接着转入硬件检测阶段。
在这个阶段,会收集计算机的硬件信息列表并将其返回到NTLDR中,以便以后将这些信息写入注册表(具体而言是HKEY_LOCAL_MACHINE 下的hardware)中。
然后会进行硬件配置选择,如果计算机含多个硬件配置,会出现配置选择页面,如果仅有一个的话,系统直接进入默认配置。
打开电源之后,开始操作系统的引导过程。
该引导过程细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。
1、预引导1.1 上电当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。
当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,这个地址实际上在系统BIOS的地址范围内,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
1.2 通电自检执行主体:BIOS-POST子程序接通微机的电源,系统将执行一个自我检查的例行程序。
这是BIOS程序的子程序,通常称为POST自检(Power On Self Test)。
完整的POST自检包括对CPU、系统主板、基本的640KB内存、1MB以上的扩展内存、系统ROM BIOS的测试;CMOS中系统配置的校验;初始化视频控制器,测试视频内存、检验视频信号和同步信号,对CRT接口进行测试;对键盘、软驱、硬盘及CD-ROM子系统作检查;对并行口(打印机)和串行口(RS232)进行检查。
自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。
1.2 定位引导设备执行主体:BIOS程序在完成POST自检后,ROM BIOS将按照系统CMOS设置中的启动顺序搜寻软硬盘驱动器及CDROM、网络服务器等有效的启动驱动器,读入操作系统主引导记录MBR,然后将系统控制权交给引导记录,由引导记录完成系统的启动。
Windows(多)操作系统启动过程一.WinPE启动原理移动硬盘PE启动原理WinPE文件组成:引导文件:NTLDR和系统文件:WinNT.XPE(WinPE.XPE)和WinPE.IS_(或WinPE.IM_),有些WinPE没有内置中文支持,所以还要WNPEFONT.BIN来支持中文。
外置程序:WinPE.INI(也可以是其它文件名,如PESOFT.INI等)和OP.WIM加载系统文件:1.NTLDR和做相关引导工作2.WinNT.XPE引向MiniPE\WinPE.IS_(=WinPE.ISO=WXPX) \SYSTEM32\加载外置程序:3.PECMD.INI(位于”WXPE\SYSTEM32”目录下)引向MiniPE\WinPE.INI4.WinPE.INI指向MiniPE\OP.WIM并为外置程序分配盘符B:然后把相关程序装入B盘注意:以上路径和文件名可按自己的习惯更改。
以上是老毛桃WinPE启动原理,但一般WinXP盘中带的WinPE没有OP.WIM文件,原因在于它已经把OP.WIM中程序解压出来了(更应该说是老毛桃把外置程序压缩到了OP.WIM中)。
制作一个简单WinPE启动盘:从网上下载一个WinXP操作系统(如电脑公司,番茄花园,雨林木风)或WinPE 系统(如老毛桃WinPE,深山红叶WinPE)后解压到移动硬盘(如H:)根目录下,在H盘中找到和SETUPLDR.BIN两个文件(这两个文件一般在AXPE文件中)后复制到H盘根目录下并将重命名为NTLDR(无后缀名),再将H盘设置为活动分区,然后重启电脑从硬盘启动就会进入WinPE,硬盘PE启动原理WinPE文件组成:Avldr, Peldr, WinPE.XPE, WNPEFONT.BIN, AXPE目录(有WINPE.IM_,SETUPLDR.BIN,NTDETECT. COM)这些文件在不同WinPE中命名有可能不同。