Windows启动过程详解

合集下载

WINDOWS操作系统启动过程详解

WINDOWS操作系统启动过程详解

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分区?其实这就是微型文件系统驱动的功劳了。

Windows操作系统的启动过程详解

Windows操作系统的启动过程详解






三、引导程序载入过程 本过程主要由ntldr 文件完成。 Ntldr从引导分区载入启动文件, 然后完成如下一些任务。 在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存 模式 对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓 的实模式(RealMode)。在实模式下CPU的某些特性不能完全 发挥,这 是因为它要保证同8位或16位的CPU(如8086、8088) 相兼容。实模式下由于系统规格的限制,无法对大容量内存进行 直接存取,而必须通过分段的方 式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。 ntldr首先会将CPU切换到32位的模式,从而确保Windows XP的 正常。在CPU的32位模式下,可以对大容量内存进行直接存取, 而彻底抛弃了原先在8位或16位下分段存取内存的不便。 启动文件系统 ntldr 中包含相应的代码,能够帮助Windows XP完成对NTFS或 FAT格式的磁盘进行读写。从而能够读取、访问和复制文件。

一、电源开启自检过程




1、在打开计算机电源时,首先开始电源启动自检过 程。从BIOS中载入必要的指令,然后进行如下一系列 的自检操作: 2、进行硬件的初始化检查,例如检查内存的容量等。 3、验证用于启动操作系统的设备是否正常, 例如,检查硬盘是否存在等。 4、从CMOS中读取系统配置信息。例如:当前计算 机硬件信息,用户设置信号(磁盘引导顺序,引导密 码等) 5、注:在完成了电源启动的自检之后,每个带有固 件的硬件设备,如显卡和磁盘控制器,都会根据需要 完成内部的自检操作。



注:(1)、对于单引导的系统来说,ntldr 会通过启动来 初始化硬件检测状态。 (2)、对于多引导系统来说,首先由用户在操作系统菜单中选择要启 动的操作系统然后而由ntldr进行相应的操作。 (3)、如果选择启动旧式的微软操作系统,如MS-DOS、Windows 9x/ME,ntldr会将从bootsect.dos文件中读取MBR代码,然后将控制 权交给bootsect.dos中的MBR。

Windows启动过程详解

Windows启动过程详解

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启动原理

windows启动原理

windows启动原理Windows的启动原理可以简单地分为两个过程:引导阶段和加载阶段。

在引导阶段,当计算机被启动时,BIOS(基本输入/输出系统)会首先运行。

BIOS的主要功能是检测和初始化硬件设备,并加载引导装载程序。

引导装载程序位于硬盘的主引导记录(Master Boot Record,MBR)或EFI系统分区的引导管理器中。

此装载程序负责确定Windows操作系统的位置并加载到内存中。

接下来是加载阶段,引导装载程序会加载Windows操作系统的核心文件(如ntoskrnl.exe)和驱动程序到内存中。

此时,系统会进入内核模式,开始执行初始化和加载操作。

Windows会加载一系列的设备驱动程序,包括硬盘控制器、显示适配器、网卡等。

同时,注册表和配置文件也会被加载。

在完成设备驱动程序和系统核心文件的加载后,Windows会加载用户配置文件和启动服务。

用户配置文件包括用户的桌面设置、壁纸、应用程序快捷方式等。

启动服务是一些在系统启动时需要自动运行的程序,例如防火墙、杀毒软件等。

这些服务和程序会在Windows启动时自动加载并运行。

最后,Windows会加载用户登录界面,等待用户输入用户名和密码。

一旦用户身份验证成功,Windows会加载用户个人设置和程序,并启动对应的用户桌面。

总结起来,Windows的启动原理主要包括引导阶段和加载阶段。

在引导阶段,引导装载程序负责加载Windows操作系统到内存中。

在加载阶段,系统会加载设备驱动程序、核心文件、用户配置文件和启动服务。

最后,Windows会加载用户登录界面并启动用户个人设置和程序。

Windows 启动过程全面接触

Windows 启动过程全面接触

