Programming Field

Chkdsk - DOS/コマンドプロンプト コマンド一覧

ディスク(ドライブ)のチェックをします。ディスクがシステムによって使用されている場合、実行には管理者権限が必要です。

[MS-DOS/Windows 95/98/Me] エラーをチェックするには、Scandiskを使用してください。

※ ReFSファイルシステムはチェックできません(「チェックする必要がありません」と表示されます)。

構文

chkdsk[.exe] [<volume>[<file-name>]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:<size>]] [/B]
  [/scan [/forceofflinefix] [/perf]] [/spotfix] [/sdcleanup]
  [/offlinescanandfix] [/freeorphanedchains] [/markclean]
<volume> チェックするディスクを指定します。<volume> にはドライブ名(「X:」の形式)、マウントポイントまたはボリューム名(Mountvolなどで得られる名前)を指定します。省略した場合は現在のドライブが使用されます。
<file-name> [FAT/FAT32] 断片化をチェックするファイル名を指定します。<volume> のディスクがFAT/FAT32の場合のみ有効です。
/F

ディスクにエラーがあった場合、修復を行います。修復を行うためにディスクをロックする必要があるため、ディスク上のファイルが使用中であるなどロックできない場合は、メッセージを表示してChkdskは終了します(再起動時に実行するのをスケジュールすることもできます)。

/F が指定される場合は修復のためにディスクデータを変更する可能性があるため、ディスクが深刻な状態であるなどの場合では別のエラーが発生する可能性があります。

[Windows 8以降] このオプションを使った場合はオフラインスキャン(ディスクが使用されていない状態でのチェック; コンピューターの再起動が必要な場合があります)を行います。オンラインスキャンで修復したい場合は /scan オプションを使います。

/V チェック時に詳細な情報を表示します。FAT/FAT32の場合はディスク上のすべての完全ファイル名、exFATの場合は進捗、NTFSの場合はクリーンアップメッセージ(存在する場合)を表示します。
/R [Windows NT系/XP以降] 不良セクターをチェックし、存在すればそのセクターを「不良」とマークして読み取れるデータを回復します。
/X [Windows NT系/XP以降] 必要に応じて、ボリュームを強制的にマウント解除します。このオプションを指定しない場合、ファイルが開かれている(ボリュームが使用中)などの理由でそのままではチェックできない場合、マウントを解除するかどうかのプロンプトが表示されます。(ここでキャンセルした場合、コンピューターの再起動時にチェックを行うかどうかスケジューリングすることができます。)
/I [Windows NT系/XP以降] [NTFS] インデックスのチェックをスキップします。チェック完了までの時間が速くなりますが、エラーが残る場合があります。
/C [Windows NT系/XP以降] [NTFS] フォルダー構造のチェックをスキップします。チェック完了までの時間が速くなりますが、エラーが残る場合があります。
/L[:<size>] [Windows NT系/XP以降] [NTFS] NTFSボリューム内に持つログファイルのサイズを変更します。「:」に続けて <size> としてキロバイト単位の数値を指定します。「/L」のみを指定した場合は現在のログファイルのサイズを表示して終了します。
/B [Windows Vista以降] [NTFS] ボリューム内の不良クラスターを再度チェックします。このオプションを指定した場合は /R が自動的に有効になります。
/scan [Windows 8以降] [NTFS] ボリュームに対してオンラインスキャンを実施し可能な範囲で修復します。「オンラインスキャン」、すなわちディスクが使用されている状態でスキャンを行う場合はこのオプションを使います。Windows 8 以降はデフォルトでオンラインスキャンを行いますが、このオプションを使わない場合は読み取り専用としてチェックだけを行います。また、/F を使った場合はオフラインスキャンとなります。なお、オフラインスキャンを行いたい場合は /offlinescanandfix を使います。
/forceofflinefix [Windows 8以降] [NTFS] オンラインスキャンにおける修復を行わず、オフラインスキャンで修復を行うようにマークします。このオプションには「/scan」の指定が必要です。
/perf [Windows 8以降] [NTFS] オンラインスキャンにおいてパフォーマンス優先で処理を行い、できり限り早くスキャンを終えられるようにします。このオプションには「/scan」の指定が必要です。また、このオプションを使用すると実行中の他のプログラムに対してパフォーマンス面で影響を与える可能性があります。
/spotfix [Windows 8以降] [NTFS] /scan で見つけたエラーが修復できなかった時(または /forceofflinefix を使用した時)、その際にマークされたエラーを修復します。このオプションは「/scan」とともに用いることはできません。
/sdcleanup [Windows 8以降] [NTFS] ボリューム内の不要なセキュリティ記述子を削除(ガベージコレクト)します。
/offlinescanandfix [Windows 8以降] ボリュームに対してオフラインスキャンと修復を実施します。/F オプションを使った場合とほぼ同じ意味を持ちます。
/freeorphanedchains [Windows 10 以降] [FAT/FAT32/exFAT] 孤立したファイルが見つかった場合、それをアクセスできるように修復するのではなく削除(解放)します。
/markclean [Windows 10 以降] [FAT/FAT32/exFAT] /F を使わずにスキャンした場合でも、問題が見つからなかった場合は「クリーン」としてマークします。

解説

Chkdsk は主にWindows NT系/XP以降においてボリュームの破損などをチェック・修復するために用います。ただし、物理的な劣化などによりエラーがあった場合は、Chkdsk によるスキャンや修復が致命傷を与える可能性があります。エラーが数回検出された場合はディスクの交換などを行うのがベターです。

Chkdsk は以下の終了コードを返します。If Errorlevelなどを用いて処理の分岐を行うことができます。

コード意味
0エラーは見つかりませんでした。
1エラーが見つかり、修復されました。
2ディスククリーンアップが実行されたか、/F オプションが無かったためクリーンアップが実行されませんでした。(必要があった場合)
3ディスクがチェックできなかった、エラーが修復できなかった、または /F オプションが無かったためエラーが修復されませんでした。

サンプル 1

chkdsk C:

Cドライブのスキャンを実施します。/F オプションがないため読み取り専用としてチェックのみを行います。

[Windows 8 以降] 何もオプションを指定しない場合オンラインスキャン(ディスクの利用を維持したままのチェック)を行います。

サンプル 2

chkdsk C: /scan

[Windows 8 以降] Cドライブをオンラインスキャン(チェックと可能な範囲でのエラーを修復)します。

サンプル 3

chkdsk C: /spotfix

[Windows 8 以降] Cドライブについて /scan で修復できなかったエラーを修復します。サンプル2の後に実行することで、再起動してオフラインスキャンをフルに行わずにエラーの修復だけを行うことができます。