Windows 2000 或 XP 系统出现故障的时候,通常我们可以通过"最后一次正确配置"、"安全模式"、"系统还原"(只用于XP)来修复。但是有一些情况是不能通过这些办法来修复的,例如:系统引导文件丢失、BOOT.INI 文件丢失或配置错误、系统DLL丢失等等。这个时候,重新安装操作系统虽然是个有效的方法,但是要花费很长的时间。其实我们还可以通过恢复控制台来做最后的尝试。使用恢复控制台,我们不但可以进行包括启用和禁用系统服务、分区和格式化磁盘、修复引导记录等操作,还可以通过复制源光盘的文件来修复丢失系统文件的错误等等。 

恢复控制台虽然很实用,但是也是有一些限制: 

要使用恢复控制台,必须知道系统管理员的账号和苈耄? 

系统控制台里面只能访问以下的文件夹:引导文件夹、系统目录、可移动存储设备。如果访问其它文件夹,系统会提示"Access Denied"(拒绝访问); 

在恢复控制台,可以把文件从光、软盘复制到硬盘,或者是硬盘复制到硬盘。但是不能从硬盘复制到软盘。 

一. 启动恢复控制台 

要进入恢复控制台,首先要用OS光盘启动,在出现"欢迎使用安装程序"的界面,我们可以看到第二项提示是"要使用\'恢复控制台\'修复 Windows XP安装,请按 R"。 

在按了R键之后,安装程序会对磁盘进行检查。稍等片刻后,屏幕上会列出已经找到的操作系统及其安装目录,并且会自动编号。系统会询问你要登录到哪一个Windows系统,我们只要输入系统前面的序号,然后回车(千万不要直接按回车!系统会重新启动的!),然后会询问管理员的密码,输入之后按回车,这样我们就进入了修复控制台 

二.常用的系统故障恢复命令 

1. Bootcfg:用于对启动文件BOOT.INI的配置和恢复(Win 2K没有该命令) 
2. Disable 和 Enable:用于禁用/启用系统服务或设备驱动程序 
3. Expand:用于从压缩文件中提取文件 
4. FixBoot:重新写入新的分区引导区到指定的系统分区 
5. FixMBR:修复启动磁盘的主引导记录 
6. Help:显示帮助 
7. Listsvc:列出该系统上所有的系统服务和设备驱动程序(配合Disable/Enable使用) 
8. Set:显示和设置环境变量 

三.修复常见系统启动故障 

(一) 系统引导区损坏 
通常是因为被病毒损坏,或者是使用一些第三方的磁盘工具,造成引导扇区内容被破坏。现象是到OS启动的阶段就停着不动,或提示没有可启动的磁盘。其实用恢复控制台可以很简单地恢复这种错误。进入恢复控制台,输入FIXBOOT,系统会提示是否确定要写入新的启动扇区到目标磁盘分区,按Y然后回车,系统写入成功后,按EXIT重新启动就可以了。 

如果还是不行,有可能是主引导记录(MBR,Main Boot Record)损坏了,这时候我们就要用到FixMBR这个命令了,但是这个命令风险比较大,有可能损坏分区信息造成数据丢失,所以不到最后千万不要用! 

