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

三、引导程序载入过程 本过程主要由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启动过程详解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.电源启动:当用户按下电源按钮,电源开始向电脑主板提供电力。
电源会检测电压是否正常,如果正常则会继续向下执行。
2. 自检(POST):电脑主板会自动进行一系列的自检操作,被称为电源自检(POST,Power-On Self-Test)。
这个过程主要检测硬件的状态和连接是否正常。
自检包括了对CPU、内存、硬盘、显卡等主要硬件的检测。
3.开机自检显示:一般情况下,主板会将自检结果通过蜂鸣器或显示屏输出。
如果有故障,主板会发出蜂鸣警报并在屏幕上显示错误信息。
如果一切正常,系统将继续启动。
4.引导加载程序(BOOTLOADER):系统启动后,主板会检测启动设备(如硬盘、光盘、U盘等)是否存在,如果有则会选择一个启动设备。
然后从启动设备的引导扇区中加载引导加载程序(BOOTLOADER)。
5. 引导加载程序的加载:引导加载程序是一个小程序,位于启动设备的引导扇区。
它的作用是加载操作系统内核和初始化系统环境。
主要有常见的GRUB和Windows的NTLDR等。
引导加载程序加载完成后,控制权将交给操作系统。
6.操作系统的加载:引导加载程序通过读取文件系统中的引导文件加载操作系统内核。
内核是操作系统的核心部分,负责协调硬件资源以及提供系统服务。
在加载内核之前,引导加载程序会加载一些必要的驱动程序和系统文件。
7.系统初始化:内核加载完成后,它会初始化系统环境。
这个过程主要包括初始化处理器、内存管理、设备驱动程序、进程管理等。
在完成初始化之后,操作系统将开始执行用户进程。
8.用户进程的启动:操作系统启动后,会根据用户设置或默认的启动配置文件来启动指定的用户进程。
用户进程包括了各种应用程序、系统服务等。
这些进程将在系统内存中分配空间,并根据需要执行相应的操作。
深入解析电脑操作系统的启动过程

深入解析电脑操作系统的启动过程电脑操作系统是一台计算机中最重要的软件系统,它负责管理和控制计算机的硬件资源,提供用户与计算机之间的接口。
计算机系统的启动过程是指从计算机通电到操作系统完全加载并准备好接受用户操作的一系列步骤。
本文将深入解析电脑操作系统的启动过程,并分为硬件启动、引导加载和操作系统初始化三个部分进行阐述。
一、硬件启动当计算机通电时,硬件设备开始自检和初始化。
自检过程主要包括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 启动的原理是通过多个阶段的过程来完成的。
这些
阶段包括硬件初始化、引导加载程序(Bootloader)的执行以
及操作系统的加载和启动。
在计算机启动时,当按下电源按钮后,电源开始供应电力,硬件开始初始化。
这包括处理器(CPU)、内存、硬盘等硬件设备的检查和初始化。
接下来,引导加载程序(Bootloader)开始执行。
引导加载程
序位于硬盘的特定扇区,它的作用是加载操作系统。
引导加载程序位于主引导记录(Master Boot Record,简称MBR)的位置,MBR位于硬盘的第一个扇区。
引导加载程序首先会确定硬盘上的分区表,并选择特定的分区作为活动分区。
然后,它会加载分区的引导扇区(Boot Sector)到内存,并跳转到引导扇区的代码。
引导扇区中的代码将加载操作系统的核心文件(例如
Windows的NTLDR)到内存中。
这些核心文件包含了操作系
统的基本功能和程序。
从核心文件开始,操作系统的加载和启动过程会继续进行。
操作系统会加载基本的系统驱动程序和关键的系统文件到内存中,并进行一些初始化工作。
然后,它会启动图形用户界面(GUI)或命令行界面(CLI),以供用户操作。
总结来说,Windows 启动的原理是通过硬件初始化、引导加载程序的执行和操作系统的加载来完成的。
这个过程经历了多个阶段,每个阶段都有各自的任务和功能,最终完成了操作系统的启动。