计算机软件系统故障及维护
Step 2. 选择操作系统 这一步在单操作系统的计算机上不是必须的。如果计算机安装了不止一个操作 系统(也就是多操作系统),而且正确设置了boot.ini,计算机会显示一个操作系 统选项,这是NTLDR读取boot.ini的结果,操作系统选项的设置操作步骤是“系统属 性”→“高级”→“启动和故障恢复”,如图13.2所示。
图13.5 ERD Commander系统维护盘启动后的界面
ቤተ መጻሕፍቲ ባይዱ
Windows 98中可以制作功能较强的DOS启动盘,但它已经很少使用。在 Windows XP系统中,可以制作简单的DOS启动盘,插入一张空白软盘,打开“我 的电脑”,右击A盘盘符,再在弹出的菜单中选择“格式化”选项。在弹出的格 式化对话框(见图13.6)中勾选“创建一个MS-DOS启动盘”后单击“开始”按 钮,就可以制作一张只含有DOS核心文件io.sys、msdos.sys、的启动 盘,但是这张启动盘不包含DOS命令工具,必须手动复制xcopy.exe、delete.exe等 命令文件到软盘上。
13.1 13.2 13.3 13.4
Windows XP操作系统原理
使用系统维护工具
系统启动故障的修复
病毒防治的一般方法
13.1.1 Windows XP的架构特点 Windows XP已不再完整支持16位DOS应用程序,仅有的CMD命令窗口(“开 始”→“运行”→“输入CMD”)也只能执行一些基本DOS命令,对大多数直接控 制硬件的16位应用程序是不支持的。从图13.1可以看出,Windows XP还引入了用 户模式和内核模式,以提高内核稳定性,在与硬件交互时增加了硬件抽象层(HAL) 以提供抽象的硬件访问接口,避免了直接操作硬件,这些都是Windows XP稳定性 的主要保障。
图13.7 MAXDOS维护工具集
如图13.8所示,进入其DOS模式的“工具箱”之后,将会显示一系列工具的运 行命令,如ghost、dm(分区工具)、mouse(加载鼠标驱动)等,另外DOS命令工 具如Format(格式化磁盘)、Fdisk(DOS磁盘分区工具)、dir(显示目录下的文 件)、cd(切换目录)、del(删除文件)、copy(复制文件)等也可以使用。
5.登录 Winlogon.exe启动Local Security Authority(本地安全授权进程LSASS.exe),同 时Windows XP欢迎屏幕或登录对话框出现,提示输入有效的用户名或密码。这时, 系统还可能在后台继续初始化刚才没有完成的驱动程序和服务(SvcHost.exe)。只 有用户成功登录到计算机并加载所有自启动程序(一般是用户安装的软件)显示桌 面(explore.exe)后,Windows XP的启动才被认为是完成了。在成功登录后,系统 以当前Control Set覆盖LastKnownGood编号的Control Set,完成这一步骤后,意味着 系统已经成功引导了。
3.加载内核阶段 在加载内核阶段,NTLDR加载被称为Windows XP内核的Ntoskrnl.exe。系统加载 了Windows XP内核,但是没有将它初始化。接着NTLDR加载硬件抽象层(Hal*.dll), 然后系统继续加载HKEY_LOCAL_MACHINE\system键,NTLDR读取Select键(见图13.4) 来决定哪一个Control Set(控制集)将被加载。控制集包含设备的驱动程序及需要 加载的服务程序。NTLDR加载HKEY_LOCAL_MACHINE\system\ControlSet xxx(编号) \service\...下start键值为0的底层设备驱动程序。
图13.4 Select项记录了 4种状态的控制集编号
4.初始化内核阶段 Step 1. 创建Hardware注册表键 首先在注册表中创建Hardware键,Windows内核会使用在前面硬件检测阶段 收集到的硬件信息来创建HKEY_LOCAL_MACHINE\Hardware键,也就是说,注册表 中该键的内容并不是固定的,而是根据当前系统中的硬件配置情况动态更新。 Step 2. 对Control Set注册表键进行复制 如果Hardware注册表键创建成功,那么系统内核将会对Control Set键的内容创 建一个备份。这个备份将被用在系统高级启动菜单的“最后一次正确配置”选项 中。例如,用户安装了一个新的显卡驱动程序,重启动系统之后Hardware注册表 键还没有创建成功系统就已经崩溃了,这时如果选择“最后一次正确配置”选项, 系统将会自动使用上一次的Control Set注册表键的备份内容重新生成Hardware键, 这样就可以撤销之前因为安装了新的显卡驱动程序对系统设置的更改。
Step 3. 载入和初始化设备驱动程序 在这一阶段,操作系统内核首先初始化之前在载入内核阶段加载的底层设备驱 动程序,然后内核会在注册表的 HKEY_LOCAL_MACHINE\System\CurrentControl\SetServices键下查找所有Start键值为 “1”的设备驱动程序。这些设备驱动程序将在加载之后立刻进行初始化,如果在 这一过程中发生任何错误,系统内核将会自动根据设备驱动程序的“ErrorControl” 键值进行处理。“ErrorControl”键的键值共有如下4种:
1.预引导阶段 在按下计算机电源到操作系统开始加载第一个文件前这段时间,称为预引导 (Pre-Boot)阶段。此时,计算机首先运行Power On Self Test(POST),POST检测系 统的处理器、内存等硬件设备的状况。所有硬件设备都被自动识别和配置后,BIOS 将会定位引导设备(如硬盘或光驱),然后MBR(Master Boot Record)被加载并运 行。在预引导阶段的最后将加载Windows XP的NTLDR文件。 2.引导阶段 Windows XP引导阶段包含4个步骤。 Step 1. 引导载入程序的初始化 NTLDR程序会将处理器由实模式(Real Mode)切换为32位平面内存模式(32bit Flat Memory Mode)。在实模式下,内存中的前640 KB是为MS-DOS保留的,而剩 余内存则被当作扩展内存使用,这样Windows XP将无法使用全部的物理内存。而32 位平面内存模式让Windows XP能使用计算机上安装的所有内存(由于设计使然,32 位Windows操作系统只能使用2 GB,64位可使用4 GB)。接下来,NTLDR启动内建的 微型文件系统驱动(mini-file system drivers),通过这个步骤,使NTLDR可以识别每 一个用NTFS或FAT文件系统格式化的分区,以便发现和加载Windows XP。
timeout表示操作系统菜单显示的时间(秒);default表示如果用户不选择,则 默认启动后面指定的操作系统,multi(x)或scsi(x)表示磁盘控制器,disk(x)表 示 SCSI总线号(如果是multi,则x总为0),rdisk(x)表示硬盘编号(如果有多块硬 盘,则从0开始依次编号),partition(x)表示分区(从1开始编号)。NTLDR从 [operating systems]中查找 Windows XP的系统文件夹位置。
图13.1 Windows XP体系结构
(1)内核模式(Kernel Mode)。当CPU运行于内核模式时,一切程序都可运 行。 (2)用户模式(User Mode)。在这个模式中,硬件防止特权指令的执行,并 对内存和I/O空间的访问操作进行检查。允许Windows XP限制程序对各种I/O操作的 访问,并捕捉违反系统完整性的任何行为。 Windows系统文件夹下文件数量很多,并且随着安装软件的增加而递增。 Windows XP架构中的核心系统文件如表13.1所示。
图13.6 用Windows XP格式化命令制作 一张简单的DOS启动盘
通常,最方便的方法是下载网上提供的启动维护光盘ISO镜像,例如,比较知 名的MAXDOS工具集,网址为/。下载光盘版镜像后,可用 Nero Burning ROM刻录到CD-R,用这张光盘启动维护系统(见图13.7)。
图13.8 运行DOS命令和维护工具
13.2.1 系统维护盘 Windows PE(Pre-installation Environment,预安装环境)是一种保留了核心 Windows功能的系统,ERD Commander是基于Windows PE 的著名系统维护盘。 ERD Commander减去了绝大多数功能,以系统维护软件取而代之,这些维护工 具可以直接对操作维护对象(指定分区内的Windows)进行文件、磁盘分区、注册 表、驱动程序和服务、网络配置、系统还原功能、系统补丁、修改管理员密码等操 作。如图13.5所示为ERD Commander操作界面,它与Windows XP极为相似。
0:忽略,继续引导,不显示错误信息。 1:正常,继续引导,显示错误信息。 2:恢复,停止引导,使用“最后一次正确配置”选项重新启动系统。如果依然出错则 忽略该错误。 3:严重,停止引导,使用“最后一次正确配置”选项重新启动系统。如果依然出错则 会停止引导,并显示一条错误信息。
Step 4. 启动服务 系统内核成功加载,并且成功初始化所有底层设备驱动程序后,会话管理器 (Session Manager)通过会话子系统进程(smss.exe)启动高层子系统和服务,然 后启动Win32子系统服务进程(csrss.exe)并加载Kernel、Advapi32、User32、GDI32 等子系统dll。Win32子系统的作用是控制所有输入/输出设备及访问显示设备。当所 有这些操作都完成后,Windows图形界面显示出来,同时将可以使用键盘及其他 I/O设备。接下来会话管理器会启动Windows登录进程(Winlogon.exe),至此,初 始化内核阶段成功完成,用户可以开始登录了。
图13.2 操作系统选项设备
例如,安装了Windows XP和Windows 2000的计算机系统分区根目录下的boot.ini 中,主要包含以下内容: