Windows故障恢复控制台

09-02

1.

故障恢复控制台最简单的用法,就是使用Windows安装光盘(Windows2000/XP/2003)引导系统。

使用步骤如下:

1. 将 Windows 2000 启动盘插入软盘驱动器中,或者将 Windows 2000 CD-ROM 插入

CD-ROM 驱动器中,然后重新启动计算机;

2. 按照提示,单击选中从 CD-ROM 驱动器启动计算机所需的任何选项;

3. 出现“欢迎使用安装程序”屏幕时,按 "R" 键启动故障恢复控制台;

4. 如果使用的是双启动或多启动计算机,请选择需要从故障恢复控制台访问的系统路径;

5. 键入管理员密码;如果管理员密码为空,则按 ENTER 键。

6. 进入故障恢复控制台命令行界面。

之后就会进入一个受限的命令行界面,在这个命令行界面下,可以使用故障恢复控制台启用和禁用服务、格式化驱动器、读写本地驱动器上的数据,还可以执行许多其他管理任务。可以使用故障恢复控制台将磁盘或 CD-ROM 中的文件复制到硬盘上以修复计算机,或者重新配置使计算机无法正常启动的服务。之所以说它是受限的,因为它并不能提供完整的cmd.exe以及附加命令行程序的功能,而仅仅能够提供有限的对系统核心服务操作的功能。尤其是出于安全考虑,默认情况下是不允许修改,替换,覆盖和引用文件的。就是这个原因也让很多人对这个看似无用的控制台极为反感和头大。至于如何打开这些限制,在后面讲解。

进入故障恢复控制台后,可以输入 recovery console commands 或 help 察看所有的命令和帮助;有关特定命令的信息,可以使用help commandname察看详细信息和命令参数。

要退出故障恢复控制台并重新启动计算机,请在命令提示处键入 exit,然后按 ENTER 键。

在故障恢复控制台中支持的所有命令:

attrib delete fixboot md type

cd dir fixmbr mkdir systemroot

chdir disable format more

chkdsk diskpart help rd

cls enable listsvc ren

copy exit logon rename

del expand map rmdir

>>2. <<

详细的命令功能和参数如下:

* ATTRIB

可以使用attrib 命令和下面任何参数更改文件或文件夹的属性:

-r: 设置只读文件属性

+r: 重置只读文件属性

-s: 设置系统文件属性

+s: 重置系统文件属性

-h: 设置隐藏文件属性

+h: 重置隐藏文件属性

备注: 必须设置或清除至少一个属性。要查看属性,请使用dir 命令。

* BATCH

batch inputfile [outputfile]

可以使用此命令运行文本文件中指定的命令。在命令语法中,inputfile 指定包含要运行的命令列表的文本文件,outputfile 指定包含指定命令的输出的文件。如果不指定输出文件,将在屏幕上显示输出。

* CD 和 CHDIR

可以使用cd 和chdir 命令更改文件夹。键入 cd .. 说明您要转到父文件夹。键入 cd drive:以显示指定驱动器中的当前文件夹。键入不带参数的命令以显示当前驱动器和文件夹。

chdir 命令将空格作为分隔符处理。因此,必须用引号将包含空格的子文件夹名引起来,例如:

cd "/winnt/profiles/username/programs/start menu"

chdir 命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。

* CHKDSK

chkdsk drive /p /r

此命令(其中,drive 指定要检查的驱动器)检查驱动器并在必要时修复或恢复该驱动器。此命令还标记损坏的扇区并恢复可读信息。

/p 开关指示 Chkdsk 工具对驱动器执行详尽的检查(即使没有将驱动器标记为有问题也是如此),并纠正所发现的任何错误。/r 开关查找损坏的扇区并恢复可读信息。注意,如果指定/r 开关,则暗示包含 /p 开关。可以指定不带参数的 chkdsk 命令,在这种情况下,暗示当前驱动器不带任何开关。不必按顺序接受列出的开关。chkdsk 命令需要 Autochk.exe 文件。Chkdsk 自动在启动文件夹中查找此文件。通常,如果预先安装了命令控制台,则该文件夹为 Cmdcons 文件夹。如果在启动文件夹中找不到该文件夹,Chkdsk 就会尝试查找 Windows CD-ROM 安装媒体。如果找不到安装媒体,Chkdsk 将提示您提供 Autochk.exe 文件的位置。

* CLS

可以使用此命令清除屏幕内容。

* COPY

copy source destination

可以使用此命令(其中,source 指定要复制的文件,destination 指定新文件的文件夹或文件名)复制文件。不允许使用通配符或进行文件夹复制。在复制 Windows CD-ROM 中的压缩文件时,将自动解压缩该文件。

如果没有指定 destination,此命令默认为当前文件夹。如果该文件已经存在,系统将提示您覆盖它。

* DEL 和 DELETE

del drive:path filename

delete drive:path filename

可以使用此命令(其中,drive:path filename 指定要删除的文件)删除文件。

delete 命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。delete 命令不接受通配符 (*)。

* DIR

dir drive:path filename

可以使用此命令(其中,drive:path filename 指定要列出的驱动器、文件夹和文件)显示文件夹中文件和子文件夹的列表。dir 命令列出所有文件,包括隐藏文件和系统文件。文件可能具有以下属性:

D - Directory R - Read-only file

H - Hidden file A - Files ready for archiving

S - System file C - Compressed

E - Encrypted P - Reparse Point

dir 命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。

** DISABLE

disable servicename

可以使用此命令(其中,servicename 指定要禁用的服务或驱动程序的名称)禁用 Windows 系统服务或驱动程序。

可以使用listsvc 命令显示所有要禁用的适当服务或驱动程序。disable 命令打印在将服务重置为 SERVICE_DISABLED 之前该服务的旧启动类型。因此,您应当将旧的启动类型记录下来,以便在必要时重新启用该服务。

可以使用disable 命令显示以下启动类型值:

SERVICE_DISABLED

SERVICE_BOOT_START

SERVICE_SYSTEM_START

SERVICE_AUTO_START

SERVICE_DEMAND_START

** DISKPART

diskpart /add /delete device_name drive_name partition_name size

可以使用此命令管理硬盘卷上的分区。

/add: 可以使用此参数创建新的分区。

/delete: 可以使用此参数删除现有的分区。

device_name: 可以使用此参数指定创建新分区所使用的设备名。可以从 map 命令的输出中找到该名称,例如:/Device/HardDisk0。

drive_name: 可以使用此参数指定删除现有分区所使用的基于驱动器号的名称,例如D:

partition_name: 可以使用此参数指定删除现有分区所使用的基于分区的名称。可以使用此参数代替驱动器名称参数,例如:/Device/HardDisk0/Partition1。

size: 可以使用此参数指定新分区的大小 (MB)。

备注: 如果不使用参数,则显示用来管理分区的用户界面。

警告: 如果磁盘已经升级到动态磁盘配置,那么此命令可能会损坏分区表。除非使用磁盘管理工具,否则不要修改动态磁盘的结构。

** ENABLE

enable servicename start_type

您可以使用enable 命令(其中,servicename 指定要启用的服务或驱动程序的名称)启用 Windows 系统服务或驱动程序。

可以使用listsvc 命令显示所有要启用的适当服务或驱动程序。enable 命令打印在将服务重置为新值之前该服务的旧启动类型。您应当将旧的值记录下来,以便在必要时还原该服务的启动类型。以下启动类型是有效的:

SERVICE_BOOT_START

SERVICE_SYSTEM_START

SERVICE_AUTO_START

SERVICE_DEMAND_START

备注: 如果没有指定新的启动类型,则 enable 命令打印旧的启动类型。

* EXIT

可以使用exit 命令退出命令控制台,并重新启动计算机。

** EXPAND

expand source [/F:filespec] [destination] [/y]

expand source [/f:filespec] /d

可以使用此命令(其中,source 指定要展开的文件的名称,destination 指定新文件的文件夹)展开文件。

备注: 不能包含通配符。

如果没有指定 destination,则该命令默认使用当前的文件夹。

该命令可以使用以下参数:

/y: 如果不希望系统在覆盖现有文件之前提示您,则使用此参数。

/f:filespec: 如果源包含多个文件,则使用此参数。需要使用此参数指定要展开的特定文件。可以包含通配符。

/d: 如果不想展开文件夹,则使用此参数;它只显示源中包含的文件的文件夹。

目标可以是当前 Windows 安装的系统文件夹中、驱动器的根中、本地安装源中或者 Cmdcons 文件夹中的任何文件夹。目标不能是可移动媒体。目标文件不能是只读文件。可以使用attrib 命令删除只读属性。

如果使用 expand 命令并且目标文件已经存在,则除非使用 /y,否则系统就会给出提示。

** FIXBOOT

fixboot drive name:

可以使用此命令(其中,drive name 是在其中写入启动扇区的驱动器号)在启动扇区上写入新的 Windows 启动扇区代码。此命令修复了导致 Windows 启动扇区被破坏的问题。紧急修复过程也能修复启动扇区。此命令重写系统启动分区的写入默认值。

** FIXMBR

fixmbr device name

可以使用此命令(其中,device name 是可选的设备名,用于指定需要新 MBR 的设备)修复系统分区的主启动记录 (MBR)。如果病毒损坏了 MBR 并且 Windows 无法启动,则可以使用此命令。

警告: 如果出现病毒或者存在硬件问题,则此命令可能会损坏分区表。该命令可能导致无法访问分区。Microsoft 建议您在使用此命令之前运行防病毒软件。

