Windows2000/XP/2003启动过程

深入解析Windows系统启动全过程(含2000/XP/2003实战分析) 当 BIOS 完成体检,并确认某个磁盘可以作为启动源时,它就会把该磁盘的第一个扇区(LBA 0)读入内存地址0x07C00,然后一个远跳转,把控制权交给这段代码。这就是传说中的主引导记录(Master Boot Record, MBR),总共才 512 字节,却承载着整个系统的命运起点。偏移范围(hex)长度内容446B引导代码64B四个分区表项2B结束标志55 AA是不是有点不可思议? 阅读详情

先看一下NT系统的引导过程,NT系统从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:

   1. 预引导(Pre-Boot)阶段
    在这个阶段里,计算机首先运行Power On Self TestPOST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot Record)被加载并运行。在预引导阶段,要加载Windows NT的NTLDR文件。

 2. 引导阶段
   Windows NT的引导过程第一步要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机从实模式转换为32位平面内存模式。NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows 2000/XP/2003系统。
   如果计算机安装了不止一个操作系统(也就是多系统),计算机会显示一个操作系统选单,这是NTLDR读取boot.ini的结果,由用户去选择启动哪一个系统。
     如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows系统后,操作系统选择阶段结束,硬件检测阶段开始。
  在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。
  硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载系统。(一般用户都看不到这一步)
  引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos

 3. 加载内核阶段
    在加载内核阶段,ntldr加载称为Windows的内核ntokrnl.exe。系统加载了Windows内核但是没有将它初始化。接着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传递控制给内核,初始化内核阶段就开始了。

 4. 初始化内核阶段
     在初始化内核阶段开始的时候,Windows 2000/XP/2003的logo以及进度条显示在屏幕中央,在这个阶段,系统主要完成了任务:
  内核使用在硬件检测时收集到的数据来创建了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的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化。

    所以很有可能就是这里加载驱动的时候出的问题,现在很多流氓软件设置的级别都很高,恨不得设置成-1了,安全模式下也可以加载。 

=========另外转述:

