Chkdsk 查找文件系统和文件系统元数据中的错误,并显示查找结果的状态报告。如果不带任何参数,chkdsk 将仅显示当前驱动器中的磁盘状态。不会修复错误。要修复错误,必须包括 /f 参数。
要点
• 在运行带有 Service Pack 1 (SP1) 的 Windows Server 2003 的计算机上,在检查卷前,chkdsk 会自动创建一个卷影副本,以便您能够检查正在由另外的程序或进程使用的卷。使用此卷影副本,chkdsk 可以精确地报告正在使用的卷中存在的错误。
不过,在不具有 Windows Server 2003 SP1 的计算机上,在活动系统、启动卷或正在使用的数据卷上运行不带参数的 chkdsk 时,可能会在不存在错误的情况下不正确地报告说存在错误。要避免发生这种情况,请关闭对卷打开句柄的所有程序或进程。
在修复卷(或者在检查没有 Windows Server 2003 SP1 的计算机上的卷)时,chkdsk 会将卷锁定,使存储在该卷上的任何数据都不可用,直到 chkdsk 完成。一般来讲,只能在已知已经损坏的卷上运行 chkdsk。在标记为“脏”的卷上,Windows 在计算机重新启动时将自动运行 chkdsk。
在很少重新启动的服务器上,在运行 chkdsk 之前,请使用 chkntfs 或 fsutil dirty query 命令确定是否设置了卷的页面重写标志位。
• 建议不要中断 chkdsk。不过,取消或中断 chkdsk 不会使卷比在运行 chkdsk 之前损坏程度更高。重新运行 chkdsk 可以修复卷上任何未清除的损坏。
语法
chkdsk [Volume:][[Path] FileName] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:Size]]
参数
Volume:
指定驱动器号(后跟冒号)、装入点或卷名。
[Path] FileName
只能与文件分配表 (FAT) 和 FAT32 一起使用。指定需要 chkdsk 检查碎片整理的文件或文件集的位置和名称。使用通配符(即,* 和 ?)可以指定多个文件。
/f
修复磁盘上的错误。必须锁定磁盘。如果 chkdsk 无法锁定驱动器,则会显示一条消息,询问您是否希望在下次重新启动计算机时检查该驱动器。
/v
当检查磁盘时,显示所有目录中每个文件的名称。
/r
找到坏扇区并恢复可读取的信息。必须锁定磁盘。
/x
如果必要,首先强制卸载卷。该驱动器的所有打开句柄都无效。/x 还包含了/f 的功能。
/i
仅在 NTFS 上使用。对索引项执行充分检查,降低运行 chkdsk 的所用时间量。
/c
仅在 NTFS 上使用。跳过文件夹结构中的周期检查,减少运行 chkdsk 所需的时间量。
/l[:Size]
仅在 NTFS 上使用。将日志文件的大小更改为由用户输入的大小。如果省略该参数,则 /l 会显示当前日志文件的大小。
/?
在命令提示符下显示帮助。
注释
• 运行 chkdsk
要在固定磁盘上运行 chkdsk 命令,您必须是该 Administrators 组的成员。
• 重新启动时检查锁定的驱动器
如果希望 chkdsk 修复磁盘错误,则此前不能打开该驱动器上的文件。如果有文件打开,会显示下述错误消息:
Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N)
如果选择下次重新启动计算机时检查该驱动器,则重新启动计算机后 chkdsk 会自动检查该驱动器并修复错误。如果该驱动器分区为启动分区,则 chkdsk 在检查完该驱动器后会自动重新启动计算机。
还可以使用 chkntfs /c 命令来计划下一次重新启动计算机时要检查的卷。使用 fsutil dirty set 命令设置卷的页面重写标志位(表示损坏),以使 Windows 在计算机重新启动时运行 chkdsk。
• 报告磁盘错误
Chkdsk 检查 FAT 和 NTFS 文件系统的磁盘空间和磁盘使用情况。Chkdsk 在状态报告中提供特定于每个文件系统的信息。状态报告显示文件系统中找到的错误。在活动分区上运行 chkdsk 时,如果未含 /f 命令行选项,则它可能会因为无法锁定该驱动器而报告虚假信息。应该不定期使用 chkdsk 检查每个磁盘上的错误。
• 修复磁盘错误
只有指定 /f 命令行选项,chkdsk 命令才修复磁盘错误。Chkdsk 必须可以锁定驱动器以纠正错误。
由于在 FAT 文件系统上修复通常会更改磁盘的文件分配表,有时还会造成数据丢失,所以 chkdsk 可能会显示如下所示的一条确认消息:
10 lost allocation units found in 3 chains.
Convert lost chains to files?
如果按 Y,Windows 会在根目录中将所有丢失链保存在一个名为 Filennnn.chk 的文件中。chkdsk 结束后,可以查看这些文件是否包含了所需的数据。如果按 N,Windows 会修复磁盘,但对于丢失的分配单元,它不保存其内容。
如果不使用 /f 命令行选项,chkdsk 会显示一条消息说该文件需要修复,但它不修复任何错误。
如果在非常大的磁盘(例如,70 GB)或有大量文件(例如,数百万文件)的磁盘上使用 chkdsk /f,则 chkdsk /f 可能要花很长时间才能完成。在此期间计算机不可用,这是因为在完成修复之前 chkdsk /f 一直控制着磁盘。
• 检查 FAT 磁盘
Windows 以下列格式显示 FAT 磁盘的 chkdsk 状态报告:
Volume Serial Number is B1AF-AFBF
72214528 bytes total disk space
73728 bytes in 3 hidden files
30720 bytes in 12 directories
11493376 bytes in 386 user files
61440 bytes in bad sectors
60555264 bytes available on disk2048 bytes in each allocation unit
35261 total allocation units on disk
29568 available allocation units on disk
• 检查 NTFS 磁盘
Windows 以下列格式显示 NTFS 磁盘的 chkdsk 状态报告:
The type of the file system is NTFS.
CHKDSK is verifying files...File verification completed.CHKDSK is verifying indexes...
Index verification completed.
CHKDSK is verifying security descriptors...
Security descriptor verification completed.
12372 kilobytes total disk space.
3 kilobytes in 1 user files.
2 kilobytes in 1 indexes.
4217 kilobytes in use by the system.
8150 kilobytes available on disk.
512 bytes in each allocation unit.
24745 total allocation units on disk.
16301 allocation units available on disk.
• 在打开文件的情况下使用 chkdsk
如果该驱动器上有打开的文件,则指定 /f 命令行选项后,chkdsk 会显示错误消息。如果未指定 /f 命令行选项并且存在打开的文件,则 chkdsk 会报告磁盘上丢失的分配单元。如果打开的文件没有记录在文件分配表中,可能会发生这种情况。如果 chkdsk 报告大量分配单元丢失,可以考虑修复该磁盘。
• 对不具有 Windows Server 2003 SP1 的计算机上的“共享文件夹的卷影副本”使用 chkdsk
由于在启用“共享文件夹的卷影副本”时无法锁定“共享文件夹的卷影副本”源卷,所以对源卷运行 chkdsk 可能会报告虚假的错误,或者导致 chkdsk 意外退出。不过,可以通过以只读模式(不带参数)运行 chkdsk 来检查“共享文件夹的卷影副本”存储卷,以检查卷影副本中是否存在错误。
• 查找物理磁盘错误
使用 /r 命令行选项可查找文件系统中的物理磁盘错误。有关使用 recover 修复物理性损坏文件的信息,请参阅“相关主题”。
• 报告磁盘坏扇区
在磁盘第一次准备操作之前,由 chkdsk 报告的坏扇区标记为损坏。它们不会造成危险。
• 了解退出代码
下表列出了 chkdsk 完成任务后报告的退出代码。
退出代码 描述
0 没有发现错误。
1 错误已找到并修复。
2 已执行清理磁盘(例如碎片收集),或者因为没有指定 /f 而未执行清理磁盘。
3 由于未指定 /f 选项,无法检查磁盘,错误不能修复或错误未修复。
• “故障恢复控制台”提供了带有不同参数的 chkdsk 命令。
示例
如果要检查驱动器 D 中的磁盘,并且希望 Windows 修复错误,请键入:
chkdsk d:/f
如果遇到错误,chkdsk 会暂停并显示消息。Chkdsk 完成任务时会显示列有磁盘状态的报告。除非 chkdsk 已完成任务,否则无法打开指定驱动器上的任何文件。
在 FAT 磁盘上,要检查当前目录中所有文件的不相邻块,请键入:
chkdsk *.*
Chkdsk 显示状态报告,然后列出符合具有不相邻块条件的文件。

via。http://750126.blog.51cto.com/416440/99321

最后修改:2011 年 07 月 22 日 08 : 09 PM