可以从 map 命令的输出中找到该名称。如果没有此名称,则修复启动设备的 MBR,例如:

fixmbr /device/harddisk2

如果 Fixmbr 检测到无效的或非标准的分区表签名,则在重新写入 MBR 之前,它提示您是否同意重新写入。

** FORMAT

format drive:/q /fs:file_system

可以使用此命令(其中,drive 是要格式化的分区的驱动器号,file_system 指定要使用的文件系统的类型 [FAT、FAT32 或 NTFS])将指定的驱动器格式化为指定的文件系统。可以使用此命令和 /q 参数对驱动器执行快速格式化。

如果没有指定文件系统,则使用现有的文件系统格式(如果有的话)。

** LISTSVC

listsvc 命令列出所有可用的服务、驱动程序及其当前 Windows 安装的启动类型。在使用 disable 和 enable 命令时,您可能需要使用此命令。

备注: 此信息是从 %SystemRoot%/System32/Config/SYSTEM 配置单元中提取的。如果 SYSTEM 配置单元被破坏或丢失,则可能会出现无法预计的后果。

* LOGON

logon

当使用logon 命令时,将显示检测到的所有 Windows 安装的列表,并提示您输入要登录的 Windows 副本的本地管理员密码。如果登录失败超过三次,控制台将退出并重新启动计算机。

* MAP

map arc

可以使用此命令(其中,arc 参数告诉map 命令使用 ARC 路径而不是 Windows 设备路径)列出驱动器号、文件系统类型、分区大小和物理驱动器的映射情况。

* MD 和 MKDIR

可以使用md 或mkdir 命令创建新的文件夹。不支持通配符。mkdir 命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。

* MORE

more filename

可以使用此命令在屏幕上显示文本文件。

* RD 和 RMDIR

可以使用rd 和rmdir 命令删除文件夹。这些命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。

* REN 和 RENAME

可以使用ren 和rename 命令重命名文件。注意,您不能为目标文件指定新的驱动器或路径。这些命令的操作范围仅限于当前 Windows 安装的系统文件夹、可移动媒体、所有硬盘分区的根文件夹或本地安装源。

** SET

可以使用set 命令显示或修改 4 个环境选项。

AllowWildCards = FALSE

AllowAllPaths = FALSE

AllowRemovableMedia = FALSE

NoCopyPrompt = FALSE

** SYSTEMROOT

可以使用systemroot 命令将当前工作文件夹设置为您当前所登录的 Windows 安装的 %SystemRoot% 文件夹。

* TYPE

type filename

可以使用type 命令显示文本文件。

>>3. << 基本任务

在上面一节列出了Win2000故障恢复控制台的所有命令,其中**标注的都是相关系统故障比较密切的命令,与他们相关的可能遇到的故障和解决方法如下。

1. 安装Linux或其他操作系统后不能引导Windows 2000系统了......

# 原因可能是主引导块(MBR)或Windows分区引导记录被修改,可以用FIXBOOT和FIXMBR

命令修复MBR和引导块,FIXMBR的功能就相当于DOS下的fdisk /mbr 。FIXBOOT可能需要指定

Win2000的系统安装分区路径,格式是/Device/HardDisk0/Partition1类似的。

另一个可能是系统分区改变,导致c:/boot.ini中记录的系统文件路径错误,从而系统无法引导。这样需要修改boot.ini文件,由于故障恢复控制台中没有可用的文本编辑器...所以可能你只能把它拷贝到移动媒体上,在别的系统中编辑正确之后再拷贝回来。注意,这个文件是系统隐含只读属性,需要先attrib -s -r -h c:/boot.ini才能够修改和替换。至于

修改的方法和问题,见第四条和第五条。

如果你使用Bluecon或者WinPE这样强大的工具的话,那么可以直接修改这个文件,工作就更简单了。

2. 我新加了一个硬盘,如何分区和格式化?

# 很多人都抱怨win20系统下找不到fdisk,这是当然的,因为它已经被另一个命令DISKPART

取代了。DISKPART的命令行参数见上一节,设备名也是如上所述格式,可以按字符控制界面

和命令行操作两种模式运行。 至于格式化,format命令和以前并没有什么大的区别,参数格式很简单,比较有用的参数主要是/FS:[NTFS|FAT],可以指定格式化分区类型。提示:可以使用MAP命令查看当前所有识别出的设备路径。

3. 我为了防止冲击波病毒,按照网上一些文档所述关掉了RPC/DCOM服务,所以......

# 所以遭遇不幸了是不是?我就说这个不能关的么...