Windows 启动过程全面接触一.启动文件启动过程:POST(Power On Self Test)自检,打开电源后ROMBIOS首先检测内存容量和是否异常,接着检查显卡,输入输出端口,软硬盘等.有错误通过画面或声音给出错误信息.如果硬件检测没有任何的问题,POST自检过程结束.BIOS找到启动文件送到内存中.如果找不到启动文件则出现提示信息.将启动文件复制到内存后,读取和CONFIG.SYS,AUTOEXEC.BA T文件并执行其中的命令,最后执行启动WINDOWS98,启动至此结束.下面介绍一下电脑在启动过程中读取的文件.1.IO.SYS在POST过程结束后,BIOS最先读取IO.SYS文件.在以前的DOS时代,IO.SYS负责硬件数据的输入输出控制,而在WINDOWS98中它起到MSDOS.SYS和IO.SYS的基本作用.这里还包括了DOS中和CONFIG.SYS和AUTOEXEC.BA T的作用.正因为这样在不指定CONFIG.SYS和AUTOEXEC.BA T的情况下也能以最低的环境启动.IO.SYS是用户不能随便修改的文件,在读入内存时同时读取HIMEM.SYS,IFSHLP.SYS,SETVER.EXE,DBLSPACE.BIN文件.如果想改变IO.SYS中包含的项目就要使用CONFIG.SYS和AUTOEXEC.BA T文件.下面是关于IO.SYS中的选项的说明. HIMEM.SYS: 使用高端内存(HMA:High Memory Area)的选项.使用扩展内存(Extended Memory)的65KB部分HMA,从而节约常规内存.DOS=HIGH: 由系统文件管理者(Installable File System Manager)管理.这个选项使WINDOWS可以支持32位的文件.SETVER.EXE: 一部分DOS应用程序只能在特定的版本中运行,而使用SETVER可使应用程序运行在相应的版本中,这时要求读取SETVER.EXEFILES=: WIDNOWS一次能够运行的程序个数.基本值是’60’,如果设置的太小则不能运行程序,相反设置的太大将浪费内存.LOADDRIVE=: 在WINDOWS中能够使用的驱动器名范围.最大值是’Z’,.如果想更改可在CONFIG.SYS中.设定.BUFFERS=: 用于设定读取数据的缓冲区大小.在WINODWS98中没有用,用于DOS程序基本值为’30’,如果设置的太大同样浪费内存.STACKS=: 堆栈.用于程序,基本值是’9,256’,意为使用9个256KB的堆栈.如果指定太多的堆栈则浪费内存资源,而设置的太小则出现错误信息.2.MSDOS.SYSMSDOS.SYS在DOS中是一个负责内存管理,系统读取的重要的启动文件.但是在WINDOWS98中主要用于调整启动时的选项,因为MSDOS.SYS文件可以由用户修改,因此能够实现启动时的多样设定.如果想修改MSDOS.SYS文件则先要将’只读’和’隐藏’去掉.修改以后再恢复.[PA THS]选项HostWinBootDrv=: 指定启动驱动器的路径.通常指定为’C’即可.WinBootDir=: 指定启动路径.通常为’C\WINDOWS’.WinDir=: WIDNOWS的路径.通常为’C:\WINDOWS’[OPTION]选项Autoscan=: 用于设定启动时是否检查硬盘.基本值是’1’,如果设置为’AUTOSCAN=1’则先给出提示后进行检查,如果设定为’2’则没有提示信息进行检查,设定为’0’时不进行检查. BOOTDELAY=: 用于设定出现’STARTING WINDOWS’信息后等待的时间.这是为了确保启动时利用<F8>进入选项,基本值为’2’,表示等待2秒.如果设置为’0’虽然可以提高启动速度,但有可能进入安全模式.BootGUI=: 用于设定启动时是否进入WIDNOWS环境,设置为’1’时进入WIDNOWS98环境.设定为’0’则不能使用.当然这时键入’WIN’也可进入WINDOWS98.BootGUI=: 设置是否在启动时使用功能键.设置为’1’则可以使用F5、F6、F8,设置为’0’则不能使用.当然这时’BootDelay=’功能也不能使用.BootMenu=: 在启动时显示菜单选项.基本值为’0’,这时在启动时按下F8才能看到菜单,而设置为’1’则启动时直接出现菜单.BootMenuDefault=: 选择启动时的基本项目.设置为’3’是以安全模式启动,设置为’1’则进入正常模式.BootMenuDelay=: 指定启动菜单的持续时间.基本值为’30’.BootMulti=: 利用这个选项进入以前版本的DOS.基本值为’0’,这时在启动菜单中看不见以前的DOS模式选项,设置为’1’时在菜单的最后一项可以看到.它只用于Windows95调协时,在安装了windows98之后即使设置为’1’也看到这个选项.BootWarn=: 在以安全模式启动成功时出现警告信息,基本值为’1’.DblSpace=: 读取用于磁盘压缩的dblspace.bin,基本值为’1’.DrvSpace=: 与’DblSpace=: ‘一样也是读取用于磁盘压缩的drvspace.ini文件.Logo=: 设置为’1’时出现Windows98的Logo画面,表示系统动作.无论是在DOS操作系统还是在WINDOWS操作系统中都担当着重要的作用,是在启动时必须的文件,起到解释内部和外部命令并执行的作用,中包含了一般DOS状态和CONFIG.SYS,AUTOEXEC.BA T中使用的命令.内部命令: cd, cls, copy, date, del, dir, md, ren, rd, time, type, ver, vol 等.Config.sys, autoexec.bat 命令: buffers, call, device, devicehigh, dos, fcbs, files, for, goto, lastdrive, loadhigh(LH), memucolor, memudefault, menuitem, numlock, path, prompt, rem, set, shell, stacks, submenu, switches等.4.CONFIG.SYSCONFIG.SYS文件的作用是将硬件的驱动程序读到内存中,利用CONFIG.SYS可以管理640KB常规内存的扩展内存,而且可以进行CD-ROM的设置.但是因为在WINDOWS98的环境中已经包含了这些命令,因此没有CONFIG.SYS文件也可以启动.DEVICE=C:\WINDOWS\HIMEM.SYS: 用于激活HMA扩展内存.在WINDOWS98中没有这个命令也能自动激活HMA扩展内存.DEVICE=C:\WINDOWS\SETVER.EXE: 有些DOS应用程序只能在DOS的某个版本中使用,这时可以利用这个命令’欺骗’这样的DOS程序.DEVICEHIGH=C:\CDROM\GSCDROM.SYS/D: 0000: 用于驱动CD-ROM,在WINDOWS不能正确认识CD-ROM时使用这个命令.5.AUTOEXEC.BA TAUTOEXEC.BA T文件用于设置操作系统的运行环境.使用’SET’命令可以自动设定声卡或工具软件的初始环境.SET: 志卡或一些应用程序利用AUTOEXEC.BA T的’SET’命令定制自身的运行环境.’SET TEMP=C:\TIMP’意味着将临时路径设定为C:\TEMP,其它的SET环境由硬件或应用程序自动设置.其它的如’@EchoOff’、’Prompt$p$g’、’Path=LoadHigh’与DOS状态时相差无几,因此不作详细介绍.是WINDOWS98的实际执行文件.如果在MSDOS.SYS中有’BootGUI=1’的命令,则在AUTOEXEC.BA T文件结束时自动执行文件.在启动时和启动后起到不同的作用.在启动时为了WINDOWS正常启动,读取各种环境设定文件,并在启动失败时在DOS画面中提示出错信息.而在启动后的作用也没有结束.在WINDOWS系统中不断有msgvr32.exe、kernel32.exe、注册表、win.ini、system.ini、等重要的文件互相交换信息,这时如果出现致命错误,将提示信息文件也容易突然消失,且易被病毒感染.因此在出现文件丢失时首先应进行病毒检查,再打开MSDOS.SYS文件看看[PA THS]选项的’WinBootDi=’、’WinDir=’路径设置是否正确.在开始时有几个参数选项./d是WINDOWS98在不能正常运行时使用的参数.如果要使用这个参数可以使用’win/d:x’命令.举例说,win/d:f::f:禁止32位的硬盘.在PC出现硬盘问题或windows98启动途中停止时使用这个参数.:m:以安全模式进入windows98.:s:禁止WINDOWS将ROM地址的F000:0000和1MB之间使用为中断点(break point),这个参数可在WINDOWS启动过程中停机时使用.7.WIN.INIWIN.INI是担当WINDOWS基本环境设定的文件.虽然在WINDOWS95中利用注册表进行这样的环境设定,但是一些16位的应用程序为了程序的兼容性还是将信息存在INI文件中. System.ini和win.ini都不是启动时必须的文件,但有些程序只有在win.ini中登录信息后才能使用,而且这些新修改的信息在重新启动后生效. win.ini中有数十个选项,这里只介绍其中几个选项.[Windows]选项Load=: 启动时自动运行程序.与‘Run=’的作用相同.Device=: 记录网络打印机的设定,如果不想运行,在前面加上‘;’即可.例: ;Device=HP LaserJet 4V[Desktop]选项Wallpaper=: 指定用于背景画面的BMP文件的路径.TileWallpaper=: 指定背景画面的形式.值为‘1’时平铺,’0’为居中.WallpaperStyle=: 使墙纸按照画面的大小显示.8.SYSTEM.INISystem.ini用于定制实际系统使用的设备驱动.从shell程序explorer.exe开始到鼠标驱动、键盘驱动等.当然这些信息也记录在注册表中,因此没有system.ini也能启动,但与win.ini 一样,有些16位的应用程序需要用到system.ini文件,这里也只介绍system的几个选项.[Boot]选项Shell=explorer.exe: 指定Winodws的shell程序explorer.exe如果定义错误,不能启动.[boot.description]选项: 保存Windows最初设置时的用户设定PC用途.System.drv=标准个人计算机Keyboard.typ=标准101/102键或Microsoft自然键盘.Mouse.drv=标准鼠标[Vcache]选项: 设定在Windows中使用的Cache.Minfilecache=: 最小Vcache容量.Maxfilecache=: 最大Vcache容量.Vcache选项的作用类似于DOS下smartdrv.exe的作用,可以加快数据的输入输出速度.虽然Windows能够在启动时读取Vcache并使cache开始动作,但是这可能带来内存的浪费.如果能够根据自身的系统适当的设定,不但可以合理利用内存,还可以带来速度的提升,是一件一举两得的事情.通常,16MB和32MB内存的系统可以设置为4096,以上的设置为6144.二.快速启动9阶段启动时长时间的等待是一件让人头疼的事.因此这里介绍加快启动速度的方法,如果按着阶段做的话你会不知不觉发现电脑的启动速度有了明显的改善.1阶段: CMOS BIOS硬盘参数设置CMOS BIOS中保存着CPU速度、硬盘和串并连端口等许多硬件的设定记录.在系统启动时首先读取这些信息,Windows98也以这个信息为基础运行.所以COMS BIOS的设定会带来系统启动时间的变化.举例说,在CMOS BIOS中大量地使用了’Auto’设定.这固然给CMOS BIOS的设定带来了方便,但是这样设定系统要自动设置数据的输入输出端口地址,当然要花去时间了.但是如果我们能够预选设定则可以加快系统启动速度.以AWARD BIOS 为例,启动时按<Del>进入BIOS设置.再进入’Standard CMOS Setup’,这里有关于时间、日期和软驱、硬盘的设置.如果在硬盘设置部分没有具体的容量和速度,而是显示为’Auto’,则在启动时要花去2、3秒的时间.可按<ESC>退出’Standard CMOS Setup’,再进入’IDE HDD Auto Detection’选项.通过这个选项可以自动的测定硬盘容量和速度并记录到’Standard CMOS Setup’中.测定结束后再进入’Standard CMOS Setup’可以发现在’IDE HDD Auto Detection’中测定的数据已经写入硬盘设置部分中.接下来要做的是将硬盘中没有设置的IDE端口的设置都改为’None’.当然即使CD-ROM设置在Secondary master也要设置为’None’,因为不管设置为’Auto’还是’None’, Windows98都要自动设定.显然设置为’None’可以缩短启动时寻找CD-ROM的时间.2阶段: 打开Cache,更换引导顺序进入BIOS Features Setup将下列参数如下设置:BIOS Features Setup : 设定值CPU Internal Cache : EnabledExternal Cache : EnabledQuick Power On Self Test : EnabledBoot Sequence : C, A, SCSIBoot Up Floppy Seek : Disabled打开加快CPU运行速度的内部和外部Cache,跳过在启动时自动执行的电源管理测试过程.如果使用的是没有外部Cache的如赛扬CPU则不打开’External Cache’.将引导顺序设置为’C, A, SCSI’可免去寻找软驱的过程.3阶段: 串并联端口设置在CMOS BIOS Setup的初始画面中选择’Intergrated Peripherals’.在这里设定串并联端口的输入输出地址.通常设置为’Auto’,如果想缩短启动时间可自行设定.虽然根据环境的不同端口的地址和IRQ有所不同.但一般将串联端口1指定为’3F8H/IRQ4’,串联端口2指定为’2F8H/IRQ3’.并联端口指定为’378H/IRQ7’.Onboard Serial Port1 : 3F8/IRO4Onboard Serial Port2 : 2F8/IRQ3Onboard Parallel Port : 378/IRQ74阶段: 修改config.sys才autoexec.bat.在开始菜单”运行”中键入sysedit,启动”系统配置编辑程序”,编辑config.sys和autoexec.bat文件.这里要最大的简化,对于减少数据读取时间有很大的作用.在config.sys中可以去掉所有的配置.只是在系统无法正确识别CD-ROM时在这里进行CD-ROM的设定.同样,autoexec.bat也可以进行最大的简化.只将以’set’开始的环境设定项留下,因为有的声卡在autoexec.bat中利用set命令设置环境后才能在Windows98中使用.而且’set path’命令对于在Winodws98的DOS窗口运行应用程序时非常便利.因此最好将以set开头的命令留下来. 5阶段: 将INI文件的空白部分去掉下面来修改win.ini和system.ini文件.其实即使没有这两个文件Windows98的启动也是不会受影响的.但是一部分16位和32位程序的重要数据保存在这里,因此也不能无条件的去除.只是为了提高启动速度,将win.ini和system.ini中的空白部分去掉,如下所示A变为B状态.A: NullPort=NoneDevice=HP DesignJet 230 (C4695A),HPGLRTL2,LPT1:[Desktop]Wallpaper=(无)TileWallpaper=1B: NullPort=NoneDevice=HP DesignJet 230 (C4695A),HPGLRTL2,LPT1:[Desktop]Wallpaper=(无)TileWallpaper=1WallpaperStyle=0因为系统在启动时一个字一个字地读取win.ini文件,因此减少这些空白部分可以一定程度上提高启动速度.6阶段: 修改注册表在Windows98启动时读取win.ini和system.ini文件后读取注册表文件.如果注册表文件太大的话,启动速度将大大的降低.因此可以说改变注册文件的大小可以左右启动时间.有的版本较低或稳定性上有问题的应用程序在设置和使用时有过分依赖注册表的倾向.在利用注册表保存和读取数据的过程中如果因为程序的不稳定出现DOWN机或提示’没有回应’,则注册表出现了问题.那样,机器的启动速度将变慢,甚至要重新安装操作系统.因此要努力使注册表最低化,尽可能的为它减肥.(1)删除鼠标指针将注册表中没有用的鼠标指针项删除,打开注册表编辑器进入’HKEY_CURRENT_USER\ControlPanel\Cursors\Schemes’,将不用的鼠标指针删除.(2) 删除不有的<外观方案>进入’HKEY_CURRENT_USER\Control Panel\Appearance\Schemes’,将不用的如’高对比’、雨天’等外观方案删除.(3) 将没有用的键盘输入删除在’HKEY_LOCAL_MACHIN E\System\CurrentControlSet\Control\Keyboard Layouts’中可以找到世界各国键盘输入方式,只留下中文输入和英语,将其他的项目删除.(4) 删除多余的语言设置与键盘一样,注册表中也有各国的语言设置,进入’HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Local’,只留下英语(00000409)和中文(00000804)将其余的删除.7阶段: 整理<启动>在<运行>中键入<msconfig>,点击<启动>将其中的’对勾’全部去掉,里面的内容没有太大的用处,去掉不但可以加速启动还可以节约系统资源,这里简单介绍几个.Internat.exe: 控制输入法按钮,就是那个<任务栏>上的<En>.ScanRegistry: 启动时自动检查注册表.LoadPowerProfile: 将系统的电源管理功能复制到内存中.SchedulingAgent: 控制<任务栏>中的<计划任务>.8阶段: 删除不用的程序进入<添加/删除程序>将不用的程序删除.最好不要将那些程序积攒下来一次性的删除,那些不用的程序和对系统稳定有影响的程序应及时删除.9阶段: 整理其他的项目现在到了最后的关口了.(1)删除<字体>这不用多说<字体>那家伙不但大大的减缓机器启动速度,还浪费许多的系统资源.当然,有用的字体还是要留下.(2) 简化在启动画面中的按钮过多将减慢启动速度,这是因为系统为了显示这些按钮要花去一定的时间.尽可能减少这些按钮,然后在<显示属性>→<外观>→<项目>中把<图标>设置为小于32,你会发现按钮的显示速度不知不觉加快了.(3) 去除<用户><口令>的登录过程启动速度再快也要在登录过程暂停一会儿,使用Windows自带的Tweak UI可以去除这个过程.进入WindowsCD的Tools\Reskit\Powertoy找到tweakui.inf文件,用右键点击,选择设置,设置好后进入<控制面板>可以看见Tweak UI按钮,执行它后选择Network项,点击’Log on automatically at system startup’输入用户名和口令,即可在启动时自动进行口令的输入.。

