导航:首页 > 科技大全 > windows操作系统启动流程

windows操作系统启动流程

发布时间:2022-09-23 20:42:05

A. 简述在一台没有系统的笔记本电脑上安装windows操作系统流程

准备工具:能上网的电脑一台 u盘1个

1.在另一台能正常上网的电脑上下载U启动软件并安装,按提示插入U盘,制作U启动盘。
2.下载系统镜像文件,扩展名为.gho或者.iso。例如:win7.gho 或win7.iso、win10.gho等。根据你的需要下载好系统文件。系统文件有32位和64位,注意区分下载。
3.下载好系统文件后直接放到U盘里,插入要安装系统的电脑上,重启电脑,系统为自动从U盘引导,按提示操作即可。
4.如果无法从U盘引导启动,可能是BIOS没有设置里没有设置成从U盘引导启动。进入BIOS设置即可。

B. win10 系统的启动过程

Windows10 操作系统的整个过程中所发生的操作,具体如下。
1.按下计算机电源按钮后,首先进行通电自检(POST, Power On Self Test),由BlOS检测和识别硬件并完成硬件的基本配置。然后查找第一启动设备,接着从该设备读取并运行主引导记录(MBR, Master Boot record),之后将控制权交给MBR。
2.MBR查找其所在硬盘的硬盘分区表,找到标记为“活动”的主分区。然后在该分区的根目录中找到并运行操作系统的加载程序(文件名为 Bootmgr),即 Windows启动管理器,之后将控制权交给 Windows启动管理器。
3.Window启动管理器读取启动配置数据(BCD, Boot Configuration Data)存储中的内容以决定操作系统的启动方式。
◆ 如果计算机中只安装了一个操作系统,或将操作系统列表的显示时间设置为0,那么将不会显示系统启动列表, Windows启动管理器会直接运行 Windows启动加载器(Windows Boot Loader,文件名为Winload. exe)。
◆ 如果计算机中同时安装了多个操作系统,Windows启动管理器会根据 BCD 存储中的内容创建并显示一个系统启动列表,用户可以从中选择要启动的操作系统。
◆ 如果是从休眠状态恢复计算机,那么Windows启动管理器将会运行 Windows 恢复加载器(文件名为 Winresume.exe)。
4.Windows启动管理器运行 Windows启动加载器,启动加载器使用固件接口的启动服务完成操作系统的启动工作并加载操作系统及其相关数据。
◆ 加载操作系统内核 Ntoskrnl.exe和硬件抽象层HAL(文件名为Had)。
◆ 加载注册表中的 HKEY LOCAL MACHINE SYSTEM 子键。
◆ 加载注册表中的 HKEY- LOCAL MACHINE Systemservices 子键中存储的硬件设备驱动程序。
◆ 启用内存分页。
5.加载完所需数据后, Windows启动加载器将控制权交给操作系统内核。系统内核和HAL开始初始化 Windows操作系统并处理位于注册表中的HKEY LOCAL MACHINE SYSTEM Curentcontrolse 子键中的配置信息,然后启动设备驱动程序和系统服务。
6.内核启动会话管理器(文件名为 Smss.exe),然后执行以下操作。
◆ 创建系统环境变量并对系统环境进行初始化。
◆ 启动Wn32子系统(文件名为Csrss.exe)将文本显示模式切换为图形显示模式。
◆ 启动Windows登录管理器(文件名为Winlogon.exe),然后启动服务控制管理器(文件名为 Services.eXe)和本地安全机构(文件名为 Lsass. exe)并等待用户登录。
◆ 创建虚拟内存页面文件。
◆ 对一些必要的文件进行重命名。
7.在使用用户名和密码进行登录后,登录用户界面和默认凭据提供程序会将用尸名和密码等信息传递给本地安全机构以进行身份验证。验证通过后 Windows登录管理器会运行 Userinit.exe 和 Windows外壳, Userinit. ex会创建用户环境变量以便初始化用户环境,还会运行所有需要自动启动的 Windows服务。最后完成系统登录并显示 Windows桌面。当使用安全模式等非常规模式启动系统时实际上只是临时修改了系统的启动方式,而并没有永久性地修改BCD存储中的内容。此外,用户可以通过编辑BCD存储中的内容来控制操作系统的启动方式。BCD存储包含在一个名为BCD的注册表文件中,固件接口的类型决定了BCD文件在磁盘中的位置。
◆ 基于 BIOS 的计算机:BCD文件位于活动分区的Boot文件夹中。
◆ 基于 EFIUEF 的计算机:BCD文件位于EFI系统分区中。

C. 究竟怎么开机的,Windows启动顺序详解

