Windows操作系统的启动过程详解
- 格式:ppt
- 大小:144.52 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分区?其实这就是微型文件系统驱动的功劳了。
计算机启动过程讲课教师:黄小龙计算机启动过程总体分为两个过程,即硬件启动过程和操作系统启动过程。
本课中操作系统我们仅选用Windows XP 的启动过程讲解。
一、硬件启动过程⑴加电按下电源开关后,电源就开始向主板和其它设备供电,此时电压还不稳定,主板上的控制芯片组会向CPU 发出并保持一个RESET(重置)信号,让CPU 初始化。
当电源开始稳定供电后,芯片组便撤去RESET 信号(如果是按下Reset 按钮来重启,那么松开该按钮时芯片组就会撤去RESET 信号)。
然后,CPU 马上就从地址FFFF0H 处开始执行指令(这是BIOS 的起始地址),但放在这里的只是一条跳转指令,跳到系统真正的BIOS 启动代码处,由BIOS 的代码进行下一步的POST 自检。
⑵BIOS 进行postPOST就是加电自检,它是Power On Sel f Test的缩写。
它是检查一些关键设备是否存在和能否正常工作,如内存和显卡等。
如果发现错误,则通过喇叭发声来报告错误情况,此时的声音长短和次数代表了错误类型。
注:由于POST的检测过程在显示卡初始化之前,因此POST 自检过程发现的错误是无法在屏幕上显示出来的。
⑶BIOS检测硬件的各种信息BIOS进行加电自检后,就开始检测计算机上硬件设备的各种信息,如设备类型、工作频率、芯片组型号、出厂厂商等。
这阶段的硬件检测顺序是:显示卡、CPU、内存、其它标准硬件设备(如硬盘、光驱、软驱、外设等)。
⑷BIOS更新ESCD按下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。
ESCD是系统BIOS用来与操作系统交换硬件配置信息的数据,这些数据被存放在CMOS之中。
通常ESCD数据只在系统硬件配置发生改变后才会进行更新,因此不是每次启动都能看到"Update ESCD... Success"这样的信息。
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 加载自身和相关启动项。
详解Win7启动过程 BCD启动设置数据介绍详解Win7启动过程 BCD启动设置数据介绍Windows7操作系统启动过程详解,一般顺序为:BIOS→MBR→Bootmgr→BCD→Winload.exe→内核加载1)开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内);2)MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区(Bootmgr)到内存;3)Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映在屏幕上,由用户选择从哪个启动项启动。
4)选择从Windows7启动后,会加载C:\windows\system32\winload.exe,并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。
在这个过程中,bootmgr和BCD存放在Windows7的保留分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。
MBR(Master Boot Record),中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。
第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。
他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。
但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取BCD=Boot Configuration Data (启动设置数据) ,BCD是操作系统中的启动设置数据,在有vista或windows7的多重操作系统中,系统通bootmgr程序导入BCD文件完成启动菜单的引导。
计算机启动过程图文详解(二)操作系统启动过程操作系统启动之前的计算机启动过程我已经在《计算机启动过程图文详解(一)----计算机初始化启动过程》一文中详细介绍过,今天就介绍一下初始化启动后的操作系统的启动过程。
我们只介绍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.电源启动:当用户按下电源按钮,电源开始向电脑主板提供电力。
电源会检测电压是否正常,如果正常则会继续向下执行。
2. 自检(POST):电脑主板会自动进行一系列的自检操作,被称为电源自检(POST,Power-On Self-Test)。
这个过程主要检测硬件的状态和连接是否正常。
自检包括了对CPU、内存、硬盘、显卡等主要硬件的检测。
3.开机自检显示:一般情况下,主板会将自检结果通过蜂鸣器或显示屏输出。
如果有故障,主板会发出蜂鸣警报并在屏幕上显示错误信息。
如果一切正常,系统将继续启动。
4.引导加载程序(BOOTLOADER):系统启动后,主板会检测启动设备(如硬盘、光盘、U盘等)是否存在,如果有则会选择一个启动设备。
然后从启动设备的引导扇区中加载引导加载程序(BOOTLOADER)。
5. 引导加载程序的加载:引导加载程序是一个小程序,位于启动设备的引导扇区。
它的作用是加载操作系统内核和初始化系统环境。
主要有常见的GRUB和Windows的NTLDR等。
引导加载程序加载完成后,控制权将交给操作系统。
6.操作系统的加载:引导加载程序通过读取文件系统中的引导文件加载操作系统内核。
内核是操作系统的核心部分,负责协调硬件资源以及提供系统服务。
在加载内核之前,引导加载程序会加载一些必要的驱动程序和系统文件。
7.系统初始化:内核加载完成后,它会初始化系统环境。
这个过程主要包括初始化处理器、内存管理、设备驱动程序、进程管理等。
在完成初始化之后,操作系统将开始执行用户进程。
8.用户进程的启动:操作系统启动后,会根据用户设置或默认的启动配置文件来启动指定的用户进程。
用户进程包括了各种应用程序、系统服务等。
这些进程将在系统内存中分配空间,并根据需要执行相应的操作。
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)。
用户空间是操作系统为应用程序和用户提供的执行环境。
操作系统会根据系统配置和用户需求,初始化用户空间中的各个组件,比如图形界面、网络服务、文件系统等。