了解电脑操作系统的开机流程

了解电脑操作系统的开机流程

了解电脑操作系统的开机流程电脑操作系统被广泛应用于各个领域,已成为现代社会生活中不可或缺的一部分。

然而,了解电脑操作系统的开机流程对于许多人来说仍然是一项挑战。

在本文中,我将向大家详细介绍电脑操作系统的开机流程,以帮助读者更好地理解和应用。

一、加电启动当我们打开电脑电源时,电能开始供给给计算机的各个部件。

主板上的电源按钮通过信号传输给电源装置,引导电源以正确的方式启动。

同时,主板还会将电源信号发送给其他硬件设备,以保证它们处于待机或启动状态。

二、主板自检接下来,主板开始进行自检。

主板上的BIOS(基本输入输出系统)负责开机自检,也称为POST(Power-On Self Test)。

自检的目的是确保计算机硬件的正常工作。

在自检期间,主板会检查各个硬件组件是否齐全以及是否正常运作。

如果发现异常情况,比如内存不良或显卡故障等,主板将会发出蜂鸣声或者显示错误代码。

三、引导顺序确定在主板自检通过后,BIOS将会选择启动设备。

这些启动设备可以是硬盘、光盘、或者USB设备等。

BIOS根据事先设定好的引导顺序,按照顺序检查这些设备上是否有可用的引导程序。