window的开机过程 一般来说,当我们按下电源键的时候。是post自检阶段。也就是执行的贝bios代码。这个弯过程完成以后,会将控制权交给硬盘上的mbr,也就是主引导记录。主引导记录会不停的检测系统,硬盘的分区有一个八零跳转。十六进制的八零。表示的是硬盘分区是激活状态,也就是存在操作系统。然后他会在操作系统的分区加载温度,windows系统内核加载器 早期的windows系统内核加载器是ntldr.然后ntldr加载内核文件。最终,先启动winlogon.exe这个进程用于用户密码的验证。认证完成以后,执行explorer.exe也就是微软系统的外壳进程,这样我们就看到桌面。

D. 计算机系统的启动过程是怎样需要经历哪几个阶段

计算机接通电源后,要进行加电自检,检查RAM、驱动器等;然后BIOS会读取活动分区主引导记录的启动装载器。

然后完成启动装载器初始化,然后操作系统启动正式开始,分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。是先读取C盘中的启动文件,然后进行初始化,系统需要加载很多底层硬件的驱动程序,读取注册表信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。

E. pc开机启动windows7操作系统的主要步骤有哪些

pc开机启动windows7操作系统的主要步骤有哪些

2.点击高级设置

3. 单击“高级”选项卡,然后在“启动和故障恢复”下单击“设置”。

4.在“系统启动”下的“默认操作系统”列表中,单击希望在打开或重新启动计算机时使用的操作系统。

5.单击“确定”。

一、首先从Win7开始菜单中,找到“控制面板”,并点击进入,如下图所示:

二、进入控制面板之后,再找到“程序”设置,如下图所示:

三、进入程序设置后,再点击进入“默认程序”设置,如下图所示:

四、进入默认程序设置后,可以看到里面有多种默认程序设置选项,包括可以设置浏览器、视频文件等打开方式,这里先进入“设置默认程序”如下图所示:

五、进入设置默认程序后,在此可以更改默认浏览器程序,比如需要将IE浏览器设置默认浏览器,那么只需要在左侧选择IE浏览器,然后在右侧操作中选择“将此程序设置为默认值”即可,如下图所示:

F. windows启动过程

认真看完这个也许你会有收获的:
Windows启动过程介绍

<序>

相信不少人碰到过装了个什么东西之后,重启Windows就发现起不来了。所以,想把Windows启动过程中作了些什么事情,分哪些stages做个介绍。
这里要介绍的是Windows 2k/xp/2k3系列的启动过程,nt系列么,很类似。

虽然Windows是非开源的(废话!:o ),不过还是有不少资料可以参考的,还包括MS的那些public的symbol。如果有机会可以试试Kernel的live debug,那么相信还是能看到不少东西的。不过话说回来,这事情我也没做过…… 等回头自己机器上装好VMWare之类的,再Try吧,到时候会把过程记录下来贴到这里的。

Windows的启动过程么,主要包括以下几个部分:
1. Master Boot Record (MBR)
2. Boot sector
3. Ntldr (这个可能有人会觉得眼熟,是不是碰到过启动的时候说找不到Ntldr呢?;) )
4. Ntoskrnl.exe
5. Smss
6. Winlogon
7. Service control manager (SCM)

OK。
我将在这个帖子里依据上述的启动过程,对这些组件逐个介绍。当然,这里面大部分内容来自于《Inside Windows 2000》和《Windows Internals》这两本书的相应章节(Startup and shutdown)。我能做的事情基本上就是翻译和复述了,最多可能加上一些相关的注释。

当然,如果看过关于linux启动过程源码(分析)的朋友,估计会不满足于下面介绍这么点内容,而且这里也基本不谈到硬件相关的部分(最多可能仅补充一些我知道的硬件相关内容),谁叫咱看不到源码呢,呵呵。

欢迎大家进行讨论和补充。

p.s. 今天仅仅先占个位子,具体内容么,且听下回分解。:cool:

-----------------------------------------------------------------------------------------------------------------------

1. MBR & Boot Sector

物理硬盘是以扇区(sector)为单位来寻址的。Windows的安装程序会在安装的时候,将一些内容写入你

安装系统的那个硬盘的第一个扇区。这块内容就称为Master Boot Record(MBR).

MBR包括两块内容:
(1). Boot code;
(2). Partition table;

Boot code,也就是启动代码。这段代码是在系统启动的时候,BIOS完成了自检过程,选择了启动设备(

也就是你某个硬盘),然后就将该磁盘的MBR读入内存,并且跳转到MBR所在地址,从而执行其Boot code.

Partition table,也就是分区表。该表只有4项(entry),因为MS的OS允许一个磁盘最多被分为4个主分

区(primary partition)。这里的分区表里面的内容就是这4个分区的相关信息,包括其起始的sector,

相应的标志等等。