在基于INTEL的计算机上,Windows2000/XP的启动过程大致可分为5个步骤:预启动,启动,装载内核,初始化内核以及用户登录。下面分别展开介绍:
     一.预启动
     首先计算机通电进行自检,并由BIOS(即基本输入输出系统)完成基本硬件配置,然后读取硬盘的MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此处即执行NTLDR(操作系统加载器)文件。
          * Windows2000/XP支持多重启动。它在安装时会首先将已存在的其它操作系统引导扇区保存为BOOTSECT.DOS文件(位于活动分区根目录下),并修改系统引导扇区,以便系统启动时加载NTLDR文件,从而达到多重启动的目的。而Windows98则不具备这个功能,因此如果先装好Windows2000/XP后再装Windows98会破坏掉Windows2000/XP的引导记录,导致2000/XP不能启动。
     二.启动
          1.首先进行出始化,NTLDR会把处理器从实模式转换为32位保护模式。
          2.读取BOOT.INI文件。该文件位于活动分区根目录下,它的作用是使系统在启动过程中出现选择菜单,由用户选择希望启动的操作系统。如果选择启动Windows2000/XP,NTLDR会继续引导进行以下过程;如果选择为非Windows2000/XP系统,NTLDR则会读取系统引导扇区副本BOTSECT.DOS转入启动相应系统。
          * 其中[BOOT LOADER]即操作系统加载器,指定系统选择菜单默认等待时间和默认引导的操作系统。可手工修改或在控制面板中修改,为了保险起见,建议在控制面板中修改。依次选择控制面板-〉系统-〉高级->启动和故障恢复,即可更改相关设置。(在WindowsXP中还有另一种方法,即运行msconfig(系统配置实用程序)。
            [OPERATING SYSTEMS]段指定操作系统列表,由双引号括起来的部分就是列表所显示的内容,可任意修改,使其更加个性化。
          * 形如MULTI(0)DISK(0)RDISK(0)PARTITION(1)格式的语句被称为ARC路径,它的格式为:MULTI()——指定磁盘控制器(若为SCSI控制器,则此处应替换为SCSI());DISK()——指定SCSI设备编号(对于MULTI该处值始终为0);RDISK()——指定IDE设备编号(对于SCSI,此处被忽略);PARTITION()——指定分区编号。除分区编号由1开始外,其余编号均从0开始。
            参数/FASTDETECT表示禁用串行鼠标检测,是系统默认值。还有几个常见参数:MAXMEM——指定Windows2000/XP可用内存容量;BASEVIDEO——使用标准VGA显示驱动程序;NOGUIBOOT——启动过程中不显示图形屏幕;SOS——加载设备驱动程序时显示其名称。
          * 在操作系统选择菜单中的中文字体由位于活动分区根目录下的BOOTFONT.BIN文件提供。
          3.系统加载NTDETECT.COM文件。由它来检测机器硬件,如并行端口,显示适配器等等,并将收集到的硬件列表返回NTLDR用于以后在注册表中注册保存。
          4.如果Windows2000/XP有多个硬件配置文件,此时会出现选择菜单,等待用户确定要使用的硬件配置文件,否则直接跳过此步,启用默认配置。
          * 硬件配置文件是指保存计算机特定硬件配置的系统文件。可以创建多个不同的硬件配置文件以满足计算机在不同场合的应用。可以依次选择控制面板-〉系统->硬件-〉硬件配置文件作出修改。
     三.装载内核
          引导过程开始装载Windows2000/XP内核NTOSKRNL.EXE。这个文件位于Windows2000/XP安装文件夹下的SYSTEM32文件夹中。随后,硬件抽象层(HAL)被引导进程加载,完成本步骤。
          * 硬件抽象层(HAL):隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
     四.初始化内核
          内核完成初始化,NTLDR将控制权转交Windows2000/XP内核,后者开始装载并初始化设备驱动程序,以及启动WIN32子系统和WINDOWS2000/XP服务。
     五.用户登录
          开始登录进程。由WIN32子系统启动WINLOGON.EXE,并由它启动LOCAL SECURITY AUTHORITY(LSASS.EXE)显示登录对话框。用户登录后,WINDOWS2000/XP会继续配置网络设备和用户环境。最后,伴随着微软之声和我们熟悉的个性化桌面,WINDOWS2000/XP漫长的启动过程终于完成

WINDOWS 2000/XP/2003启动引导文件修复工具 立即下载

相关推荐

windows2003/xp/2000/NT之上的常用命令大全

windows之上的常用命令大全合集,而且是txt格式的文档,占很小的硬盘空间,随用随查

Windows Server 2003 启动过程详解及常见错误分析

摘要:在Windows Server 2003启动过程中,会出现各种各样的问题,本文介绍了操作系统启动过程的几个阶段,收集了一些经常出现的错误,并结合 Windows 操作系统启动过程,针对这些错误提出了解决方法。

一柯的专栏 5604

FT601Q芯片深度解析:从USB3.0引脚定义到FPGA FIFO协议实战选型

本文深入解析FT601Q芯片在USB3.0接口设计与FPGA协议栈开发中的应用,详细介绍了USB3.0引脚定义、FT601Q芯片架构、245同步FIFO模式及硬件设计要点,帮助工程师实现高速数据传输系统。

weixin_30607659的博客 448

PostgreSQL在windows下如何启动

postgres在windows下启用,win环境下启用postres

LMTX069的博客 1万+

C++新手也能搞定!Windows下Cesium-Native编译全流程(附依赖下载技巧)

本文为C++新手详细介绍了在Windows系统下编译Cesium-Native库的全流程。重点针对网络环境不佳的情况,提供了手动下载依赖库的实用技巧,并指导用户使用CMake配置、生成解决方案,最终完成编译与测试验证,帮助开发者成功构建这一处理3D地理空间数据的C++运行时库。

weixin_28839549的博客 383

【数据集总结】不透水面积ISA:GAIA、CLUD-Urban、GISA

【数据集总结】不透水面积ISA:GAIA、CLUD-Urban、GISA

WW、forever的博客 2161

Windows XP \Windows 2003启动过程的学习及故障分析处理(七)

Windows XP \Windows 2003启动过程的学习及故障分析处理 (七) Windows XP \Windows 2003系统的完全建立 Ntoskrnl- hal.dll – Winlogon NTOSKRNL.EXE建立Windows2000/XP内核(Windows系统架构), ...

weixin_33725272的博客 195

LeRobot 机器人学习(Robot Learning)教程(二)经典机器人学

本文探讨了机器人学中基于学习的方法与传统动力学方法的对比与发展趋势。文章指出,传统方法依赖精确的动力学模型和大量人工调参,面临跨任务泛化能力弱、工程复杂度高、物理建模局限性等问题。随着机器学习技术的进步和机器人数据集的丰富,基于学习的方法展现出三大优势:(1)能够实现跨任务与实体的泛化;(2)降低对人类专业知识的依赖;(3)利用历史数据优化性能。文中以平面机械臂为例,分析了传统逆运动学方法的计算复杂性和环境适应性挑战,并指出基于学习的方案在处理高维感知输入、复杂接触动力学等方面具有明显优势。文章认为,结合物

2506_90492529的博客 1066

Windows Server 2003 的 Boot.ini 文件的/3GB开关选项

/3GB 该开关强制基于 x86 的系统为程序分配 3 GB 的虚拟地址空间,为内核及可执行组件分配 1 GB 的虚拟地址空间。程序在设计上必须能够利用额外的内存地址空间。使用该开关,用户模式程序能够访问 3 GB 的内存而不是通常 Windows 分配给用户模式程序的 2 GB 的内存。该开关将内核的内存起始位置移至 3 GB 处。某些 Microsoft Exchange Server 20...

weixin_34233618的博客 259

SpringBoot 系列教程(二):SpringBoot使用Devtools实现热部署

1.devtools   spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。 2.项目搭建   本文是采用IDEA搭建的Spring Boot应用,通过spring-boot-devtools配置,可以支持修改java文件会自动重启程序,一些资源无需触发重启,...

Thinkingcao的专栏 1216

【机器学习】一文搞懂算法模型之:Transformer

必会算法模型之:Transformer

商务合作 | 面试培训 | 职场规划 ==>主页扫码 5610

Win 2000系统引导过程详解(上,中,下)

 (上)   引言    但笔者在这两年的工作过程中,却发现很多用户对Windows 2000的特性还并不是很了解,以至于常常在发生系统故障甚至崩溃的不幸之后,就只有草率的重装系统,随之带来了漫长的软件环境的恢复和对丢失文件的痛苦回忆。    本文适用于Win NT4.0,Windows 2000以及Windows XP各个版本的使用者。    本文旨在

积木网络 1689

深度学习图神经网络 (GNN) —— 处理图结构数据(六十九)

本文系统介绍了图神经网络(GNN)的核心概念、主流模型及其应用。主要内容包括: GNN基础:阐述了图结构数据的特性(节点数不定、连接不规则),以及GNN相比CNN/RNN的优势在于处理非欧式空间的图数据。 核心机制:重点讲解了消息传递框架(MPNN),通过聚合邻居信息迭代更新节点表示,并分析了GCN的归一化邻接矩阵计算和GAT的注意力权重机制。 典型模型: GCN:基于归一化邻接矩阵的特征传播 GAT:引入注意力机制区分邻居重要性 GraphSAGE:通过采样解决大图扩展性问题 GIN:理论表达能力最强的图

hello.reader 301

jenkin swindows启动_windows启动过程

展开全部认真看完这个也许你会有收获的:Windows启动e68a84e8a2ad62616964757a686964616f31333231626165过程介绍相信不少人碰到过装了个什么东西之后,重启Windows就发现起不来了。所以,想把Windows启动过程中作了些什么事情,分哪些stages做个介绍。这里要介绍的是Windows 2k/xp/2k3系列的启动过程,nt系列么,很类似。虽然Wi...

weixin_30444517的博客 252

Allegro Design Entry HDL(OrCAD Capture HDL)原理图是设计快速入门图文教程

Allegro Design Entry HDL是Cadence公司开发的原理图设计工具,也可与Allegro PCB设计工具无缝对接,虽然板级开发中不如Design Entry CIS(又名 OrCAD Capture CIS)的使用那么广泛,但是由于Design Entry HDL支持芯片的开发,所以有不少公司尤其是芯片背景公司,选择使用Design Entry HDL进行原理图设计。两个原理图开发工具的使用方法大同小异,本文简单介绍使用Allegro Design Entry HDL开始一个新的设计,

fydar的博客 4134

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VMware下如何虚拟软盘启动

在VMware下虚拟软盘启动需要的镜像文件可点击这里从本地下载虚拟软驱vFloppy 1.5 版http://data.li20.com/system/iso/vfloppy15.rar 在Windows 2003/XP /2000/NT系统下,将下载的vfloppy.rar解压缩后得到bootdisk.img文件. 新建虚拟机,不安装任何系统...

weixin_34413357的博客 1809

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

让故障恢复控制台入驻硬盘(转)

让故障恢复控制台入驻硬盘(转)[@more@]   Windows 2000/XP/2003下的故障恢复控制台是在系统出现一些意外情况下的一种非常有效的诊断、测试以及恢复系统功能的工具,利用它往往可以使出现故障的系统起死回生。...

csd3176的博客 83

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Process Monitor v1.0

From: Blue Orb SoftwareProcess Monitor is a small free utility to monitor the system processes that are accessed, started, and stopped.  This could be useful in determining if you suspect a virus o

Linhanshi Blog 1041

windows 2000/xp/2003开机后的密码登录界面取消

Windows Server 2003:第一种方法比较复杂,但可以使您完全掌握Windows Server 2003自动登录的设置方法。首先单击“开始|运行”,并在“运行”对话框的“打开”输入框中键入“regedit”来运行注册表编辑器。然后在注册表编辑器中依次单击展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current Versi

cnlyway的专栏 3709

Windows 2000/xp/2003 常用补丁下载

http://www.hit.edu.cn/V3/express/bdxz0921.htm常 用 补 丁 下 载 (最后更新日期:2004-10-16)   对于新装的操作系统,安装相应系统的补丁包是保障系统健康的必备步骤(事实上,您需要在策划安装新系统前或添置新计算机时,预先准备好这些系统补丁包)。这里仅罗列了几种校园网中最常用的系统补丁包,其他的需从软件商或各单位专业IT支持人士处获得,因品种

Penlee's Blog 1万+

windows 2000/xp/2003开机后的密码登录界面的取消【基本常识】

Windows Server 2003:第一种方法比较复杂,但可以使您完全掌握Windows Server 2003自动登录的设置方法。首先单击“开始|运行”,并在“运行”对话框的“打开”输入框中键入“regedit”来运行注册表编辑器。然后在注册表编辑器中依次单击展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current Versi

Axzeros^的专栏 3596

The BOOT.INI File of Microsoft® Windows™ NT/2000/XP/2003

The BOOT.INI File ofMicrosoft® Windows™ NT/2000/XP/2003Web Presentation and Text Copyright©2004-2006 by Daniel B. SedoryNOT to be reproduced in any form without Permission of the Author ! Int

唯一谣|Airs|走尽天涯路|极地阳光 2183

Win2000/windows 2003/xp 网络命令应用大全

 Win2000/windows 2003/xp 网络命令应用大全1】ping用来测试网络是否建立连接,获取ip地址,也可以用来攻击ping -l 65500 -t 127.0.0.0『对某个地址连续发送大小为65500大小的数据包,一直到它死机,对98使用较好2】netstat -a查看自己开的端口,常常用来手工查看是否中了木马,或者黑客程序3】netstat -n

renxijuanQQ的专栏 850

[转]windows 2000/xp/2003开机后密码登录界面的取消

本文转自:http://hi.baidu.com/azxdjsj/blog/item/72293f4ed0ac4dced1c86ab8.html-----Windows Server 2003:    第一种方法比较复杂,但可以使您完全掌握Windows Server 2003自动登录的设置方法。首先单击“开始|运行”,并在“运行”对话框的“打开”输入框中键入“regedit”

freeliver54的专栏 621

2000/XP/2003常见问题集锦

1、关于所有版本XP在安装进度还剩下34分钟进度条就停止不动的说明以及解决方法在安装还剩34分钟,也就是安装设备时屏幕会一直定在那儿不走,硬盘灯不亮!造成这种现象的原因极有可能是主板上的USB2.0的问题,因为XP在才出来的时候并不支持USB2.0。只有安装了SP1补丁包XP本身才能USB2.0设备。如果你在安装XP时,使用了USB2.0接口的鼠标或键盘,就会发生问题了,因为XP在安装设备时不

wangbiping1101109的专栏 790
上一篇: 关于查找流氓软件驱动保护的补充
下一篇: 探讨两个比较难杀灭的灰鸽子变种
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值