一旦找到了可用的引导程序,BIOS将会将控制权交给该程序。

四、引导加载程序引导加载程序(Boot Loader)是一段小型的程序,其作用是加载操作系统内核。

一般情况下,引导加载程序存储在存储介质的引导扇区,比如硬盘的主引导记录(MBR)或EFI系统分区。

引导加载程序会将内核加载到计算机的内存中。

五、操作系统加载接下来,引导加载程序会将操作系统内核从存储介质中加载到内存中。

然后,操作系统开始初始化各个关键部件,比如文件系统、设备管理、驱动程序等。

此时,计算机已经进入操作系统的启动过程。

六、登录界面显示当操作系统完成初始化后,会显示登录界面。

在此界面上,用户需要输入有效的用户名和密码进行身份验证。

一旦验证通过,操作系统将会加载用户所需的桌面环境和其他软件应用程序。

WINOWS系统启动过程解析

WINOWS系统启动过程解析

一、概述:1)计算机启动时经过的过程:计算机接通电源后,第一步要进行加电自检,也就是POST(Power On Self Test),检查RAM、驱动器等;第二步BIOS会读取活动分区主引导记录的启动装载器;第三步启动装载器初始化完成,操作系统启动正式开始,这个过程主要又分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。

其中初始化内核阶段是一个很复杂的过程,系统需要加载很多底层硬件的驱动程序,读取注册信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。

并且实施各种用户自定义的配置,例如安全配置等。

2)各操作系统启动时使用的程序(文件):WIN98启动:,Io.sys,Msdos.sys,Drvspace.binWIN2000启动:Ntldr,boot.ini,bootsect.dos,,Ntoskrnl.exeWINXP启动:NTLDR,Boot.ini,,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选择)二、目录:1、全面解析计算机启动过程2、Windows98的启动过程3、WIN2000启动的简单过程4、Windows2000启动过程详解5、WINXP启动的简单过程6、Windows XP 启动过程详解1、全面透析计算机启动过程打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。

首先让我们来了解一些基本概念。

第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。

BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。

系统启动详细过程

系统启动详细过程

系统启动详细过程系统启动是指电脑在被打开或重启后,按照一定顺序自动执行的一系列操作。

它包括了硬件检测、引导加载程序的加载、操作系统的启动和一些其他的初始化过程。

下面将详细介绍系统启动的过程。

1.电源启动:当用户按下电源按钮,电源开始向电脑主板提供电力。

电源会检测电压是否正常,如果正常则会继续向下执行。

2. 自检(POST):电脑主板会自动进行一系列的自检操作,被称为电源自检(POST,Power-On Self-Test)。

这个过程主要检测硬件的状态和连接是否正常。

自检包括了对CPU、内存、硬盘、显卡等主要硬件的检测。

3.开机自检显示:一般情况下,主板会将自检结果通过蜂鸣器或显示屏输出。

