计算机开机启动系统都经过了哪些步骤?计算机是如何启动系统的?

从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:
  1.预引导(Pre-Boot)阶段;
  2.引导阶段;
  3.加载内核阶段;
  4.初始化内核阶段;
  5.登陆。
  每个启动阶段的详细介绍
  a)预引导阶段
  在按下计算机电源使计算机启动,并且在Windows XP 专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行 PowerOnSelfTest(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插 即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后 MBR(MasterBootRecord)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。
  b)引导阶段
  Windows XPProfessional引导阶段包含4个小的阶段。
  首先,计算机要经过初始引导加载器阶段(InitialBootLoader),在这个阶段里,NTLDR 将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式 中,系统(Windows XPProfessional)视所有内存为可用内存。接着,NTLDR启动内建的mini-filesystemdrivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XPProfessional,到这里,初始引导加载器阶段就结束了。
  接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了 boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。(至于操作系统选 单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一。)
  在boot.ini中,主要包含以下内容:
  [bootloader]
  timeout=30
  default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
  [operatingsystems]
  multi(0)disk(0)rdisk(0)partition(1)WINDOWS ="MicrosoftWindowsXPProfessional"/fastdetect
  multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows2000Professional"
  其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XPProfessional 的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信 息。)如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认 的系统。在选择启动Windows XPProfessional后,操作系统选择阶段结束,硬件检测阶段开始。
  在硬件检测阶段中,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_MACHINEsystem键,NTLDR读取select键来决定哪一个ControlSet将被加载。控制集中包含设备的驱动 程序以及需要加载的服务。NTLDR加载HKEY_LOCAL_MACHINEsystemservice...下start键值为0的最底层设备驱动。 当作为ControlSet的镜像的CurrentControlSet被加载时,ntldr传递控制给内核,初始化内核阶段就开始了。
  d)初始化内核阶段

在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:
  *内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINEHARDWARE键。
  *内核通过引用HKEY_LOCAL_MACHINEsystemCurrent的默认值复制ControlSet来创建了CloneControlSet。CloneControlSet配置是计算机数据的备份,不包括启动中的改变,也不会被修改。
  *系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描 HKEY_LOCAL_MACHINEsystemCurrentControlSetservice...下start键值为1的设备驱动程序。这些设 备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次 遇到错误会以LastKnownGoodControlSet重新启动,如果使用LastKnownGoodControlSet启动仍然产生错误,系统 报告启动失败,错误信息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGoodControlSet重新启动, 如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这 个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行
  *SessionManager启动了Windows XP高级子系统以及服务,SessionManager启动控制所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕。
  e)登陆
  *Winlogon.exe启动LocalSecurityAuthority,同时Windows XPProfessional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。
  *提示输入有效的用户名或密码。
  ServiceController最后执行以及扫描 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServives来检查是否还有服务需要加 载,ServiceController查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和 DepandOnService的值来加载。
  只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝CloneControlSet到LastKnownGoodControlSet,完成这一步骤后,系统才意味着已经成功引导了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,开机启动流程通常包括以下几个步骤: 1. 开机自检(Power-On Self-Test,POST):当计算机启动时,系统会进行自我检测以确保硬件设备正常工作。这个过程由计算机的固件负责,例如BIOS或UEFI。 2. 引导加载程序(Boot Loader):引导加载程序是位于硬盘的特定位置的代码,负责加载操作系统内核并将控制权转移到内核。常见的引导加载程序有GRUB和GRUB2。 3. 内核初始化:一旦引导加载程序将控制权传递给内核,内核开始初始化系统的各个组件,例如内存管理、设备驱动程序和文件系统。 4. 运行级别(Runlevel):在Linux系统中,运行级别定义了系统启动后的运行状态。不同的运行级别确定了哪些服务和进程在系统启动时自动运行。运行级别通常由/etc/inittab文件或者systemd配置文件来定义。 5. 服务启动:一旦系统进入指定的运行级别,系统管理器(如systemd)负责启动各个服务和进程。这些服务和进程可能包括网络服务、日志记录服务、文件系统挂载等。 总结起来,Linux系统开机启动流程包括开机自检、引导加载程序、内核初始化、运行级别和服务启动。了解这些流程对于理解系统启动过程以及排除启动问题非常有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux系统开机启动流程(超详细)](https://blog.csdn.net/qq_51010919/article/details/131465536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值