对于启动过程而言,MBR的boot code会搜寻这个分区表,在其中查找带有可启动标志(也称为Active)的

分区,然后将该分区的第一个sector(也就是Boot sector)读入,并且执行其中的代码。

在安装程序写入Boot sector之前,需要获知其所在分区的文件系统类型(FAT? FAT32? NTFS?),然后写

入不同的Boot sector。为什么对于不同的文件系统需要不同的Boot sector呢?原因在于Boot sector的

任务,就是要载入OS的系统启动文件,而载入文件的过程,是需要文件系统参与的,所以对应于不同的文

件系统,在Boot sector里面就需要不同的文件系统支持代码,以次来完成系统文件的加载。对于Windows

启动而言,需要加载的文件为Ntldr。

需要补充的是,boot sector里面对于文件系统的支持代码是“最小化”了的。毕竟boot sector的大小最多

也就只有512 bytes,要带有完整的文件系统是不大可能的。而且,我们的需求也很简单,只需要它能够

理解该文件系统,并且能够读取其中的文件就可以了,我们并没有写入文件的需求。

Boot sector将Ntldr加载完成之后,就跳转到Ntldr的入口处,接下去的任务,就交给Ntldr了。这时候,

系统还是运行在16位的实模式下,Ntldr会开启Paging,并转入32为保护模式。

这个过程中,可能碰到的错误信息是下面这个:
对于NTFS文件系统,"BOOT: Couldn't find NTLDRP";
对于FAT文件系统,"NTLDR is missing";
这个错误的意思是Boot sector在分区的根目录下没有找到Ntldr。

-----------------------------------------------------------------------------------------------------------------------

2. NTLDR

NTLDR是一个“中间人”,在Boot Sector转入NTLDR的时候,系统处于实模式下,这时候程序访问的任何地址都是实地址,也就是物理地址(虽然这其中还有80x86最基本的分段功能,学过这个实模式汇编的应该知道),并且,这个地址范围也受限在1M(20位地址)以内。所以,进入NTLDR后最先要做的事情就是转入保护模式,以便于能够完全访问32位地址范围。不过,由于此时没有设置好相应的页表,所以,还不能进行虚实地址转换(也就是还没有分页的功能)。

NTLDR需要初始化一定的页表,然后开启分页。这时候,系统已经进入了Windows的标准状态(保护模式+分页)。前面说到转入保护模式的时候,漏说了一个事情,就是初始化GDT和IDT。这里面,关键的是Windows使用的是Flat Memory Mode,也就是其保护模式下,所有段的基地址都一样。这点和其内存管理的机制息息相关,这边就先提一下。

虽然系统已经进入了保护模式,不过,此时的NTLDR还需要依赖一些BIOS调用,来访问磁盘以及显示系统。如果磁盘是SCSI的,而BIOS调用无法访问此类磁盘,那么NTLDR就加载Ntbootdd.sys来替代boot code中的磁盘访问代码。NTLDR和Boot Sector类似,也包含了NTFS和FAT文件系统的只读代码,区别么,其稍有进步,就是能访问子目录了。

由于从Windows2000开始,都有了“休眠”(Hibernation)这种关机方式。于是,NTLDR需要检查系统上是否存在有效的 Hiberfil.sys文件,如果有,那么表明最近一次关机是以“休眠”的方式关机的。于是,NTLDR就开始走“捷径”:读入 Hiberfil.sys文件,然后直接跳转到内核中“唤醒休眠”的代码,从而启动计算机。

正常启动的情况下,NTLDR读入boot.ini文件。如果该文件表明有多个可启动选项,于是就显示启动菜单,供用户选择。

这里又有一个可能的例外,虽然现在这个可能性已经很小了。这个例外就是有DOS的启动选项(包括Win9x和ME系列)。这个情况下,NTLDR 加载 Bootsect.dos文件,转回实模式,并且跳转到该文件中的MBR代码。这时候,就和最开始启动的状态(读入MBR)一样了,从而启动相应的OS。

在用户选择了启动菜单后,NTLDR还要根据该项的参数做一些相应的操作。对于这些参数么,这里就不作说明和解释了。

然后我们继续往下走...

NTLDR加载并执行Ntdetect.com。该程序是一个16位保护模式的程序,通过BIOS调用,获取系统硬件的信息(比如总线类型啊,系统时间啊,磁盘驱动器啊,并口串口啊等等),然后将这些信息集中起来,返回给NTLDR,并且这些信息在启动的后期会保存到注册标的HKLM\ HARDWARE \DESCRIPTION下。

貌似上面的这些工作都是在后台做的,除了那个可能出现的启动菜单外,其他工作都是用户看不到的。嗯,接下来,就该给用户一些反馈信息了。