如果有故障,主板会发出蜂鸣警报并在屏幕上显示错误信息。

如果一切正常,系统将继续启动。

4.引导加载程序(BOOTLOADER):系统启动后,主板会检测启动设备(如硬盘、光盘、U盘等)是否存在,如果有则会选择一个启动设备。

然后从启动设备的引导扇区中加载引导加载程序(BOOTLOADER)。

5. 引导加载程序的加载:引导加载程序是一个小程序,位于启动设备的引导扇区。

它的作用是加载操作系统内核和初始化系统环境。

主要有常见的GRUB和Windows的NTLDR等。

引导加载程序加载完成后,控制权将交给操作系统。

6.操作系统的加载:引导加载程序通过读取文件系统中的引导文件加载操作系统内核。

内核是操作系统的核心部分,负责协调硬件资源以及提供系统服务。

在加载内核之前,引导加载程序会加载一些必要的驱动程序和系统文件。

7.系统初始化:内核加载完成后,它会初始化系统环境。

这个过程主要包括初始化处理器、内存管理、设备驱动程序、进程管理等。

在完成初始化之后,操作系统将开始执行用户进程。

8.用户进程的启动:操作系统启动后,会根据用户设置或默认的启动配置文件来启动指定的用户进程。

用户进程包括了各种应用程序、系统服务等。

这些进程将在系统内存中分配空间,并根据需要执行相应的操作。

Windows的启动过程详解

Windows的启动过程详解

Windows的启动过程详解1.启动自检阶段这个阶段主要是读取BIOS ,然后内存,CPU,硬盘,键盘等设备进行自检。

这个阶段在屏幕上显示就是自检的那些打印信息。

屏幕显示:自检的打印信息2.初始化启动阶段这个阶段根据BIOS 指定的启动顺序,找到可以启动的优先启动设备,比如本地磁盘,CD Driver ,USB 设备等等,然后准备从这些设备启动系统。

屏幕显示:黑屏3.Boot 加载阶段这个阶段首先从启动分区(比如C 盘) 加载Ntldr ,然后Ntldr 做如下设置:(1).内置内存模式,如果是x86 的处理器,并且操作系统是32位,则设置为32-bit flat memory mode,如果是64 位操作系统+ 64位处理器,则设置为64位内存模式。

(2).启动文件系统(3).读取boot.ini 文件屏幕显示:黑屏,如果按F8或者多系统时会显示启动选项菜单。

检测和配置硬件阶段这个阶段检查和配置一些硬件设备,它们分别是:—系统固件,比如时间和日期—总线和适配器—显示适配器—键盘—通讯端口—磁盘—软盘—输入设备(如鼠标)—并口—在ISA总线上运行的设备屏幕显示:黑屏4.内核加载阶段在内核加载阶段,Ntldr 将首先加载Windows内核Ntoskrnl.exe 和硬件抽象层(HAL). HAL 有点类似于嵌入式操作系统下的BSP (Borad support package),这个抽象层对硬件底层的特性进行隔离,对操作系统提供统一的调用接口,操作系统移植到不同硬件时只要改变相应的HAL 就可以,其它的内核组件不需要修改,这个是操作系统通常的设计模式。

接下来Ntldr 从HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet 下读取这台机器安装的驱动程序,然后依次加载驱动程序。

驱动程序加载完成后,Windows做如下设置:(1). 创建系统环境变量(2). 启动win32.sys ,这个是Windows子系统的内核模式部分。

深入解析电脑操作系统的启动过程

深入解析电脑操作系统的启动过程

深入解析电脑操作系统的启动过程电脑操作系统是一台计算机中最重要的软件系统,它负责管理和控制计算机的硬件资源,提供用户与计算机之间的接口。

计算机系统的启动过程是指从计算机通电到操作系统完全加载并准备好接受用户操作的一系列步骤。

本文将深入解析电脑操作系统的启动过程,并分为硬件启动、引导加载和操作系统初始化三个部分进行阐述。

一、硬件启动当计算机通电时,硬件设备开始自检和初始化。

自检过程主要包括CPU、内存、硬盘等硬件设备是否正常工作,以及与外部设备的连接是否良好等。

通过自检,计算机系统能够确保硬件设备的正常运行状态。

接着,计算机会加载BIOS(Basic Input/Output System,基本输入输出系统),BIOS是计算机系统的基本固件,负责将计算机硬件连接到操作系统。

在计算机通电后,BIOS会读取存储在CMOS中的设置信息,包括硬件设备的参数、启动顺序等。

根据这些设置,BIOS会选择相应的设备作为引导设备,用于加载操作系统。

二、引导加载计算机开始引导加载操作系统。

根据BIOS中的设置,计算机会首先寻找引导设备上的引导代码。

在实际操作中,通常是从硬盘的主引导记录(Master Boot Record,MBR)中加载引导代码。

MBR是硬盘上的一个特殊扇区,它包含了引导代码和硬盘分区表。

当计算机找到MBR后,会将其中的引导代码加载到内存中,并执行该代码。

引导代码通常被称为引导加载程序(Bootloader),它的功能是加载操作系统的核心部分。

引导加载程序根据操作系统所在的文件系统类型以及文件路径,找到操作系统文件的位置,并将其加载到内存中。

不同的操作系统可能有不同的引导加载程序,如Windows系统的NTLDR(New Technology Loader)、GRUB(GNU GRand Unified Bootloader)等。

引导加载程序的主要任务是将控制权交给操作系统内核。

三、操作系统初始化操作系统内核被加载到内存后,计算机开始进行操作系统的初始化工作。

操作系统的启动过程

操作系统的启动过程

操作系统的启动过程操作系统(Operating System,简称OS)是计算机系统中最基本的软件之一,它负责管理和控制计算机的硬件和软件资源,为用户和应用程序提供丰富的功能和良好的用户体验。

在计算机启动时,操作系统也需要经历一系列的启动过程,以确保系统能够正常运行。

下面将详细介绍操作系统的启动过程。

一、引导阶段(Bootstrapping Stage)在计算机加电启动后,首先会由计算机的固化ROM(Read-Only Memory)中的引导程序开始执行。

这个引导程序位于计算机的主板上,负责启动操作系统。

引导程序首先会检测计算机中是否有可引导的设备,比如硬盘、光盘、USB等。

一旦发现可引导设备,引导程序就会将该设备中特定的引导扇区(Boot Sector)加载到计算机的内存中。

二、引导扇区的执行当引导扇区被加载到内存后,计算机的控制权交给了引导扇区中的代码。