可以用如下命令打开: ENABLE Remote Procedure Call (RPC) SERVICE_SYSTEM_START 如果误关了其他服务,也可以用LISTSVC查看服务信息,然后用ENABLE打开。在LISTSVC中会列出所有的系统服务,包含隐含服务以及驱动服务,比Services.msc强大多了... 同样,由于其统服务启动失败引起的故障,例如你看Norton的杀毒引擎不爽,也可以在这里用DISABLE禁掉他。 ENABLE和DISABLE的最后一个参数,是启动类型,分别定义为服务启动的阶段和类型,详细地看注册表中的键值,以及其他资料。

4. 我不小心替换了某个系统服务程序/驱动,系统起不来了......

# 有两种方法,一种比较干净的方法,就是从系统安装光盘中的驱动安装包释放出原始的驱动

文件: expand d:/i386/driver.cab /f:文件名 [路径]

在此命令中,使用 CD-ROM 驱动器号替换 d:,使用要扩展的文件名替换文件名,然后使用要在其中复制驱动程序文件的文件夹替换路径。通常情况下,驱动程序 (.sys) 文件存储在 %SystemRoot%/System32/Drivers 文件夹中.例如,要替换 Atimpab.sys 驱动程序文件,您可以键入:

expand d:/i386/driver.cab /f:atimpab.sys %systemroot%/System32/Drivers/

注意,在此命令中,您必须使用 /f 开关,因为 Driver.cab 压缩文件包含多个文件。

安装文件存储在 Windows 2000 安装 CD-ROM 的压缩文件夹(称为 CAB (.cab) 文件)中。驱动程序文件存储在 Driver.cab 文件中。

另外,也可以使用copy命令使用移动媒体(主要是软盘)从别的机器上拷贝一份干净的备份过来。copy [源路径] 源文件名 [目标路径] 目标文件名

范例:copy a:/atimpab.sys c:/winnt/system32/drivers/atimpab.sys 需要注意的是,故障恢复控制台中的“copy”命令不支持通配符。因此,您每次只能复制一个文件。如果您必须替换多个文件,请使用多个“copy”命令。

5. 我用了copy命令,可是她说我权限不够,copy失败......

这是一个"有限控制台"么?在Win2000故障恢复控制台中,出于安全因素考虑,是不允许直接修改系统内的

文件的,这些是由系统中的几个环境变量决定的,这些变量可以用set命令查看。

默认情况下,使用下列规则:

AllowAllPaths = FALSE: 此规则禁止访问您在进入故障恢复控制台时选定的系统安装以外的文件夹和子文件夹。

AllowRemovableMedia = FALSE: 此规则禁止访问作为复制文件目标的可移动媒体。

AllowWildCards = FALSE: 此规则禁止命令的通配符支持,例如,copy 和del。

NoCopyPrompt = FALSE: 此规则意味着当您覆盖现有文件时,故障恢复控制台将提示您进行确认。

我们只需要执行 set allowremovablemedia = true ,就可以使用移动媒体拷贝文件了。

同样,set AllowAllPaths = true,就可以访问所有路径下的文件了。 你可以看一下其他的环境变量,或许有意外的惊喜哦,现在是不是觉得这个无用的控制台功能强大了许多?

备注:在每次进入故障恢复控制台时,必须重新键入 set 命令。

6. 每次都要用光盘启动,很烦哪...

这个也是可以安装在硬盘上的,不过和普通的应用程序可不同。

若要安装故障恢复控制台,请:

& 将 Windows 2000 光盘插到 CD-ROM 驱动器中;

& 单击<开始菜单>,然后单击"运行";

& 在打开 框中,键入drive:/i386/winnt32.exe /cmdcons,其中 drive 是 CD-ROM

驱动器的驱动器号。

& 启动安装过程,然后重新启动计算机。 下次启动计算机时,在启动菜单上就会多出一项“Microsoft Windows 故障恢复控制台”。

7. 我的机器是AD域控制器,用你的方法不能修复...

# 如果计算机是使用 Active Directory 的域控制器,那么应该使用启动模式菜单中的 “目录服务还原模式”,并且输入将服务器升级为域控制器时选择的“目录服务还原模式”

密码。

8. 我用安装光盘启动,可是却认不出我的硬盘,怎么办啊?

# 其实在安装操作系统时你一定就已经遇到过这个问题了,因为Windows系统内没有你的硬件

驱动,所以需要你自己提供第三方的驱动程序。在故障恢复控制台启动前,可以按 F6 键安

装第三方 SCSI 或 RAID 驱动程序,然后向天祈祷,如果RP不是太差的话,那么就可以访

问你的硬盘了。

9. 最后提醒一点,系统恢复工作最重要的一点,还是及时备份...备份注册表,备份驱动,

# 备份系统文件...等等;最起码的工作就是一定要创建一份当前系统的紧急修复磁盘,

否则有可能出现紧急修复控制台找不到系统安装的现象...到时候你就欲哭..吧。方法:

我的电脑 -> 右键点击 C: -> 工具 -> 备份 -> 紧急修复磁盘。