chkdsk命令详解

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 显示状态报告,然后列出符合具有不相邻块条件的文件。

转载于:https://blog.51cto.com/426440/99321

Published by

风君子

独自遨游何稽首 揭天掀地慰生平