引导扇区中的代码被称为引导加载程序(Boot Loader),它是一段特殊的机器指令,负责进一步加载操作系统的核心部分。

三、操作系统核心加载引导加载程序会根据预先设定的规则和算法,搜索计算机硬件设备,找到存放操作系统的特定分区或文件。

然后,它将操作系统的核心部分一次性地加载到计算机的内存中。

操作系统核心通常被保存为一个或多个可执行文件,也被称为内核(Kernel)。

四、内核初始化当操作系统核心被加载到内存后,内核开始执行,并进入初始化阶段。

在这个阶段,内核会对计算机的硬件进行自检和初始化,包括对处理器、内存、设备等的初始化操作。

内核还会为各个子系统和模块分配和初始化资源,准备操作系统运行时所需要的环境。

五、用户空间初始化在内核初始化完成后,操作系统会创建一个或多个用户空间(User Space)。

用户空间是操作系统为应用程序和用户提供的执行环境。

操作系统会根据系统配置和用户需求,初始化用户空间中的各个组件,比如图形界面、网络服务、文件系统等。

Windows各操作系统启动过程

Windows各操作系统启动过程

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的结果。

windows启动过程

windows启动过程

打开电源之后,开始操作系统的引导过程。

该引导过程细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。

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操作系统的启动过程详解

最新Windows操作系统的启动过程详解
将这些信息安全地传送给LSA以进行认证处理。如果用户提供的 信息是正确的,能够通过认证,就允许用户对系统进行访问。 ❖ 要注意的是,如果您的计算机中,只有Administrator这一个用户, 那么在欢迎屏幕中就会显示Administrator 用户项。 如果您的计 算机中不仅有Administrator用户,还有别的可以交互登录的用户, 那么欢迎屏幕中就只显示出Administrator之外的用户, 而不显示 Administrator用户。 ❖ 直接在欢迎屏幕中按下两次Crtl+Alt+Del组合键,即可打开标准 的登录窗口,可以再输入Administrator 的用户名和密码,以便用 最高管理员的身份登录。
❖ 在处理完boot.ini文件四之、后检,测ntld和r会配启置动硬ntd件et过ec程程序。在基于X86
的系统中,会通过 调用系统固件程序收集安装的硬件信息, 然后由将这些信息传递送回ntldr。Ntldr获取从 发来的信 息后,将这些信息组织成为内部的断气结构形式, 然后由ntldr 启动ntoskrnl.exe ,并将这些信息发送给它。 会收集如下类型的硬件信息: ❖ 1、系统固件信息,例如时间和日期等 ❖ 2、总线适配器的类型 ❖ 3、显卡适配器的类型 ❖ 4、键盘 ❖ 5、通信端口 ❖ 6、磁盘 ❖ 7、软盘 ❖ 8、输入设备,例如鼠标 ❖ 9、并口 ❖ 10、安装在ISA槽中的ISA设备 ❖ 11、完成信息的检测之后,Windows XP会在屏幕上显示那个著名的 Windows XP商标,并显示一个滚动的,告诉用户Windows 的启动进程。
Windows操作系统的启动过程 详解
Windows 启动原理
❖ Windows XP是基于NT技术的操作系统,它的启 动过程同Windows NT和Windows 2000基本相同

Windows操作系统启动步骤

Windows操作系统启动步骤

Windows操作系统启动步骤Windows操作系统是全球最广泛使用的操作系统之一,它具备用户友好的界面和强大的功能,广泛应用于个人电脑和服务器。

那么,当我们打开电脑时,Windows操作系统是如何启动的呢?本文将详细介绍Windows操作系统的启动步骤,让我们一起来了解吧。

1. 加电和硬件自检电脑启动的第一步是加电,当我们按下电源按钮时,电源供应开始为电脑提供电能。

接下来,计算机主板上的自启动固件(BIOS或UEFI)接管控制,开始进行硬件的自检(POST)。

这个过程检测计算机硬件是否正常工作,并在检测完成后,将控制权交给操作系统。

2. 主引导记录(MBR)和启动加载程序(boot loader)在硬件自检完成后,控制权被传递给硬盘上的主引导记录(MBR)。

MBR是硬盘分区表的第一个扇区,其中包含了一个小型的启动加载程序(boot loader),它负责加载操作系统。

启动加载程序(如Windows Boot Manager)会从硬盘的特定位置读取操作系统的启动文件。

3. 操作系统的启动文件启动加载程序在读取操作系统的启动文件(如NTLDR或BOOTMGR)后,将控制权转移到操作系统内核。

这些启动文件包含操作系统的核心组件,负责初始化操作系统并加载必要的设备驱动程序。

4. 内核初始化操作系统内核接管控制后,会进行一系列的初始化工作。

首先,它会加载基本的驱动程序,以确保计算机硬件的正常运行。

接下来,操作系统会初始化系统进程,并创建用于用户交互的图形界面(如Windows桌面)。

5. 用户登录当操作系统准备就绪后,用户可以通过输入用户名和密码进行登录。

操作系统会验证用户的身份并加载用户配置文件,以便为用户提供个性化的工作环境和设置。

6. 启动应用程序和服务一旦用户成功登录,操作系统会启动用户在登录前设置的自启动应用程序和系统服务。

这些程序和服务可以提供各种功能,如防病毒软件、网络连接、多媒体播放器等。

Windows启动顺序详解

Windows启动顺序详解

Windows启动顺序详解Windows的启动过程包括以下几个阶段:启动自检阶段这个阶段主要是读取BIOS,然后内存、CPU、硬盘、键盘等设备进行自检。

这个阶段在屏幕上显示就是自检的那些打印信息。

屏幕显示:自检的打印信息初始化启动阶段这个阶段根据BIOS指定的启动顺序,找到可以启动的优先启动设备,比如本地磁盘,CD Driver,USB设备等等,然后准备从这些设备启动系统。

屏幕显示:黑屏Boot加载阶段这个阶段首先从启动分区(比如C盘)加载Ntldr,然后Ntldr做如下设置:设置内存模式,如果是x86的处理器,并且操作系统是32位,刚设置为32-bit flat memory mode,如果是64位操作系统+64位处理器,则设置为64位内存模式。

启动文件系统读取boot.ini文件屏幕显示:黑屏,如果按F8或者多系统时会显示启动选项菜单。

检测和配置硬件阶段这个阶段检查和配置一些硬件设备,它们分别是:系统固件,比如时间和日期总线和适配器显示适配器键盘通讯端口磁盘软盘输入设备(如鼠标)并口在ISA总线上运行的设备屏幕显示:黑屏内核加载阶段在内核加载阶段,Ntldr将首先加载Windows内核Ntoskrnl.exe和硬件抽象层(HAL)。

