恢复Windows服务器注册表的系统配置单元关于注册表Windows服务器的注册表看上去令人望而生畏,包括一些陌生的拼写、怪异的字符,但它却是服务器配置的核心和灵魂。
一旦Windows服务器的注册表受到破坏,可能会导致整个系统瘫痪。
下面将描述注册表的系统配置单元通常出现的几个症状,并介绍相应的恢复方法。
关于注册表注册表实际上是一个庞大的数据库,记录并更新计算机上所有的设置信息。
如果用户改变壁纸、显示设置、或服务器上安装的软件,Windows 2000将在注册表中记录这些变更。
注册表由子树、键、值、数据类型、配置单元组成。
其中,子树表示注册表的逻辑结构;键、值、数据类型是包含在注册表子树中的一些信息,它们都是注册表逻辑结构的组成部份;数据类型表示注册表将记录的数据种类(例如:简单的字符串或二进制信息);配置单元则是从另一方面表示注册表的物理结构。
Regedit (Regedit.exe) 和 Regedt32 (Regedt32.exe)是对注册表进行编辑的两个工具,两者之间的差异其实很小。
主要的不同在于,Regedt32提供了一个安全特性,称为只读模式。
当从选项菜单中选择使用它时,系统允许用户只读注册表,却没有权限进行编辑,使用户因小错误导致重大问题出现的机率最小化。
Regedit虽然不具备这项安全特性,但它为用户提供了一条直接的路途通向所有子树,从而取代了从一个窗口跳向另一窗口的命令。
两个注册表编辑工具虽然看上去不同,并且存在着细微的内部差异,它们却被冠以相同的名字,即注册表编辑器。
系统配置单元保存用户的结构设置系统配置单元由一台机器正确启动所需要的系统配置信息组成,如驱动程序的加载、硬件设备信息、需要开启的服务、以及执行软件设置等信息。
系统配置单元存在于注册表编辑器的Hkey_local_machine\system目录下,在CurrentControlSet子键中存储各项配置数据。
如同其它类型的数据库文件一样,系统配置单元是作为一个物理文件存在于服务器的硬盘驱动器上。
用户可以在%systemroot%\system32\config目录中查找到它。
当用户查看这个目录时,会看到一组文件,包括被称为System和System.alt 的两个文件。
System表示系统配置单元,而System.alt则是系统的一个完整的拷贝,用来容忍故障的出现。
系统配置单元的问题系统配置单元文件的大小受多方面限制,从而引起问题。
当计算机进行适当的装载和执行时,系统配置单元文件不应该超过13MB,一旦超出这个限制,Windows 2000启动程序将无法进行。
这个限制的存在,是由于系统配置单元的加载是在一个低水平的环境中进行,仅有16MB RAM可利用资源执行启动程序。
当系统配置单元的加载程序,必须与NT 装载程序、NT内核、HAL、以及其它要求启动的驱动程序同时分享16MB RAM资源。
在一个典型的服务器上,通常不能留出更多的RAM资源进行共享,因此庞大的系统配置单元可能导致启动程序无法进行。
即便在一个普通的机器中,系统配置单元文件也可能很庞大。
例如,一台运行许多标准应用程序的便携式电脑,即便它不是一台承担繁重任务的机器,然而系统配置单元文件也占用了2.6MB资源;而另外一台作为测试服务器的机器,其系统配置单元文件占用了5.5MB资源,这使得服务器实际上不能执行任何工作。
当系统配置单元增加时,上述事实的存在导致系统配置单元形成碎片。
这种破碎在本质上是破坏性的,同时它也导致文件残缺。
一旦这些问题在用户的系统配置单元发生,用不了太长时间,用户手头的服务器就不能继续工作了。
通过限定系统配置单元大小,可以使它的增加不超过13MB;但这样做也不能配合Windows 2000域控制器进行工作。
系统配置单元可以配合运行许多重要共享资源的服务器工作,同时要求这个服务器的注册表足够的大。
如果用户的服务器属于上述类别,那么通过Microsoft Knowledge Base可以检验用户需要制订的注册表项目。
恢复系统配置单元恢复系统配置单元因为系统配置单元的问题而引起服务器启动失败时,用户可以采取多种方法对此情形进行补救,并且恢复服务器的运行。
这些补救方法包括使用紧急修复磁盘(Emergency Repair Disk)、Windows 2000恢复控制台(Recovery Console)、和紧急修复程序(Emergency Repair Process)。
紧急修复磁盘(ERD)通过修复系统配置单元,启动计算机进入一个可使用的状态是一件相对而言简单的事情;然而,需要做多少工作才能使用户的计算机依赖最新的注册表备份进行工作,这正是ERD程序重要的原因所在。
如果拥有一个ERD,用户就等于拥有了一个最新的系统配置单元备份,此时需要做的只是一些恢复配置单元的事情;如果没有ERD,用户则需要做更多的工作,并在机器各方面状态良好的条件下去恢复服务器的运行。
当然,使用ERD首先需要用户制作一个ERD。
因为服务器配置可能改变,使许多管理员推迟执行这项工作。
然而,如果还没有制作一个ERD,用户应该尽可能早的制作它,比如阅读完这篇文章后。
ERD并不是一个启动盘,但它被运用在与Windows 2000恢复控制台的连接中。
用户可以利用Windows 2000的备份文件程序制作一个ERD,点击 "开始 | 运行" ,当运行对话框打开时,键入 "ntbackup" 并点击"确定" 。
当文件备份程序开始运行后,点击"紧急修复磁盘"按钮并按提示执行。
当出现"紧急修复磁盘"屏时,选择"也将注册表备份到修复目录中"。
ERD将文件写在一张软盘上,并在服务器硬盘驱动器的%systemroot%\repair\regback 文件夹下产生一个名为Regback的文件夹。
这个文件夹由备份到ERD的最新的文件组成,包括最近的系统配置单元文件夹。
当用户每次应用一个服务包去更新系统或一个驱动器时,都应该创建一个新的ERD。
如此可确保用户的ERD内始终有一个最新的系统配置单元备份。
Windows 2000恢复控制台恢复控制台是一个为高级管理任务服务的工具。
用户可在启动Windows 2000光盘时运行它,或将它安装在服务器上运行。
如果用户先前没有在服务器上安装恢复控制台,那么我要强烈推荐用户使用它。
安装恢复控制台,将Windows 2000光盘插入CD-ROM驱动器。
打开命令提示符,键入:drive:\i386\winnt32.exe /cmdcons ,这里的drive指运行CD-ROM的驱动器盘符。
点击"确定"开始安装程序,然后重新启动电脑。
当下次启动服务器时,Microsoft Windows的恢复控制台将作为服务器启动菜单的一个选项显示。
如果用户想开始这项修复程序,选择这个选项;否则,服务器启动将按正常模式进行。
在Windows 2000光盘启动时运行恢复控制台,首先要确认的是,服务器的BIOS 是从CD-ROM的驱动器开始启动。
一旦取得安装程序的文本模式部分,系统将提示用户选择安装Windows 2000,或按R键修复一个现有的安装程序。
显然,直接按R键,可避免重新安装Windows 2000。
接下来的一屏将询问用户,选择使用恢复控制台或使用紧急修复程序。
恢复控制台是在%systemroot%目录中呈现出的一条命令行。
用户可以通过文件重命名方式来修复服务器。
紧急修复程序不同于恢复控制台,紧急修复程序对系统修复提供两个选项,分别是手动修复和快速修复。
手动修复检查Windows 2000的启动环境,检验Windows 2000的系统文件,以及检查引导启动扇区。
它不对注册表文件进行检查。
当选择快速修复选项,并假设%systemroot%\repair可行时,注册表文件将得到检查。
如果由于系统配置单元问题引起服务器无法启动时,将出现一条错误信息:因为文件丢失或破坏,Windows 无法启动(Windows Could Not Start Because The Following File Is Missing Or Corrupt:\Winnt\System32\Config\System.ced )。
如果用户安装了一个Promise ATA66 IDE PCI控制器卡,同样会出现上述错误信息提示。
解决的方法是移除这个控制器卡并重新启动计算机。
使用ERD恢复系统配置单元使用ERD恢复系统配置单元利用一个最近创建的ERD恢复系统配置单元,以运行恢复控制台为例:当显示命令提示时,输入下列命令,每输完一条命令后按回车键。
cd system32\configren system system.oldren system.alt systemalt.oldcd \winnt\repair\regbackcopy system c:\winnt\system32\config在这个过程中,用户要对出错的系统和System.alt配置单元文件进行重命名,并用ERD中最新的系统配置单元文件替换它。
所有这些工作都需要继续进行新的ERD备份。
修复程序由多个文件组成,其中最重要的文件是Setup.log。
Setup.log 是一个所有安装文件的CRC数据的记录(CRC:cyclical redundancy check循环冗余校验)。
利用这些记录信息,Regback可以恢复先前的系统配置单元。
在完全理想的环境里,用户应该在最近的48小时内创建ERD;然而,在现实条件中,必须处理服务器运行的注册表配置,它是由最初的Windows 2000操作系统设置和现在的设置共同支持。
用户可能必须处理服务器运行的注册表配置,这个注册表配置是原先的Windows 2000操作系统安装程序。
不使用ERD时如何对系统配置单元进行恢复如果用户没有将最新的系统配置单元备份保留成一个ERD,这里提供了两个选择用来修复服务器上被损坏的系统配置单元,分别是快速修复和恢复控制台。
快速修复的使用用户可以通过上述的紧急修复程序运行快速修复功能,在运行之前,需要绝对地确定没有任何其他的修复选择可供使用。
一旦在Windows 2000域控制器上运行快速修复时,如同用户第一次安装操作系统那样,Windows 2000将激活系统配置单元。
快速修复从%systemroot%\repair中寻找必备的文件,然而当用户添加程序并安装在服务器上时,这些必备的文件并没有得到适时的更新。
例如,一个域控制器包括诸如活动目录等对象,当快速修复执行结束时,必须重新启动并重新设置所有必需的软件和驱动程序。