Windows操作系统的启动过程详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ntldr首先会将CPU切换到32位的模式,从而确保Windows XP的 正常。在CPU的32位模式下,可以对大容量内存进行直接存取, 而彻底抛弃了原先在8位或16位下分段存取内存的不便。
启动文件系统来自百度文库
ntldr 中包含相应的代码,能够帮助Windows XP完成对NTFS或 FAT格式的磁盘进行读写。从而能够读取、访问和复制文件。
九、加载用户附加启动程序
这些程序在“开始”-----“程序”-----“启动” 文件夹中,该文件夹可以让用户自己添加需 要windows启动时自动启动的应用程序,如 果不需要,可以直接删除它。
至此,Windows XP已成功启动。
八、加载系统服务程序
实际上也是和登录过程异步进行的。这时系统在加 载各种服务程序,以便为操作用户提供操作平台, 在加载完成explorer.exe服务程序时,就可以看到 WindowsXP桌面。
注:explorer.exe:该文件的所在位置\WINDOWS, 如果损坏,可以从\WINDOWS\system32\dllcache 目录中找到后,在DOS状态下Copy恢复,该文件属 性为:系统/隐藏/只读。不能Copy时用attrib修改后 再copy,再将\WINDOWS\system32\dllcache目录 中的ntoskrnl.exe文件改回系统/隐藏/只读即可。
注:ntoskrnl.exe:该文件在\windows\system32中。如 果损坏,可以从\WINDOWS\system32\dllcache目录中 找到后,在DOS状态下Copy恢复,该文件属性为:系 统/隐藏/只读。不能Copy时用attrib修改后再copy,再 将\WINDOWS\system32\dllcache目录中的 ntoskrnl.exe文件改回系统/隐藏/只读即可。
(2)、对于多引导系统来说,首先由用户在操作系统菜单中选择要启 动的操作系统然后而由ntldr进行相应的操作。
(3)、如果选择启动旧式的微软操作系统,如MS-DOS、Windows 9x/ME,ntldr会将从bootsect.dos文件中读取MBR代码,然后将控制 权交给bootsect.dos中的MBR。
Windows操作系统的启动过程详解
编辑作者:lznetshn(杨老师) 职业:计算机维修教师
E-mail:lznetshn163
工作地:昆明
Windows 启动原理
Windows XP是基于NT技术的操作系统,它的启 动过程同Windows NT和Windows 2000基本相同
Windows XP的启动过程,主要包括以下几个步 骤:
《“Microsoft Windows XP Professional”》这部分内容就是开 机显示列表时本系统的名称,可以任意修改,支持中文!
NTLDR就是从这里查找Windows XP Professional的系统文 件的位置的。若没有选择,系统从第一个操作系统开始引导。
注:(1)、对于单引导的系统来说,ntldr 会通过启动ntdetect来初始 化硬件检测状态。
2、启动本地安全授权(Local Security Authority , LSA)过程 (lsass.exe)。
3、在开始登录提示的时候,对Crtl+Alt+Del组合键进行分析处理。 4、一个图形化的识别和认证组件收集用户的帐号和密码,然后
将这些信息安全地传送给LSA以进行认证处理。如果用户提供的 信息是正确的,能够通过认证,就允许用户对系统进行访问。 要注意的是,如果您的计算机中,只有Administrator这一个用户, 那么在欢迎屏幕中就会显示Administrator 用户项。 如果您的计 算机中不仅有Administrator用户,还有别的可以交互登录的用户, 那么欢迎屏幕中就只显示出Administrator之外的用户, 而不显示 Administrator用户。 直接在欢迎屏幕中按下两次Crtl+Alt+Del组合键,即可打开标准 的登录窗口,可以再输入Administrator 的用户名和密码,以便用 最高管理员的身份登录。
一般来说通常会使用硬盘引导。在进行硬盘引导时,启动过程通常按照如 下的步骤进行: 1、系统首先检测打开硬盘电源。 2、若该硬盘是启动盘,BIOS就将主引导记录(Main Boot Record――MBR) 中的引导代码载入内存。 3、接着,BIOS会将启动过程的运行交给MBR来进行。 4、计算机搜索MBR中的分区表,找出活动分区(Active Partition)。 5、计算机将活动分区的第一个扇区中的引导代码载入到内存。 6、引导代码检测当前使用的文件系统是否可用。 7、引导代码查找ntldr文件,找到之后启动它。 8、BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动。 注意:这里简单介绍一下MBR的概念。MBR位于启动磁盘的第一个扇区,其 中主要包含引导代码(Boot Code)和分区表(Partition Table)数据。引导 代码主要用于引导系统。而分区表则主要用于标识基本分区和扩展分区。
3、读取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“
加载设备驱动程序和服务
在这一步中,系统会在BIOS的帮助下开始加载设备驱动程序, 以及服务。
启动会话管理器
完成上面的过程之后,内核会启动会话管理器(Session Manager),这是一个名为smss.exe 的程序,其作用表现如下:
创建系统环境变量
创建虚拟内存页面文件
六、用户登录过程
本过程主要由ntldr 文三件、完引成导。程N序tld载r从入引过导程分区载入启动文件, 然后完成如下一些任务。
在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存 模式
对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓 的实模式(RealMode)。在实模式下CPU的某些特性不能完全 发挥,这 是因为它要保证同8位或16位的CPU(如8086、8088) 相兼容。实模式下由于系统规格的限制,无法对大容量内存进行 直接存取,而必须通过分段的方 式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。
在这一过程中,Windows 子系统会启动winlogon.exe,这是一个 系统服务,用于提供对Windows 用户的登录和注销的支持。 Winlogon.exe 可以完成如下一些工作:
1、启动服务子系统(services.exe),也称服务控制管理器 (Service Control Manager, SCM)。
电源开启自检过程。 初始化启动过程。 引导程序载入过程。 检测和配置硬件过程。 内核加载过程。 用户登录过程。 即插即用设备的检测过程。
一、电源开启自检过程
1、在打开计算机电源时,首先开始电源启动自检过 程。从BIOS中载入必要的指令,然后进行如下一系列 的自检操作:
2、进行硬件的初始化检查,例如检查内存的容量等。 3、验证用于启动操作系统的设备是否正常, 例如,检查硬盘是否存在等。
4、根据需要提供启动菜单
在这一步,如果用户按下F8键,则会显示启动菜单,允 许用户选择不同的启动方式,例如使用安全方式启动, 或是使用最后一次正确的配置启动等。
检测硬件和硬件配置
在这一步中,ntldr 启动ntdetect文件进行基本的设备检 查,然后将 boot.ini文件中的信息,以及注册表中的硬 件和软件信息传递给ntoskrnl.exe程序。
五、内核加载过程
将内核(ntoskrnl.exe)和硬件抽象层(hal.dll)载入到内存 加载控制集信息
在这一过程中,ntldr从注册表中的 HKEY_LOCAL-_MACHINE\SYSTEM位置加载相应的控制集 (Control Set)信息,并确定在启动过程中要加载的设备驱动。
Multi表示一个非SCSI硬盘设备或一个由SCSI BIOS访问的 SCSI硬盘,该文段也可为SCSI,这是其意思为一个由SCSI BIOS禁止的硬盘。(0)是硬件适配卡序号(数字不一定是 0)。Disk(0)表示SCSI总线号(数字不一定是0),如果前 面是Multi则这项永远为disk(0),数字不改变。Rdisk(0)表示硬 盘的序号。Partition(3)为分区序号。
在处理完boot.ini文件四之、后检,测ntld和r会配启置动硬ntd件et过ec程t程序。在基于X86的系
统中,ntdetect会通过 调用系统固件程序收集安装的硬件信息,然后由 ntdetect将这些信息传递送回ntldr。Ntldr获取从ntdetect发来的信 息后, 将这些信息组织成为内部的断气结构形式,然后由ntldr 启动 ntoskrnl.exe ,并将这些信息发送给它。 Ntdetect 会收集如下类型的硬件信息: 1、系统固件信息,例如时间和日期等 2、总线适配器的类型 3、显卡适配器的类型 4、键盘 5、通信端口 6、磁盘 7、软盘 8、输入设备,例如鼠标 9、并口 10、安装在ISA槽中的ISA设备 11、完成信息的检测之后,Windows XP会在屏幕上显示那个著名的 Windows XP商标,并显示一个滚动的,告诉用户Windows 的启动进程。
4、从CMOS中读取系统配置信息。例如:当前计算 机硬件信息,用户设置信号(磁盘引导顺序,引导密 码等)
5、注:在完成了电源启动的自检之后,每个带有固 件的硬件设备,如显卡和磁盘控制器,都会根据需要 完成内部的自检操作。
二、初始化启动过程
在完成了电源启动自检过程之后,存储在CMOS中的设置,例如磁盘的 引导顺序等,能够决定由哪些设备来引导计算机。例如,可以设置磁盘的引导 顺序为首先通过A盘引导,其次才通过C盘引导,则系统会首先尝试用A盘引 导系统,如果A盘存在并可引导,则通过A盘引导。如果A盘不存在,则通过C 盘引导 系统。如果A盘存在,但不是引导盘,则系统地提示系统不可引导。
七、即插即用设备的检测过程
对即插即用设备的检测,实际上是和登录过 程异步进行的。由系统固件、硬件、设备驱 动和系统特性决定了Windows XP如何对新设 备进行检 测和枚举。当即插即用组件正常工 作后,Windows XP会对新设备进行检测,为 它们分配系统资源,并在尽量不要用户提供 选择的情况下,为新设备安装一 个合适版本 的驱动程序。
启动文件系统来自百度文库
ntldr 中包含相应的代码,能够帮助Windows XP完成对NTFS或 FAT格式的磁盘进行读写。从而能够读取、访问和复制文件。
九、加载用户附加启动程序
这些程序在“开始”-----“程序”-----“启动” 文件夹中,该文件夹可以让用户自己添加需 要windows启动时自动启动的应用程序,如 果不需要,可以直接删除它。
至此,Windows XP已成功启动。
八、加载系统服务程序
实际上也是和登录过程异步进行的。这时系统在加 载各种服务程序,以便为操作用户提供操作平台, 在加载完成explorer.exe服务程序时,就可以看到 WindowsXP桌面。
注:explorer.exe:该文件的所在位置\WINDOWS, 如果损坏,可以从\WINDOWS\system32\dllcache 目录中找到后,在DOS状态下Copy恢复,该文件属 性为:系统/隐藏/只读。不能Copy时用attrib修改后 再copy,再将\WINDOWS\system32\dllcache目录 中的ntoskrnl.exe文件改回系统/隐藏/只读即可。
注:ntoskrnl.exe:该文件在\windows\system32中。如 果损坏,可以从\WINDOWS\system32\dllcache目录中 找到后,在DOS状态下Copy恢复,该文件属性为:系 统/隐藏/只读。不能Copy时用attrib修改后再copy,再 将\WINDOWS\system32\dllcache目录中的 ntoskrnl.exe文件改回系统/隐藏/只读即可。
(2)、对于多引导系统来说,首先由用户在操作系统菜单中选择要启 动的操作系统然后而由ntldr进行相应的操作。
(3)、如果选择启动旧式的微软操作系统,如MS-DOS、Windows 9x/ME,ntldr会将从bootsect.dos文件中读取MBR代码,然后将控制 权交给bootsect.dos中的MBR。
Windows操作系统的启动过程详解
编辑作者:lznetshn(杨老师) 职业:计算机维修教师
E-mail:lznetshn163
工作地:昆明
Windows 启动原理
Windows XP是基于NT技术的操作系统,它的启 动过程同Windows NT和Windows 2000基本相同
Windows XP的启动过程,主要包括以下几个步 骤:
《“Microsoft Windows XP Professional”》这部分内容就是开 机显示列表时本系统的名称,可以任意修改,支持中文!
NTLDR就是从这里查找Windows XP Professional的系统文 件的位置的。若没有选择,系统从第一个操作系统开始引导。
注:(1)、对于单引导的系统来说,ntldr 会通过启动ntdetect来初始 化硬件检测状态。
2、启动本地安全授权(Local Security Authority , LSA)过程 (lsass.exe)。
3、在开始登录提示的时候,对Crtl+Alt+Del组合键进行分析处理。 4、一个图形化的识别和认证组件收集用户的帐号和密码,然后
将这些信息安全地传送给LSA以进行认证处理。如果用户提供的 信息是正确的,能够通过认证,就允许用户对系统进行访问。 要注意的是,如果您的计算机中,只有Administrator这一个用户, 那么在欢迎屏幕中就会显示Administrator 用户项。 如果您的计 算机中不仅有Administrator用户,还有别的可以交互登录的用户, 那么欢迎屏幕中就只显示出Administrator之外的用户, 而不显示 Administrator用户。 直接在欢迎屏幕中按下两次Crtl+Alt+Del组合键,即可打开标准 的登录窗口,可以再输入Administrator 的用户名和密码,以便用 最高管理员的身份登录。
一般来说通常会使用硬盘引导。在进行硬盘引导时,启动过程通常按照如 下的步骤进行: 1、系统首先检测打开硬盘电源。 2、若该硬盘是启动盘,BIOS就将主引导记录(Main Boot Record――MBR) 中的引导代码载入内存。 3、接着,BIOS会将启动过程的运行交给MBR来进行。 4、计算机搜索MBR中的分区表,找出活动分区(Active Partition)。 5、计算机将活动分区的第一个扇区中的引导代码载入到内存。 6、引导代码检测当前使用的文件系统是否可用。 7、引导代码查找ntldr文件,找到之后启动它。 8、BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动。 注意:这里简单介绍一下MBR的概念。MBR位于启动磁盘的第一个扇区,其 中主要包含引导代码(Boot Code)和分区表(Partition Table)数据。引导 代码主要用于引导系统。而分区表则主要用于标识基本分区和扩展分区。
3、读取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“
加载设备驱动程序和服务
在这一步中,系统会在BIOS的帮助下开始加载设备驱动程序, 以及服务。
启动会话管理器
完成上面的过程之后,内核会启动会话管理器(Session Manager),这是一个名为smss.exe 的程序,其作用表现如下:
创建系统环境变量
创建虚拟内存页面文件
六、用户登录过程
本过程主要由ntldr 文三件、完引成导。程N序tld载r从入引过导程分区载入启动文件, 然后完成如下一些任务。
在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存 模式
对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓 的实模式(RealMode)。在实模式下CPU的某些特性不能完全 发挥,这 是因为它要保证同8位或16位的CPU(如8086、8088) 相兼容。实模式下由于系统规格的限制,无法对大容量内存进行 直接存取,而必须通过分段的方 式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。
在这一过程中,Windows 子系统会启动winlogon.exe,这是一个 系统服务,用于提供对Windows 用户的登录和注销的支持。 Winlogon.exe 可以完成如下一些工作:
1、启动服务子系统(services.exe),也称服务控制管理器 (Service Control Manager, SCM)。
电源开启自检过程。 初始化启动过程。 引导程序载入过程。 检测和配置硬件过程。 内核加载过程。 用户登录过程。 即插即用设备的检测过程。
一、电源开启自检过程
1、在打开计算机电源时,首先开始电源启动自检过 程。从BIOS中载入必要的指令,然后进行如下一系列 的自检操作:
2、进行硬件的初始化检查,例如检查内存的容量等。 3、验证用于启动操作系统的设备是否正常, 例如,检查硬盘是否存在等。
4、根据需要提供启动菜单
在这一步,如果用户按下F8键,则会显示启动菜单,允 许用户选择不同的启动方式,例如使用安全方式启动, 或是使用最后一次正确的配置启动等。
检测硬件和硬件配置
在这一步中,ntldr 启动ntdetect文件进行基本的设备检 查,然后将 boot.ini文件中的信息,以及注册表中的硬 件和软件信息传递给ntoskrnl.exe程序。
五、内核加载过程
将内核(ntoskrnl.exe)和硬件抽象层(hal.dll)载入到内存 加载控制集信息
在这一过程中,ntldr从注册表中的 HKEY_LOCAL-_MACHINE\SYSTEM位置加载相应的控制集 (Control Set)信息,并确定在启动过程中要加载的设备驱动。
Multi表示一个非SCSI硬盘设备或一个由SCSI BIOS访问的 SCSI硬盘,该文段也可为SCSI,这是其意思为一个由SCSI BIOS禁止的硬盘。(0)是硬件适配卡序号(数字不一定是 0)。Disk(0)表示SCSI总线号(数字不一定是0),如果前 面是Multi则这项永远为disk(0),数字不改变。Rdisk(0)表示硬 盘的序号。Partition(3)为分区序号。
在处理完boot.ini文件四之、后检,测ntld和r会配启置动硬ntd件et过ec程t程序。在基于X86的系
统中,ntdetect会通过 调用系统固件程序收集安装的硬件信息,然后由 ntdetect将这些信息传递送回ntldr。Ntldr获取从ntdetect发来的信 息后, 将这些信息组织成为内部的断气结构形式,然后由ntldr 启动 ntoskrnl.exe ,并将这些信息发送给它。 Ntdetect 会收集如下类型的硬件信息: 1、系统固件信息,例如时间和日期等 2、总线适配器的类型 3、显卡适配器的类型 4、键盘 5、通信端口 6、磁盘 7、软盘 8、输入设备,例如鼠标 9、并口 10、安装在ISA槽中的ISA设备 11、完成信息的检测之后,Windows XP会在屏幕上显示那个著名的 Windows XP商标,并显示一个滚动的,告诉用户Windows 的启动进程。
4、从CMOS中读取系统配置信息。例如:当前计算 机硬件信息,用户设置信号(磁盘引导顺序,引导密 码等)
5、注:在完成了电源启动的自检之后,每个带有固 件的硬件设备,如显卡和磁盘控制器,都会根据需要 完成内部的自检操作。
二、初始化启动过程
在完成了电源启动自检过程之后,存储在CMOS中的设置,例如磁盘的 引导顺序等,能够决定由哪些设备来引导计算机。例如,可以设置磁盘的引导 顺序为首先通过A盘引导,其次才通过C盘引导,则系统会首先尝试用A盘引 导系统,如果A盘存在并可引导,则通过A盘引导。如果A盘不存在,则通过C 盘引导 系统。如果A盘存在,但不是引导盘,则系统地提示系统不可引导。
七、即插即用设备的检测过程
对即插即用设备的检测,实际上是和登录过 程异步进行的。由系统固件、硬件、设备驱 动和系统特性决定了Windows XP如何对新设 备进行检 测和枚举。当即插即用组件正常工 作后,Windows XP会对新设备进行检测,为 它们分配系统资源,并在尽量不要用户提供 选择的情况下,为新设备安装一 个合适版本 的驱动程序。