HAL有点类似于嵌入式操作系统下的BSP(Borad support package),这个抽象层对硬件底层的特性进行隔离,对操作系统提供统一的调用接口,操作系统移植到不同硬件时只要改变相应的HAL就可以,其他内核组件不需要修改,这个是操作系统通常的设计模式。

接下来Ntldr从HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet下读取这台机器安装的驱动程序,然后依次加载驱动程序。

驱动程序加载完成后,Windows做如下设置:1、创建系统环境变量2、启动win32.sys,这个是Windows子系统的内核模式部分3、启动csrss.exe,这个是Windows子系统的用户模式部分4、启动winlogon.exe5、创建虚拟内存页面文件6、对一些必要的文件进行改名(主要是驱动文件,如果更新后,需要在下次重启前改名)屏幕显示:显示Windows Logo界面和进度条登录阶段这个阶段会做如下几件事:1、启动机器上安装的所有需要自动启动的Windows服务2、启动本地安全认证Lsass.exe3、显示登录界面屏幕显示:显示登录界面。

Windows(多)操作系统启动过程

Windows(多)操作系统启动过程

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中命名有可能不同。

Windows操作系统的启动过程详解

Windows操作系统的启动过程详解

二、初始化启动过程
在完成了电源启动自检过程之后,存储在CMOS中的设置,例如磁盘的 引导顺序等,能够决定由哪些设备来引导计算机。例如,可以设置磁盘的引导 顺序为首先通过A盘引导,其次才通过C盘引导,则系统会首先尝试用A盘引 导系统,如果A盘存在并可引导,则通过A盘引导。如果A盘不存在,则通过C 盘引导 系统。如果A盘存在,但不是引导盘,则系统地提示系统不可引导。 一般来说通常会使用硬盘引导。在进行硬盘引导时,启动过程通常按照如 下的步骤进行: 1、系统首先检测打开硬盘电源。 2、若该硬盘是启动盘,BIOS就将主引导记录(Main Boot Record――MBR) 中的引导代码载入内存。 3、接着,BIOS会将启动过程的运行交给MBR来进行。 4、计算机搜索MBR中的分区表,找出活动分区(Active Partition)。 5、计算机将活动分区的第一个扇区中的引导代码载入到内存。 6、引导代码检测当前使用的文件系统是否可用。 7、引导代码查找ntldr文件,找到之后启动它。 8、BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动。 注意:这里简单介绍一下MBR的概念。MBR位于启动磁盘的第一个扇区,其 中主要包含引导代码(Boot Code)和分区表(Partition Table)数据。引导 代码主要用于引导系统。而分区表则主要用于标识基本分区和扩展分区。



Байду номын сангаас


三、引导程序载入过程 本过程主要由ntldr 文件完成。 Ntldr从引导分区载入启动文件, 然后完成如下一些任务。 在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存 模式 对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓 的实模式(RealMode)。在实模式下CPU的某些特性不能完全 发挥,这 是因为它要保证同8位或16位的CPU(如8086、8088) 相兼容。实模式下由于系统规格的限制,无法对大容量内存进行 直接存取,而必须通过分段的方 式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。 ntldr首先会将CPU切换到32位的模式,从而确保Windows XP的 正常。在CPU的32位模式下,可以对大容量内存进行直接存取, 而彻底抛弃了原先在8位或16位下分段存取内存的不便。 启动文件系统 ntldr 中包含相应的代码,能够帮助Windows XP完成对NTFS或 FAT格式的磁盘进行读写。从而能够读取、访问和复制文件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows启动过程详解我们每天都在和Windows打交道,很多人可能每天都要面对多次W indows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。

本文的适用范围随着技术的发展,我们能够见到的计算机硬件种类越来越多。

以计算机上最重要的组件CPU来说,目前就有很多选择。

当然,这里的选择并不是说AMD或者Intel这种产品品牌,而是指其内部的体系结构。

目前常见的CPU体系结构主要基于复杂指令集(Complex I nstruction Set Computing,CISC)或者精简指令集(Reduced Ins truction Set Computing,RISC),我们常用的Intel的Pentium、C eleron系列以及AMD的Athlon、Sempron系列都是基于复杂指令集的,而这些基于复杂指令集的CPU还有32位和64位的寄存器数据带宽区别。

关于这些指令集以及寄存器数据带宽之间的区别等内容比较繁杂,而且不是本文的重点,感兴趣的朋友可以自己在网上搜索相关内容。

因为CPU种类的不同,在不同CPU的系统中运行的Wind ows的启动过程也有一些小的不同。

本文将会以目前来说最普遍的,在x86架构的系统上安装的32位Windows XP Professional为例向您介绍。

基本上,操作系统的引导过程是从计算机通电自检完成之后开始进行的,而这一过程又可以细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。

在继续阅读之前,首先请注意图1,这是Windows XP的操作系统结构,其中包括了一些在后台工作的组件以及经常和我们打交道的程序。

在了解Windows XP的启动过程之前,对系统结构有一个初步概念是很重要的。

预引导阶段当我们打开计算机电源后,预引导过程就开始运行了。

在这个过程中,计算机硬件首先要完成通电自检(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 Mo de)。

不使用实模式的主要原因是,在实模式下,内存中的前640 K B是为MS-DOS保留的,而剩余内存则会被当作扩展内存使用,这样Windows XP将无法使用全部的物理内存。

而32位平坦内存模式下就好多了,Windows XP自身将能使用计算机上安装的所有内存(其实最多也只能用2 GB,这是32位操作系统的设计缺陷。

关于大内存的问题因为和本文的内容关系不大,因此这里不表,日后有机会再单独撰文介绍)。

接下来ntldr会寻找系统自带的一个微型的文件系统驱动。

大家都知道,DOS和Windows 9x操作系统是无法读写NTFS文件系统的分区的,那么Windows XP的安装程序为什么可以读写NTFS分区?其实这就是微型文件系统驱动的功劳了。

只有在载入了这个驱动之后,ntldr才能找到您硬盘上被格式化为NTFS或者FAT/FAT32文件系统的分区。

如果这个驱动损坏了,就算您的硬盘上已经有分区,ntld r也认不出来的。

读取了文件系统驱动,并成功找到硬盘上的分区后,引导载入程序的初始化过程就已经完成了,随后我们将会进行到下一步。

操作系统选择这一步并非必须的,只有在您计算机中安装了多个Windows操作系统的时候才会出现。