使用方法跟FIXBOOT一样,进入恢复控制台,输入FixMBR,系统会有警告信息(,确定要执行的话,按Y然后按回车就可以了,然后再恢复控制台的提示符状态按EXIT重新启动。 

(二) 系统引导文件损坏或丢失 
当系统启动时,提示找不到NTLDR或者NTDETECT.COM时,系统要求重新启动。这种情况多发生在同一分区装多系统,或某些误操作,删除了系统根目录下面的文件。 

其实这两个文件都可以在安装光盘的i386目录下找到,直接复制到系统盘根目录就可以了。首先进入恢复控制台,然后输入(假设光盘盘符是D盘): 

"COPY D:\\i386\\NTLDR C:\\" 或 "COPY D:\\i386\\NTDETECT.COM C:\\" 

(如提示文件存在,覆盖就可以)然后敲EXIT重新启动即可。 

(三) 引导配置文件BOOT.INI损坏或丢失 
这种情况多发生在安装多系统时顺序不对,或者某些误操作引起的。保存有系统多重启动菜单的BOOT.INI丢失或被破坏之后,启动菜单会消失(虽然如果你只有一个系统的时候,它会以默认目录启动,但是还是会有一个错误提示,。 

其实这个错误很简单,我们可以使用恢复控制台的BOOTCFG命令来重建BOOT.INI文件。首先进入恢复控制台,然后在提示符下输入: BOOTCFG /REBUILD,然后系统会自动扫描所有磁盘以寻找可以添加到启动菜单的操作系统。扫描完毕之后,系统会列出能找到的操作系统,然后你可以选择哪一个加载到BOOT.INI(按Y表示"是",按N表示"不",按A表示"全部")。然后在提示"输入加载识别符"时输入这个启动项目的名称,提示"输入OS加载选项"时输入启动参数(通常是FASTDETECT,也可以是其它,如NODETECT等),然后敲回车就回到恢复控制台的提示符,敲EXIT重启,启动菜单就重新出现了。 

(四) 系统文件丢失 
有时候会碰到这种情况,系统启动的过程中,提示仔 Windows\\System32 下面有某个文件丢失,系统无法启动,要求重新安装这样子。造成这种情况的原因有很多,通常是安装卸载一些软件的时候,被删除或替换了某些重要的系统文件,因而造成系统无法启动,以下是一个例子。 

针对这种情况,我们可以使用恢复控制台的EXPAND或COPY命令来进行修复。进入恢复控制台,然后进入光盘下的i386文件夹,首先要确定我们丢失的文件是不是压缩过的。如果没有压缩过,我们直接复制到目标位置就可以了就可以了,例如NTDLL.DLL;如果是压缩的,就要用到EXPAND命令了,例如NTDSBCLI.DL_(只要后缀名最后一个是下划线的就是压缩过的)。 

COPY的格式是:COPY(空格)来源文件(空格)目标文件夹 
例如:COPY D:\\i386\\NTDLL.DLL C:\\Windows\\System32 

EXPAND格式也是:EXPAND(空格)来源文件(空格)目标文件夹 
例如:EXPAND D:\\i386\\NTDSBCLI.DL_ C:\\Windows\\System32
-------------------------------------------------------------------
硬盘出马,让光盘下岗
  点击“开始→运行”,输入“sfc /scannow”回车就会开始检查系统文件,当SFC检查到有系统文件被替换或丢失时,它就会 提示插入Windows XP安装光盘来进行修复(见图1),这时你可能需要翻箱倒柜找出Windows XP安装光盘,这就是使用SFC的第一大不爽。很多朋友都是直接把Windows XP光盘上的安装文件复制到硬盘上了,那是不是可以让SFC在修复系统文件时直接使用硬盘上的Windows XP安装文件呢?
  
  例如你将Windows XP安装文件备份到了E:\winxp目录,那么运行regedit打开“注册表编辑器”,定位至[HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Setup]主键,首先在右边将“CDInstall”键值数据修改为“0”,然后再分别将“ServicePackSourcePath”和“SourcePath”两个键值的数值都修改为“E:\winxp”即可(见图2)。
  以后再运行“sfc /scannow”命令时,你会发现它已经可以完全自动地进行系统文件修复,不再出现插入光盘的提示了。
  小提示:运行CMD打开“命令提示符”,在其中输入“sfc /?”命令可以查看“系统文件检查程序”的详细参数。另外,很多“命令提示符”下的命令行程序都能使用这个参数来查看详细参数,同类型的还有“-?”和“/help”等。
修复文件不再“老掉牙”
  这就是开头提到的文件版本问题,大部分用户先安装的是没有集成SP2的原始版Windows XP,然后在此基础上安装的SP2补丁包,这时在C:\WINDOWS目录下会增加一个ServicePackFiles目录,即SP2的安装文件,该目录会占用近400MB的磁盘空间,不过我们并不能删除这个文件夹,否则当一个ServicePack系统文件损坏时,Windows文件保护功能将无法自动还原,不但没有任何错误提示,同时还会导致一些系统组件无法更新。为了减少系统分区的空间占用,我们也可以将ServicePackFiles目录移动到其他分区,但需要按照前面介绍的方法修改“ServicePackSourcePath”和“ServicePackCachePath”键值指向转移后的新路径。这种方法比较繁琐,最好的办法则是把SP2补丁包手工集成到硬盘上的Windows XP安装文件中。
  假设SP2补丁包的文件名为xpsp2.exe,打开命令行窗口,进入xpsp2.exe所在目录,输入提取文件的命令“xpsp2.exe -x”,会弹出提示让你选择提取目录(见图3),例如输入路径为“c:\xpsp2”。提取完成后进入c:\xpsp2\i386\update目录,输入命令“update.exe -S:e:\winxp”,注意这里的路径“e:\winxp”是指硬盘上的Windows XP安装文件路径,参数“-s:”和路径之间没有空格,当提示“集成安装已经结束”即告完成。
  小提示:许多媒体在介绍系统优化的文章中都会提到删除C:\WINDOWS\system32\dllcache目录中的系统文件备份可以减少系统分区空间占用,但这样会导致系统文件保护功能恢复被替换的系统文件时也弹出插入Windows XP安装光盘的提示,按照上面的方法修改注册表同样可以解决这个问题。