对系统故障的排除

IT商界

  脆弱的Windows总把人搞得焦头烂额,特别是当系统出现问题时更麻烦,严重者只能重装系统才能解决。相信各位都与奇奇一样,曾因无数次漫长的安装过程而心烦,不过,使用WinXP后(Win2000也可以),奇奇就有了救命稻草,那就是“系统故障恢复控制台”。接着上一期的内容,今天继续通过实例让大家更进一步了解这个工具的具体应用。

  奇奇提醒:在上期中讲过了如何安装和启动系统故障恢复控制台,这里就不重复了。补充以下几点:

  ①应在系统出现故障之前将它安装好,做到“未雨绸缪”。建议在安装完整个WinXP系统后安装它;②系统故障恢复控制台安装在启动盘根目录下cmdcons文件夹中,大小约占7MB空间;③如果安装WinXP时给系统管理员设置过密码,则进入系统故障恢复控制台也会提示输入它(图1),如果连续三次输入错误,则系统故障恢复控制台将退出。

  一、修复双启动菜单

  常见的双系统有Win98和WinXP,如果安装了WinXP后重新安装Win98,则系统的双启动菜单将不会出现,原因是因为Win98改写了系统的引导记录。但此时难道非要重新将WinXP安装一遍才能解决问题吗?非也!解决办法如下:

  用WinXP的安装光盘启动计算机,当出现欢迎界面时按R键,进入系统故障恢复台,然后在其提示符下输入“bootcfg/scan”,系统会扫描到已经安装的Windows系统,当扫描到WinXP后,输入“bootcfg /add”(图2)。屏幕上会显示“选择要添加的安装”,此时选择系统前的编号,然后,系统提示输入加载时的提示信息(也就是在双启动菜单中显示的文字说明),接着系统提示输入操作系统的加载项,不妨输入“fastdetect”,按下回车键,退出后重新启动电脑,双启动菜单就出现了。

  奇奇提醒:“bootcfg”命令的作用就在于配置和恢复启动菜单。可以带上不同的参数,如加上“/ADD”则在启动列表中添加一个已经安装的系统(对于修复双启动菜单很有用);“/DEFAULT”:设置默认的启动项目(在双系统中要更改默认启动的系统则使用该参数来设置)。该命令的详细用法请在提示符后输入“bootcfg /?”查看。

  二、双系统中恢复WinXP的引导功能

  上面提到的仅仅是修复双启动菜单,如果在安装了WinXP后又安装了Win9X导致WinXP不能启动,则可以使用“fixboot”命令来尝试修复。该命令的作用在于修复引导记录,写入新的引导信息使分区能够引导,使用时直接在后面加上要修复的分区盘符即可。如双系统中WinXP装在D盘,则输入“FIXBOOT D:”。

  奇奇提醒:有时上述两种方法要结合起来使用。

  三、系统启动时提示找不到NTLDR文件

  NTLDR文件是WinXP的引导文件,当此文件丢失时启动系统会提示其缺失并要求按任意键重新启动,但每一次启动后都会出现提示,不能正确进入WinXP系统。在故障恢复控制台下可以比较容易提取到该文件,因为这个文件存在于安装光盘的i386目录中,提取方法如下:

  进入系统故障恢复控制台,转到C盘,输入“copy X:\I386\NTLDR”(注:这里的X为光驱盘符)并回车,如果系统提示要否覆盖则按下“Y”,之后输入exit命令退出控制台重新启动即可。

  奇奇提醒:只要安装了WinXP,在C盘上就会有ntldr、ntdetect.com等文件,它们是正常引导WinXP系统所不可缺少的,默认情况下这些文件系统是不会显示出来的,如果设置了让系统显示所有文件和显示受保护的系统文件,就有可能因误操作将这些文件删除。因此建议在系统正常时将这些文件备份到软盘中,一旦在它们受到损伤但恰好手头又找不到WinXP的安装光盘时,可以将该软盘上的文件复制到C:\根目录下,因为在故障恢复台下是可以将文件从软盘或光盘复制到硬盘(但不能将硬盘文件复制到软盘)。

  四、安装某个硬件设备后系统启动时死机

  尽管WinXP声称支持众多的硬件设备,但也可能你手头的设备它不认识,因此,当安装完系统后使用“添加硬件”的方法将该硬件强行添加到系统中,但重新启动时会因为该硬件有问题导致系统死机,此时往往还会有一屏的英文提示,初学者往往不知怎么办。

  这时就要先看清它所提示的设备驱动文件名或与之相关的信息,然后进入系统故障恢复台使用disable命令来禁止使用该设备。

  一般方法是:在控制台下输入“listsvc”并回车,系统会显示所有可以使用的服务和驱动程序(图3),仔细查找引起问题的硬件的驱动程序,找到后输入“disable XXX”(例如一系统声卡所用芯片为es1371就遇到过此类问题,则输入“disable es1371”──“Es1371”为通过“listsvc”查看到的服务名),让系统禁止该项服务,系统先显示该服务的启动类型(start_type)值(共有五种启动类型:SERVICE_AUTO_START──自动启动、SERVICE_DISABLED──禁止启动、SERVICE_DEMAND_START──当依赖于该服务的一个服务启动时才启动、SERVICE_BOOT_START──在系统完成引导过程的开始阶段后启动),此值需要记下来备用;重新启动系统后为该设备更新驱动程序,一切正常后在到控制台下输入“enable XXX 启动类型”。

  奇奇提醒:①“LISTSVC”的功能在于列出系统中的所有服务和系统驱动程序,以及服务启动的类型;“DISABLE”用于禁止系统启动时启用某些服务或驱动程序,其参数就是要禁用的服务名(可先用LISTSVC命令查看);“ENABLE”则设置在引导时启用系统服务或驱动程序,其参数有两个:一是服务名称,一是启动类型。disable和enable命令更改服务设置后需重新启动才能生效;②对于用disable命令终止的服务项目,需要记下启动类型中的文字,以便在故障排除后用“ENABLE”命令恢复原来的设置。切记!

  五、突破系统故障恢复控制台的限制

  默认情况下故障恢复控制台只能访问系统根目录、Windows安装目录、CMDCONS等文件夹,当访问其他文件夹时会收到不客气的消息“访问遭到拒绝”;也不能将硬盘文件复制到软盘。其实这些限制是可以突破的,主要是用“Set”命令来修改相关变量的取值即可。

  输入“set”命令可以看到下面四个变量的值默认都为“False”(如图4):AllowWildCards(允许使用通配符)、AllowAllPaths(允许进入所有文件目录)、AllowRemoveableMedia(允许文件复制到软盘上)、NoCopyPrompt(覆盖已有的文件时不要求确认)。由于它们的值都为“False”,这就受到了故障恢复控制台的限制。下面通过修改“组策略”让它突破这些限制。

  在“运行”框中输入“gpedit.msc”,确定后在组策略窗口中依次点击“本地计算机策略”→“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“安全选项”,在右边窗口中找到“允许对所有驱动器和文件夹进行软盘复制和访问”并双击(图5),弹出对话框后选择“已启用”,然后确定。再次进入故障恢复控制台,使用“Set”命令将上述四个变量都赋值为“True”即可。

  此外,前面提到在启动故障恢复控制台时会提示输入管理员密码(如果安装系统时已设置密码),如果希望不要求输入密码,则在上图中将“故障恢复控制台:允许自动系统管理级登录”设置为“已启用”即可。

  奇奇提醒:①运行“组策略”是在系统正常的情况下进行的;②使用“Set”命令更改变量值时要注意正确的格式,正确的为“Set 变量名 = 值”(必须在等号前后都输入一个空格),否则会提示参数无效。