不过无论您的计算机中安装了几个Window s,计算机启动的过程中,这一步都会按照设计运行一遍,只有在确实安装了多个系统的时候,系统才会显示一个列表,让您选择想要引导的系统。

但如果您只有一个系统,那么引导程序在判断完之后会直接进入到下一阶段。

如果您已经安装了多个Windows操作系统(泛指Windows 2000 /XP/2003这类较新的系统,不包括Windows 9x系统),那么所有的记录都会被保存在系统盘根目录下一个名为boot.ini的文件中。

ntldr 程序在完成了初始化工作之后就会从硬盘上读取boot.ini文件,并根据其中的内容判断计算机上安装了几个Windows,它们分别安装在第几块硬盘的第几个分区上。

如果只安装了一个,那么就直接跳过这一步。

但如果安装了多个,那么ntldr就会根据文件中的记录显示一个操作系统选择列表,并默认持续30秒。

只要您做出选择,ntldr就会自动开始装载被选择的系统。

如果您没有选择,那么30秒后,ntldr 会开始载入默认的操作系统。

至此操作系统选择这一步已经成功完成。

小知识:系统盘(System Volume)和引导盘(Boot Volume)有什么区别?这是两个很容易被人搞混的概念,因为根据微软对这两个名词的定义,很容易令人产生误解。

根据微软的定义,系统盘是指保存了用于引导Windows的文件(根据前面的介绍,我们已经清楚,这些文件是指ntldr、boot.ini等)的硬盘分区/卷;而引导盘是指保存了Wind ows系统文件的硬盘分区/卷。

如果只有一个操作系统的话,我们通常会将其安装在第一个物理硬盘的第一个主分区(通常被识别为C 盘)上,那么系统盘和引导盘属于同一个分区。

但是,如果您将您的Windows安装到了其他分区中,例如D盘中,那么系统盘仍然是您的C盘(因为尽管Windows被安装到了其他盘,但是引导系统所用的文件还是会保存在C盘的根目录下),但您的引导盘将会变成是D 盘。

很奇怪的规定,保存了引导系统所需文件的分区被叫做“系统盘”,反而保存了操作系统文件的分区被叫做“引导盘”,正好颠倒了。

不过微软就是这样规定的。

硬件检测这一过程中主要需要用到和Ntldr。

当我们在前面的操作系统选择阶段选择了想要载入的Windows系统之后,Ntdetec 首先要将当前计算机中安装的所有硬件信息收集起来,并列成一个表,接着将该表交给Ntldr(这个表的信息稍后会被用来创建注册表中有关硬件的键)。

这里需要被收集信息的硬件类型包括:总线/适配器类型、显卡、通讯端口、串口、浮点运算器(CPU)、可移动存储器、键盘、指示装置(鼠标)。

至此,硬件检测操作已经成功完成。

配置文件选择这一步也不是必须的。

只有在计算机(常用于笔记本电脑)中创建了多个硬件配置文件的时候才需要处理这一步。

小知识:什么是硬件配置文件?为什么要用它?这个功能比较适合笔记本电脑用户。

如果您有一台笔记本电脑,主要在办公室和家里使用,在办公室的时候您可能会使用网卡将其接入公司的局域网,公司使用了DHCP服务器为客户端指派IP地址;但是回到家之后,没有了DHCP服务器,启动系统的时候系统将会用很长时间寻找那个不存在的DHCP服务器,这将延长系统的启动时间。

在这种情况下就可以分别在办公室和家里使用不同的硬件配置文件了,我们可以通过硬件配置文件决定在某个配置文件中使用哪些硬件,不使用哪些硬件。

例如前面列举的例子,我们可以为笔记本电脑在家里和办公室分别创建独立的配置文件,而家庭用的配置文件中会将网卡禁用。

这样,回家后使用家用的配置文件,系统启动的时候会直接禁用网卡,也就避免了寻找不存在的DHCP服务器延长系统启动时间。

如果Ntldr检测到系统中创建了多个硬件配置文件,那么它就会在这时候将所有可用的配置文件列表显示出来,供用户选择。

这里其实和操作系统的选择类似,不管系统中有没有创建多个配置文件,Nt ldr都会进行这一步操作,不过只有在确实检测到多个硬件配置文件的时候才会显示文件列表。

载入内核阶段在这一阶段,Ntldr会载入Windows XP的内核文件:Ntoskrnl.ex e,但这里仅仅是载入,内核此时还不会被初始化。

随后被载入的是硬件抽象层(hal.dll)。

硬件抽象层其实是内存中运行的一个程序,这个程序在Window s XP内核和物理硬件之间起到了桥梁的作用。

正常情况下,操作系统和应用程序无法直接与物理硬件打交道,只有Windows内核和少量内核模式的系统服务可以直接与硬件交互。

而其他大部分系统服务以及应用程序,如果想要和硬件交互,就必须透过硬件抽象层进行。

小知识:为什么要使用硬件抽象层硬件抽象层的使用主要有两个原因:1,忽略无效甚至错误的硬件调用。

如果没有硬件抽象层,那么硬件上发生的所有调用甚至错误都将会反馈给操作系统,这可能会导致系统不稳定。

而硬件抽象层就像工作在物理硬件和操作系统内核之间的一个过滤器,可以将认为会对操作系统产生危害的调用和错误全部过滤掉,这样直接提高了系统的稳定性;2,多平台之间的转换翻译。

这个原因可以列举一个形象的例子,假设每个物理硬件都使用不同的语言,而每个操作系统组件或者应用程序则使用了同样的语言,那么不同物理硬件和系统之间的交流将会是混乱而且很没有效率的。

如果有了硬件抽象层,等于给软硬件之间安排了一位翻译,这位翻译懂所有硬件的语言,并会将硬件说的话用系统或者软件能够理解的语言原意转达给操作系统和软件。

通过这个机制,操作系统对硬件的支持可以得到极大的提高。

硬件抽象层被载入后,接下来要被内核载入的是HKEY_LOCAL_M ACHINE\System注册表键。

Ntldr会根据载入的Select键的内容判断接下来需要载入哪个Control Set注册表键(图2),而这些键会决定随后系统将载入哪些设备驱动或者启动哪些服务。

这些注册表键的内容被载入后,系统将进入初始化内核阶段,这时候ntldr会将系统的控制权交给操作系统内核。

初始化内核阶段当进入到这一阶段的时候,计算机屏幕上就会显示Windows XP 的标志了,同时还会显示一条滚动的进度条,这个进度条可能会滚动若干圈(图3)。

从这一步开始我们才能从屏幕上队系统的启动有一个直观的印象。

相关文档
最新文档