NTLDR先清屏,然后显示“Starting Windows”和进度条。这里,2000和XP/2003有所不同。2000会显示黑白屏的进度条,这时候屏幕上还没有Windows的logo。而 XP/2003会显示带有Windows logo的彩屏进度条(哈哈,啥都流行彩屏啊)。需要注意的是,NTLDR在开始加载任何“启动驱动”(boot driver)之前,进度条一直是空的。

还有大家可能注意到过的,就是在显示“Starting Windows”的时候,下面还会显示“For troubleshooting and advanced startup options for Windows, press F8.”,然后进度条出现并开始滚动(前进)的时候,就没有机会按F8来进入安全模式之类的了。其实想象,这里面还是有原因的。因为在系统开始加载驱动之前,主要做的事情只是加载内核文件和注册表的System hive。这两个事情和安全模式之类的其他启动方式没有关系,无论是安全模式还是标准启动,都需要加载这两部分东西。而安全模式和标准模式的区别,在于其加载的驱动有所不同。所以,一旦Windows开始加载那些boot driver之后,就无法在改变模式了。

在NTLDR从显示“Starting Windows”开始,需要经过以下步骤:

1. 加载正确的内核以及HAL(默认为Ntoskrnl.exe和Hal.dll)。如果NTLDR在加载这两个文件的过程中出错,无法完成加载,那么会显示下面这条出错信息:Windows could not start because the following file was missing or corrupt,并且会告诉你无法加载的文件名。

2. 从\Windows\System32\Config\System读入System hive。
注:hive是指一个包含了注册表中某个子树的文件。

3. 在System hive中找出所有的boot driver(这类driver的start值为0,即SERVICE_BOOT_START)。系统的所有driver都在注册表的HKLM\ SYSTEM\CurrentControlSet\Services下面有对应的子键(subkey)。

4. 加载boot drivers所在分区的文件系统驱动,以便于之后的boot driver的加载。

5. 加载boot drivers。这时候,才会开始更新屏幕上的进度条。对于Windows 2000来说,就是那个黑白进度条。

6. 设置CPU寄存器,并且跳转到Ntoskrnl.exe的入口。

好啦,NTLDR的任务总算完成了,接下去就全部交给Ntoskrnl了。当然,在转交控制权的时候,自然也将对方需要的信息(包括内存布局,硬件信息,System hive等)也都交给Ntoskrnl,这样,NTLDR才完成了它的使命

G. windows操作系统的启动过程

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

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_MACHINE\ system键,NTLDR读取select键来决定哪一个Control Set将被加载。控制集中包含设备的驱动程序以及需要加载的服务。NTLDR加载HKEY_LOCAL_MACHINE\system\service \...下start键值为0的最底层设备驱动。当作为Control Set的镜像的Current Control Set被加载时,ntldr传递控制给内核,初始化内核阶段就开始了。

d) 初始化内核阶段

在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:

内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键。

内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制Control Set来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改。

系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE \system\CurrentControlSet\service\...下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进程,初始化内核完毕。

H. 重新启动windows操作系统步骤

方法
1:先按
WINDOWS
键(就是从左下角往右数第二个键)再按u再按R就重启了
方法
2:点击任务栏开始菜单
再点关闭计算机
再点重新启动就行了
方法
3:打开记事本输入:"shutdown
-r
-t0"(不含外侧引号)然后点文件
另存为
把文件格式设为BAT(格式在最下面中间的部分)然后任何时候打开这个文件就可以重新启动了(这是批处理语言shutdown,语法是:shutdown+空格+后缀,具体后缀的意义你可以按windows+R输入CMD按回车直接输入shutdown按回车上面有后缀意义)这段语句中后缀r指重新启动,后缀t0指的是在0秒以后执行重启命令命

阅读全文

与windows操作系统启动流程相关的资料

热点内容
java后台校验框架 浏览:379
编程怎么做3d生存游戏 浏览:955
word使用教程下载 浏览:295
电脑文件平铺图片默认大小 浏览:115
文件查看设置信息失败 浏览:668
编程如何编出乌鸦喝水的课文 浏览:20
国家反诈app报案助手怎么使用 浏览:439
秘密文件丢失多少天 浏览:237
js中csstext 浏览:382
目标文件名过长复制 浏览:892
乐动力计步器老版本 浏览:933
压缩文件链接怎么编辑 浏览:808
如何锁定PDF文件里的图章 浏览:89
数据库超时是什么 浏览:649
文件怎么改整列内容 浏览:764
360压缩文件发邮件空白 浏览:813
上哪里查自己大数据 浏览:907
编程语言怎么学车 浏览:189
编程该怎么学才能先找工作 浏览:524
文件刻制光盘多少钱 浏览:861

友情链接