CHKNTFS 与 CHKDSK

  来源:Microsoft 技术支持

 

 

 

 

 

概要

Microsoft 已经开发了 Chkntfs.exe 实用工具,该实用工具可以在 Microsoft Windows NT 4.0 Service Pack 2 及更新版本的 Windows 中找到。该实用工具被设计为:当 Windows 在非正常关机后重新启动时,禁止在特定卷上自动运行 chkdsk。如果使用 chkdsk /f 安排了在下一次系统重新启动时在活动卷上运行 chkdsk,则也可以使用 chkntfs 来取消安排 chkdsk。

更多信息

每次重新启动 Windows 时,Kernel 都会调用 Autochk.exe 来扫描所有卷,检查是否设置了卷非正常位。如果发现设置了非正常位,autochk 会立即在此卷上执行 chkdsk /f。CHKDSK /f 将验证文件系统的完整性并尝试修正该卷的一些问题。通常建议在非正常关机的卷上运行 chkdsk,但是,还存在一些情况,不可能或不适合在每次非正常关机后都运行 chkdsk。在某些情况下,chkdsk 可能要花费几个小时甚至几天的时间来完全检查卷,也可能会在检查卷时突然停止。在这些情况下,更适用的办法是推迟运行 chkdsk,直到有更适宜的时间。

Chkntfs 是一种实用工具,系统管理员可使用它来将卷排除在 autochk 程序执行的检查范围之外。该实用工具在命令提示符下运行,并具有以下命令行选项:
chkntfs drive: [...]
chkntfs /d
chkntfs /x drive: [...]
chkntfs /c drive: [...]

drive:指定驱动器号。
/D 将计算机还原为默认
状态,启动时检查所有驱动器
并对有问题的驱动器执行
chkdsk 命令。这将取消 /X 选项的
效果。
/X 排除默认启动时检查的
驱动器。上次执行此命令排除的
驱动器此时无效。
/C 如果已经设置了非正常位,则安排在下一次重新启动时
运行 chkdsk。
如果没有指定任何开关,chkntfs 将显示每台驱动器的非正常位状态。

示例:

chkntfs /x c: 此命令禁止 chkdsk 在驱动器 C: 上运行

chkntfs /x d:e:此命令禁止 chkdsk 在驱动器 D: 和 E: 上运行

chkntfs /x 命令不是累积性的,该命令会覆盖以前建立的任何驱动器排除项。在上面的示例中,chkntfs 命令只禁止 chkdsk 在驱动器 D 和 E 上进行检查,不检查驱动器 C 是否存在非正常位。

Chkntfs 实用工具是通过修改系统注册表中的 BootExcecute 值来工作的。BootExecute 值可以在下面的注册表项中找到:
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/Session Manager
默认值为:
BootExecute:REG_MULTI_SZ:autocheck autochk *
Chkntfs /x 在星号前添加了 /k 参数。/k 参数将禁止检查卷上是否存在非正常位。

例如,命令

chkntfs /x D:

将此注册表项修改为自动检查 autochk /k:d *

通过在驱动器上设置非正常位,Chkdsk /f 安排在下一次重新启动时自行运行。Chkdsk /x 禁止检查此非正常位。Chkdsk /f 永远不能在那些被排除在 chkntfs 执行的非正常位检查的范围之外的卷上运行。

为了在 chkntfs 实用工具已经排除的驱动器上运行 chkdsk /f,必须运行 chkntfs /d 选项以将系统返回到正常状态,或者编辑注册表中的 BootExecute 值并从 /k 参数中删除适用的驱动器号。

警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
Chkdsk /f /r 可让 chkdsk 在物理磁盘上对卷进行文件系统错误和坏扇区的检查。通过向 BootExecute 值中添加一项,Chkdsk /f /r 可安排在下一次系统重新启动时自行运行。例如,

chkdsk c:/f /r

将下面的项添加到 BootExecute 值:
autocheck autochk /r /??/C:
因为此项实际上位于注册表中,所以 chkdsk /f /r 不受任何 chkntfs 命令的影响。禁用 chkdsk /f /r 的唯一方法是从引用这个命令的 BootExecute 值中删除该命令行。

Chkntfs.exe 实用工具将所有驱动器视为节点的本地驱动器。这包括在共享驱动器阵列中的 Microsoft Cluster Server (MSCS) 物理磁盘资源。使用 Chkntfs.exe 来排除群集中的共享驱动器时,必须在每个节点上运行排除命令。必须这样做才能确保每个节点的注册表都拥有正确的项。您只能运行节点所拥有的共享驱动器的命令。如果该节点不具有物理磁盘资源,您将收到一条错误信息。

你可能感兴趣的:(CHKNTFS 与 CHKDSK)