欢迎来到天天文库
浏览记录
ID:47682307
大小:1.05 MB
页数:22页
时间:2020-01-25
《谈win2003与win2008启动原理与双启动的故障解决》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.word格式,谈win2003与win2008启动原理及双启动的故障解决最近经常有学生询问Win2008的启动相关问题以及早期Windows版本与vista或win2008并存时的启动问题,现在可以说正是处于操作系统新旧版本的过滤时期,这类问题会在一定时间内越来越多,所以本人就写了这篇文章来谈论一下新版操作系统的启动原理以及如何解决新旧两种操作系统并存时的故障。我们还是先来看一下WinXP/2003的启动过程,这个启动过程其实还是挺复杂的,我在此画了一个草图: 当然这个图并没有把整个启动过程中所涉及到的细节都描述出来,但主要部分已经有了
2、,我们在此不进行详细描述,例如:系统自检成功后读取MBR中的前446个字节的引导信息等,这些不是咱们今天讨论的重点,我们只说说较为重要的几点:其中最为重要一步就是NTLDR:这个程序位于C盘根目录下如图所示:,专业.专注..word格式, NTLDR:全称为NTOSLoader,操作系统加载程序。它的主要作用是解析Boot.ini文件,通过读取Boot.ini文件,使系统在启动过程中出现选择菜单,由用户选择希望启动的操作系统。除了NTLDR我们可以看到在C盘根目录下还有一个boot.ini文件,这个文件在xp/2003中也是相当有分量的一
3、个家伙! BOOT.INI:简称为启动菜单文件,这个文件中存放了我们当前机器中操作的配置信息,安装了几个操作系统?分别位于哪个分区?给用户的选择提示是什么?默认选择时间是多长?等等。 NTLDR除了读取BOOT.INI文件中的启动配置信息之外还会加载并执行C盘根目录下的NTDETECT.COM文件,收集系统的硬件信息,NTDETECT.COM文件会调用BIOS中的内容来得到基本的硬件信息返回NTLDR以供操作系统使用,并将此信息保存到注册表中。 如果上述操作没有问题就会再现我们比较熟悉的进度条了! 然后就是加载Windo
4、ws的内核文件:NTOS,全称为:NTOSKRNL.EXE文件以及它所依赖的模板文件,如图所示:,专业.专注..word格式, 再往下就会将程序的执行权交给NTOSKRNL.EXE,下面的工作就由NTOSKRNL.EXE负责了!NTOSKRNL.EXE程序会通过调用一系统的函数,这也是整个启动过程中最复杂的地方,也是最容易出现问题的地方,如果这一部分没有问题,那么就会生成系统的第一个进程:SMSS SMSS:会话管理子系统SessionManagerSubSystem这是第一个用户态的进程。会执行一些注册表中某些表键中所定义的操作:
5、如bootexecute、pendingfilerenameoperations、pagingfile等创建会创建出CSRSS系统服务器进程和Winlogon登录进程。 CSRSS:Client/ServerRuntimeServerSubsystem作用:客户端服务子系统,用以控制Windows图形相关子系统,是用户模式Win32子系统的一部分。csrss代表客户/服务器运行子系统而且是一个基本的子系统必须一直运行。csrss用于维持Windows的控制。 Winlogon:Windows登录进程,主要作用是启动LSASS进程(
6、LocalSecurityAuthoritySubsystem,专业.专注..word格式,Service);如果是XP还会启动Logonui进程,如果是Win2003就不会生成logonui;出现登录提示框,提示用户输入用户名和密码,然后将些信息交给LSASS进行验证,如果通过就会创建一个访问令牌,最后由userinit程序执行用户登录和初始化脚本,至此,出现桌面后,我们的启动工作就完成了。但在winlogon对用户进行验证的同时还会启动services相关系统服务。 Winlogon的过程其实还是很复杂的,因为中间涉及到用户的认证和授权
7、的问题,在此还是想简单说一说,我们登录系统的方式主要交互式登录、系统登录、网络登录、服务登录和批处理登录。用到最多的有交互式登录、系统登录、网络登录和服务服务,当然用户最熟悉的肯定是交互式登录,也就是人坐在电脑前,与你的爱机直接面对面的“交流”!那么咱们就把交互式登录的过程大体说一下: 首先Winlogon作为登录进程首先出现,准备一个用户登录的环境。然后开始加载一个DLL文件:MSGINA.DLL,此文件作用是在屏幕上出现一个“Ctrl+Alt+Del”的界面,提示用户输入用户名和口令,然后将收到的信息交给下一个进程:LSASS进程,进
8、行用户身份的认证,当然这里又会有很多问题:工作组用户的认证、单域用户的认证、不同域用户的认证等等,但不论是哪一种情况,都必须由LSASS进程负责认证。
此文档下载收益归作者所有