Share via


chkdsk

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Chkdsk

Checks the file system and file system metadata for errors and displays a status report of its findings. Used without parameters, chkdsk displays only the status of the disk in the current drive. It does not fix errors. To fix errors, you must include the /f parameter.

Important

  • On computers running Windows Server 2003 with Service Pack 1 (SP1), chkdsk automatically creates a shadow copy before checking a volume so that you can check volumes that are in use by another program or process. Using the shadow copy, chkdsk accurately reports errors on volumes that are in use.

    However, on computers without Windows Server 2003 SP1, running chkdsk without parameters on an active system or boot volume, or on a data volume that is in use, might incorrectly report errors when none are present. To avoid this, close all programs or processes that have open handles to the volume.

    While repairing volumes (or inspecting volumes on computers without Windows Server 2003 SP1), chkdsk locks the volume making any data stored on the volume unavailable until chkdsk is finished. As a rule, run chkdsk only on volumes that are known to be corrupt. On volumes marked as "dirty", Windows automatically runs chkdsk when you restart the computer.

    On servers that are infrequently restarted, use the chkntfs or the fsutil dirty query commands to determine whether the volume's dirty bit is set before running chkdsk.

  • Interrupting chkdsk is not recommended. However, canceling or interrupting chkdsk should not leave the volume any more corrupt than it was before chkdsk was run. Rerunning chkdsk repairs any remaining corruption on the volume.

Syntax

chkdsk [Volume**:][[Path] FileName] [/f**] [/v] [/r] [/x] [/i] [/c] [/l[**:**Size]]

Parameters
  • Volume :
    Specifies the drive letter (followed by a colon), mount point, or volume name.
  • [Path] FileName
    Use with file allocation table (FAT) and FAT32 only. Specifies the location and name of a file or set of files that you want chkdsk to check for fragmentation. You can use wildcard characters (that is, * and ?) to specify multiple files.
  • /f
    Fixes errors on the disk. The disk must be locked. If chkdsk cannot lock the drive, a message appears that asks you if you want to check the drive the next time you restart the computer.
  • /v
    Displays the name of each file in every directory as the disk is checked.
  • /r
    Locates bad sectors and recovers readable information. The disk must be locked.
  • /x
    Forces the volume to dismount first, if necessary. All open handles to the drive are invalidated. /x also includes the functionality of /f.
  • /i
    Use with NTFS only. Performs a less vigorous check of index entries, reducing the amount of time needed to run chkdsk.
  • /c
    Use with NTFS only. Skips the checking of cycles within the folder structure, reducing the amount of time needed to run chkdsk.
  • /l[:Size]
    Use with NTFS only. Changes the log file size to the size you type. If you omit the size parameter, /l displays the current size.
  • /?
    Displays help at the command prompt.
Remarks
  • Running chkdsk

    To run chkdsk on a fixed disk, you must be a member of the Administrators group.

  • Checking a locked drive at restart

    If you want chkdsk to correct disk errors, you cannot have open files on the drive. If files are open, the following error message appears:

    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)

    If you choose to check the drive the next time you restart the computer, chkdsk checks the drive and corrects errors automatically when you restart the computer. If the drive partition is a boot partition, chkdsk automatically restarts the computer after it checks the drive.

    You can also use the chkntfs /c command to schedule the volume to be checked the next time the computer is restarted. Use the fsutil dirty set command to set the volume's dirty bit (indicating corruption), so that Windows runs chkdsk when the computer is restarted.

  • Reporting disk errors

    Chkdsk examines disk space and disk use for the FAT and NTFS file systems. Chkdsk provides information specific to each file system in a status report. The status report shows errors found in the file system. If you run chkdsk without the /f command-line option on an active partition, it might report spurious errors because it cannot lock the drive. You should use chkdsk occasionally on each disk to check for errors.

  • Fixing disk errors

    Chkdsk corrects disk errors only if you specify the /f command-line option. Chkdsk must be able to lock the drive to correct errors.

    Because repairs on FAT file systems usually change a disk's file allocation table and sometimes cause a loss of data, chkdsk might display a confirmation message similar to the following:

    10 lost allocation units found in 3 chains.

    Convert lost chains to files?

    If you press Y, Windows saves each lost chain in the root directory as a file with a name in the format Filennnn.chk. When chkdsk finishes, you can check these files to see if they contain any data you need. If you press N, Windows fixes the disk, but it does not save the contents of the lost allocation units.

    If you do not use the /f command-line option, chkdsk displays a message that the file needs to be fixed, but it does not fix any errors.

    If you use chkdsk /f on a very large disk (for example, 70 gigabytes) or a disk with a very large number of files (for example, millions of files), chkdsk /f might take a long time to complete. The computer is not available during this time because chkdsk /f retains control of the disk until it is finished making repairs.

  • Checking a FAT disk

    Windows displays chkdsk status reports for a FAT disk in the following format:

    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

  • Checking an NTFS disk

    Windows displays chkdsk status reports for an NTFS disk in the following format:

    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.

  • Using chkdsk with open files

    If you specify the /f command-line option, chkdsk displays an error message if there are open files on the disk. If you do not specify the /f command-line option and open files exist, chkdsk might report lost allocation units on the disk. This could happen if open files have not yet been recorded in the file allocation table. If chkdsk reports the loss of a large number of allocation units, consider repairing the disk.

  • Using chkdsk with Shadow Copies for Shared Folders on computers without Windows Server 2003 SP1

    Because the Shadow Copies for Shared Folders source volume cannot be locked while Shadow Copies for Shared Folders is enabled, running chkdsk against the source volume might report false errors or cause chkdsk to unexpectedly quit. You can, however, check shadow copies for errors by running chkdsk in read-only mode (without parameters) to check the Shadow Copies for Shared Folders storage volume.

  • Finding physical disk errors

    Use the /r command-line option to find physical disk errors in the file system. For information about recovering physically damaged files with recover, see Related Topics.

  • Reporting bad disk sectors

    Bad sectors reported by chkdsk were marked as bad when your disk was first prepared for operation. They pose no danger.

  • Understanding exit codes

    The following table lists the exit codes that chkdsk reports after it has finished.

    Exit code Description

    0

    No errors were found.

    1

    Errors were found and fixed.

    2

    Disk cleanup, such as garbage collection, was performed, or cleanup was not performed because /f was not specified.

    3

    Could not check the disk, errors could not be fixed, or errors were not fixed because /f was not specified.

  • The chkdsk command, with different parameters, is available from the Recovery Console.

Examples

If you want to check the disk in drive D and have Windows fix errors, type:

chkdsk d: /f

If it encounters errors, chkdsk pauses and displays messages. Chkdsk finishes by displaying a report that lists the status of the disk. You cannot open any files on the specified drive until chkdsk finishes.

To check all of files on a FAT disk in the current directory for noncontiguous blocks, type:

chkdsk *.*

Chkdsk displays a status report, and then lists the files matching the file specification that have noncontiguous blocks.

Formatting legend

Format Meaning

Italic

Information that the user must supply

Bold

Elements that the user must type exactly as shown

Ellipsis (...)

Parameter that can be repeated several times in a command line

Between brackets ([])

Optional items

Between braces ({}); choices separated by pipe (|). Example: {even|odd}

Set of choices from which the user must choose only one

Courier font

Code or program output

See Also

Concepts

Command-line reference A-Z
Command shell overview
Chkntfs
Fsutil: dirty