`
javasalatu
  • 浏览: 718436 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7665
文章分类
社区版块
存档分类
最新评论

Windows XP启动过程及常见启动故障

 
阅读更多

一、Windows XP系统在磁盘上的组织

安装XP过程中,Windows安装系统会在计算机的磁盘分区写入引导相关的组件,分别置放于系统卷(system volume)启动卷(boot volume)。 一个硬盘一般有两种分区方式:一是四个主分区,每个分区都可以作为活动分区;二是三个主分区和一个扩展分区,扩展分区中以逻辑链方式组织逻辑分区,逻辑分区数不受限制。Windows的系统卷只能是主分区,启动卷则没有此限制,主分区或逻辑分区均可。

Windows安装程序会选择磁盘上第一个可引导的主分区(即活动分区)作为系统卷,在写MBR(Master Boot Record,磁盘的第一个扇区,大小一般为512字节)代码的同时,在该分区第一个扇区写入引导扇区。系统卷上包含的显示系统组件包括Ntldr, Boot.ini, Ntdetect.com,Boot.ini是引导菜单配置文件,Ntdetect.com为Ntldr执行硬件检测,Ntldr负责引导Windows系统,它会读入Boot.ini,提示引导菜单,加载Ntoskrnl.exe, Bootvid.dll, Hal.dll和引导启动的设备驱动程序。如果需要,系统卷上还会包含SCSI驱动程序Ntbootdd.sys。

Windows系统其他所有组件都会被置放于启动卷,在安装的时候由用户选择确定,系统环境变量%SystemDrive%指明该分区,所有Windows文件安装在%SystemRoot%目录下。Windows核心组件都位于<WINDOWS/system32>子目录下,如Ntoskrnl.exe(初始化执行体子系统), Hal.dll(内核模式DLL), smss.exe(会话管理器), winlogon.exe(登录进程), win32k.sys(Windows子系统)等,驱动程序位于drivers目录下,注册表文件位于config目录下。

多数情况下,系统卷和启动卷是一个分区。但事情总有例外,比如把XP安装在逻辑分区上,此时这两个卷就是分开的,相关组件就会分别写在相应的分区上。这里跑一下题,能不能同时在一个台机器上安装多个XP系统呢?理论上分析一下,启动卷可以位于不同的分区,但是如果活动分区不发生改动的话,系统卷总是同一个分区。如此一来,系统卷里的组件就会被覆盖重写,多个XP系统共享系统卷组件,这与彼此完全独立的XP系统多少还是有所区别的。经过实验,验证了我的分析,的确可以在一台机器上安装多个XP系统,但是系卷是共享的,也就是ntldr, boot.ini(多个启动项), ntdetect.exe是共用的。

二、Windows XP启动过程

从系统加电启动计算机,到用户登录到桌面完成启动,Windows大致经历以下几个阶段。

1. 预引导阶段

系统加电后,计算机立即运行POST自检程序,检测系统硬件并进行初始化工作。然后,BIOS定位计算机的引导设备,读取MBR至内存0X7c00处,然后就跳转到0x7C00处去执行。

2. 引导阶段

MBR引导代码扫描分区表,找到XP系统卷,然后将对应分区的引导扇区读入内存,并且将控制权交给它。引导扇区代码将Ntldr加载到内存中以后,它把控制权交给Ntldr,之后就由Ntldr来控制引导过程。

Ntldr的第一个动作就是将系统切换至保护模式,打开分页机制,系统进入了Windows的标准状态。接着,Ntldr利用BIOS服务访问磁盘。如果是SCSI磁盘,则需要加载Ntbootdd.sys文件,用它代替引导代码函数来访问磁盘。Ntldr读取系统卷根目录下的boot.ini引导菜单文件,如果存在多个引导项,则显示一个引导选择菜单。一旦引导项确定下来,Ntldr加载并执行Ntdetect.exe,它使用系统的BIOS来查询系统的基本设备和配置信息。这些信息被收集到Ntldr中,在引导过程的后期,它们被保存在注册表 HKLM/HARDWARE//DESCRIPTION。

3. 加载内核阶段

在该阶段,Ntldr将执行以下任务:

(1)加载正确的内核和HAL映像(默认是Ntoskrnl.exe和hal.dll)。

(2)读入SYSTEM注册表储巢,位于/Windows/system32/config/system,确定需要加载的驱动程序。

(3)扫描内存中的SYSTEM注册表储巢,找到所有的引导设备驱动程序。

(4)将访问系统目录的文件系统驱动加入引导驱动程序列表。

(5)加载引导驱动程序。

(6)准备CPU寄存器,调用Ntoskrnl.exe。

4. 初始化内核阶段

Ntoskrnl在屏幕显示Windows启动徽标。然后,它通过两阶段来完成内核子系统的初始化:第一阶段完成对象定义(process, thread, driver, etc)和核心数据结构初始化;第二阶段完成对象初始化和子系统启动。这两个过程有随后成为”System Idle Process”的内核系统线程来完成。

I/O Manager 按顺序加载”boot-start”驱动程序和”system-start”驱动程序,每个驱动程序的信息都保存在注册表HKLM/System/CurrentControlSet/Services中。最后, Ntoskrnl创建会话管理器进程(Session Manager) (/Windows/System32/Smss.exe), 这是第一个用户态进程。

Smss运行BootExecute中指定的程序,例如autochk,chkdsk等,处理“Delayed move/rename”命令,初始化paging files和其余的注册表项,加载并初始化内核模式中的Win32子系统 (Win32k.sys),启动Csrss.exe (Win32子系统在用户模式的部分),启动Winlogon.exe。

5. 登录阶段

Winlogon.exe加载GINA (Graphical Identification and Authentication)并等待用户登录,默认GINA是Msgina.dll,它会显示标的Windows登录对话框。然后,Winlogin创建服务控制管理器Services.exe进程,依次加载所有标识为自动启动的服务和驱动程序,以及本地安全认证子系统LSASS (Local Security Authority)。

一旦用户正确登录后,Winlogon从登录用户的轮廓中加载注册表储巢,并且将它映射到HKCU,然后设置用户环境变量。Winlogin通知GINA执行用户初始化程序Userinit.exe和Shell脚本,由HKLM/Software/Microsoft/Windows NT/CurrentVersion/WinLogon/Userinit和Shell指定,加载各种自动启动项。

至此,Windows启动完成,用户将控制计算机展开各种活动。

三、Windows XP常见启动故障

XP启动过程中可能发生一些问题,主要包括MBR损坏、引导扇区损坏、系统文件缺失或损坏、Boot.ini缺失或配置错误、系统崩溃或蓝屏、系统服务或驱动加载失败、用户登录问题等等。这些问题可能是由于硬盘破坏、文件破坏、缺失文件以及第三方驱动程序错误造成的。针对引导问题,Windows提供了多种诊断和修复解决方案,主要有最后已知的好配置(Last Known Good Configuration)、安全模式、安全模式下的驱动程序加载、恢复控制台(Recovery Console)。其中,恢复控制台中提供了很多实用工具,如fixmbr, fixboot, bootcfg, chkdsk。对于高级用户,可以利用Windows调试工具箱提供的内核调试器kd.exe或者WinDbg.exe,对崩溃转储文件、本地故障系统、远程故障系统进行诊断和修复。

四、参考文献

[1] 深入解析Windows操作系统,Mark E.Russinovich and David A.Solomon.

[2] Windows启动过程.ppt,喻勇(www.yuyong.net).
[3] WindowsXP启动过程.doc,佚名.

(Aiguille LIU / 刘爱贵 / aigui.liu@gmail.com)

分享到:
评论

相关推荐

    常见WindowsXP启动故障及解决方法.doc

    常见WindowsXP启动故障及解决方法.doc

    电脑故障维修大全 1.0 CHM格式电子书

    常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt故障 unix故障 NOVELL网障 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 局域网故障 内存...

    光盘启动盘制作完全手册1.08

    用CDIMAGE制作Windows2000启动光盘 十七.WindowsXP制作(CDIMAGE法) 十八.Win2000+Win98多重启动光盘制作 十九.Win2000三合一启动光盘制作 二十.自动化安装Windows系列 二十一.如何隐藏目录和文件 二十二.用cryptcd...

    电脑故障维修大全

    电脑故障维修大全 4.5 + 45招绝密Windows操作系统小技巧汇总 常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt系统 unix系统 NOVELL系统 ...

    电脑故障维修大全 3.5

    书籍简介 常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt故障 unix故障 NOVELL网障 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 ...

    电脑硬件故障维修大全4

    常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt系统 unix系统 NOVELL系统 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 局域网故障 ...

    电脑故障维修大全rar

    常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt故障 unix故障 NOVELL网障 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 局域网故障 ...

    电脑故障维修大全-电子书

    常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt故障 unix故障 NOVELL网障 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 局域网故障 ...

    电脑的各种故障维修大全

    常见系统故障 电脑小技巧 启动故障 死机故障 BLOS应用 DOS系统 98故障 Windows2000 Linux故障 XP故障 winnt系统 unix系统 NOVELL系统 病毒木马加解密 打印机故障 扫描仪故障 电源故障 光驱刻录故障 局域网故障 ...

    电脑维修与故障大全(合集)

     如果你是在单机使用WindowsXP,那么很多服务组件是根本不需要的,额外的服务程序影响了系统的速度,完全可将这些多余的服务组件禁用。单击“开始→控制面板→管理工具→服务”,弹出服务列表窗口,有些服务已经...

    由0晋升200%系统高手

    5.1.4 Bootvis真的可以优化Windows XP启动过程吗? 5.1.5 清除开机加载程序 5.1.6 配置预读取(Prefetch)功能 5.2 磁盘子系统性能优化 5.2.1 磁盘缓存的优化 5.2.2 磁盘碎片整理 5.2.3 优化虚拟内存...

    网络常见问题与故障1000例(下)

    Windows XP下TP-Link网卡安装故障 104. 安装网卡找不到RTL8139. SYS文件 105. 连接WOL线导致计算机黑屏 106. 无法正确安装DFE-530TX网卡 107. 无法正确安装PCMCIA网卡 108. 移动位置就Ping不通 ...

    网吧维护技术资料 合集

    1952 网吧维护\资料\xp实用技巧\WindowsXP不能正常关机的解决之道.txt 4978 网吧维护\资料\xp实用技巧\WindowsXP使用问题解答.txt 5776 网吧维护\资料\xp实用技巧\WinXP安装参数.txt 4233 网吧维护\资料\xp实用技巧\...

    为32位系统开启4GB以上大内存的支持功能

    2,我的电脑-属性-高级-启动和故障恢复-设置-编辑,这里编辑操作的是c盘根目录下隐藏的boot.ini文件,也可以通过在c盘显示隐藏文件的方法找到它,一般boot.ini里的内容如下: [boot loader] timeout=5 ...

    网络常见问题与故障1000例(中)

    Windows XP下TP-Link网卡安装故障 104. 安装网卡找不到RTL8139. SYS文件 105. 连接WOL线导致计算机黑屏 106. 无法正确安装DFE-530TX网卡 107. 无法正确安装PCMCIA网卡 108. 移动位置就Ping不通 ...

    网络常见问题与故障1000例

    Windows XP下TP-Link网卡安装故障 104. 安装网卡找不到RTL8139. SYS文件 105. 连接WOL线导致计算机黑屏 106. 无法正确安装DFE-530TX网卡 107. 无法正确安装PCMCIA网卡 108. 移动位置就Ping不通 ...

    Deepin XP系统优化与设置专用工具 1.65_简体中文绿色免费版 环境模式的优化

    如果您对已经使用别的优化工具优化过的系统效果不太满意,或者想对新装的系统进行一下优化,使用这个小工具无疑是您很好的选择,本工具特别适合优化WindowsXP系统,当然也可以对Windows 2000,Windows2003及Windows ...

    深入解析Windows操作系统中文.part2.rar

    本书针对Windows Server 2003、Windows XP和Windows 2000做了全面更新,通过许多练习实验让你直接感受到Windows的内部行为。另外,本书还介绍了一些高级诊断技术,以便使你的系统运行得更加平稳和高效。无论你是开发...

    Windows问答精华

    Win2000XP启动详解.txt Win2000优化技巧.txt Win2000使用纯DOS的方法.txt Win2000进程.txt windows下的EXE文件.txt Windows常用命令集.txt Windows系统安装.txt WinXP中对文件进行加密.txt WinXP中运行DOS程序.txt ...

    最新网管精华实用技巧170篇免费下载(网管的必备)

    Win2000XP启动详解 Win2000进程 Win2000使用纯DOS的方法 Win2000优化技巧 Windows常用命令集 Windows系统安装 windows下的EXE文件 WinXP常见进程 winxp的boot文件 winXP几项设置 WinXP开机菜单含义 ...

Global site tag (gtag.js) - Google Analytics