chkdsk

ボリュームのファイル システムとファイル システムのメタデータで、論理エラーと物理エラーを確認します。 パラメーターを指定せずに使用した場合、chkdsk ではボリュームの状態だけが表示され、エラーは修正されません。 /f/r/x/b の各パラメーターと一緒に使用すると、ボリュームのエラーが修正されます。

重要

chkdsk を実行するには、少なくともローカルの管理者グループ、またはそれと同等のメンバーシップが必要です。 ウィンドウを管理者として開くには、コマンド プロンプト[スタート] メニューで右クリックし、[管理者として実行] をクリックします。

重要

chkdsk の割り込みは推奨されません。 ただし、chkdsk を取り消したり、中断したりすると、chkdsk が実行される前よりも、ボリュームがより破損したままになることはありません。 chkdsk を再度実行すると、ボリューム上の残りの破損が確認され、修復されます。

Note

Chkdsk は、ローカル ディスクにのみ使用できます。 このコマンドは、ネットワークを使用してリダイレクトされたローカル ドライブ文字と一緒に使用することはできません。

構文

chkdsk [<volume>[[<path>]<filename>]] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:<size>]] [/b]

パラメーター

パラメーター 説明
<volume> ドライブ文字 (コロンの後)、マウント ポイント、またはボリューム名を指定します。
[ [<path>]<filename> ファイル割り当てテーブル (FAT) と FAT32 でのみ使用します。 chkdsk で断片化を確認するファイルまたはファイル セットの場所と名前を指定します。 ?* ワイルドカード文字を使用して、複数のファイルを指定できます。
/f ディスク上のエラーを修正します。 ディスクはロックされている必要があります。 chkdsk がドライブをロックできない場合は、次回コンピューターを再起動する場合にドライブを確認する必要があるというメッセージが表示されます。
/v ディスクがオンの状態で、すべてのディレクトリ内の各ファイルの名前が表示されます。
/r 不良セクターを検索し、読み取り可能な情報を回復します。 ディスクはロックされている必要があります。 /r には、物理ディスク エラーの追加分析を含む /f の機能が含まれています。
/x 必要に応じて、最初にボリュームを強制的にマウント解除します。 ドライブに対して開いているハンドルはすべて無効になります。 /x には、/f の機能も含まれています。
/i NTFS と一緒にのみ使用します。 インデックス エントリのチェックを少なくして、chkdsk を実行するために必要な時間を短縮します。
/c NTFS と一緒にのみ使用します。 フォルダー構造内のサイクルをチェックせず、chkdsk を実行するために必要な時間を短縮します。
/l[:<size>] NTFS と一緒にのみ使用します。 ログ ファイルのサイズを入力したサイズに変更します。 size パラメーターを省略すると、現在のサイズが /l に表示されます。
/b NTFS と一緒にのみ使用します。 ボリューム上の不良クラスターの一覧をクリアし、割り当てられているすべてのクラスターと空きクラスターのエラーを再スキャンします。 /b には、/r の機能が含まれています。 ボリュームを新しいハード ディスク ドライブにイメージングした後に、このパラメーターを使用します。
/scan NTFS と一緒にのみ使用します。 ボリュームでオンライン スキャンを実行します。
/forceofflinefix NTFS でのみを使用します (/scan と一緒に使用する必要があります)。 すべてのオンライン修復をバイパスします。見つかったすべての欠陥は、オフライン修復のためにキューに入れられます (例: chkdsk /spotfix)。
/perf NTFS でのみを使用します (/scan と一緒に使用する必要があります)。 より多くのシステム リソースを使用して、可能な限り高速でスキャンを完了します。 これは、システムで実行されている他のタスクのパフォーマンスに悪影響を及ぼす可能性があります。
/spotfix NTFS と一緒にのみ使用します。 ボリュームでスポット修正を実行します。
/sdcleanup NTFS と一緒にのみ使用します。 不要なセキュリティ記述子データをガベージ コレクションします (/f を意味します)。
/offlinescanandfix ボリュームでオフライン スキャンと修正を実行します。
/freeorphanedchains FAT/FAT32/exFAT でのみ使用します。 コンテンツを回復する代わりに、孤立したクラスター チェーンを解放します。
/markclean FAT/FAT32/exFAT でのみ使用します。 /f が指定されていない場合でも、破損が検出されていない場合は、ボリュームをクリーンにマークします。
/? コマンド プロンプトにヘルプを表示します。

解説

  • /i または /c スイッチを使用すると、特定のボリューム チェックをスキップすることで、chkdsk の実行に必要な時間が短縮されます。

  • 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 を実行するようにします。

  • ディスク エラーを確認するには、FAT および NTFS ファイル システムで chkdsk を使用する必要があります。 Chkdsk は、ディスク領域とディスクの使用を調べ、各ファイル システムに固有の状態レポートを提供します。 状態レポートには、ファイル システムで見つかったエラーが表示されます。 アクティブなパーティションで /f パラメーターを指定せずに chkdsk を実行すると、ドライブをロックできないため、誤ったエラーが報告される可能性があります。

  • Chkdsk は、/f パラメーターを指定した場合にのみ、論理ディスク エラーを修正します。 Chkdsk は、エラーを修正するためにドライブをロックできる必要があります。

    FAT ファイル システムでの修復では通常、ディスクのファイル割り当てテーブルが変更され、データが失われる場合があります。chkdsk には次のような確認メッセージが表示される場合があります。

    10 lost allocation units found in 3 chains.
    Convert lost chains to files?
    
    • Y キーを押すと、Windows は、ルート ディレクトリ内の各失われたチェーンをファイル <nnnn>.chk という形式の名前のファイルとして保存します。 chkdsk が完了したら、これらのファイルに必要なデータが含まれているか確認できます。

    • N キーを押すと、Windows はディスクを修正しますが、失われたアロケーション ユニットの内容は保存されません。

  • /f パラメーターを使用しない場合、chkdsk はファイルを修正する必要があるというメッセージを表示しますが、エラーは修正されません。

  • 非常に大きなディスクまたは非常に多くのファイル (何百万ものファイルなど) を含むディスクで chkdsk /f* を使用する場合、chkdsk /f の完了に時間がかかる場合があります。

  • /r パラメーターを使用して、ファイル システム内の物理ディスク エラーを検出し、影響を受けるディスク セクターからデータの回復を試みます。

  • /f パラメーターを指定すると、ディスク上に開いているファイルがある場合、chkdsk はエラー メッセージを表示します。 /f パラメーターを指定せず、開いているファイルが存在する場合、chkdsk はディスク上の失われたアロケーション ユニットを報告する場合があります。 これは、ファイル アロケーション テーブルに開いているファイルがまだ記録されていない場合に発生する可能性があります。 chkdsk で大量のアロケーション ユニットの損失が報告された場合は、ディスクの修復を検討してください。

  • 共有フォルダーのシャドウ コピーが有効になっている間は共有フォルダー ソース ボリュームのシャドウ コピーをロックできないため、ソース ボリュームに対して chkdsk を実行すると、誤ったエラーが報告されるか、chkdsk が予期せず終了する可能性があります。 ただし、読み取り専用モード (パラメーターなし) で chkdsk を実行して共有フォルダーのシャドウ コピーの記憶域ボリュームを確認することで、エラーのシャドウ コピーを確認できます。

  • パラメーターが異なる chkdsk コマンドを回復コンソールから利用できます。

  • 再起動頻度の低いサーバーでは、chkntfs コマンドまたは fsutil dirty query コマンドを使用して、chkdsk を実行する前にボリュームのダーティ ビットが既に設定されているかどうかを確認することができます。

終了コードについて

次の表に、chkdsk が完了した後に報告する終了コードを示します。

終了コード 説明
0 エラーは見つかりませんでした。
1 エラーが見つかり、修正されました。
2 /f が指定されていないため、ディスク クリーンアップ (ガベージ コレクションなど) が実行されたか、クリーンアップが実行されませんでした。
3 ディスクを確認できなかったか、エラーを修正できなかったか、/f が指定されていないため、エラーは修正されませんでした。

ドライブ D のディスクを確認し、Windows にエラーを修正させるには、次のように入力します。

chkdsk d: /f

エラーが発生した場合、chkdsk は一時停止し、メッセージを表示します。 Chkdsk は、ディスクの状態を一覧表示するレポートを表示することによって終了します。 chkdsk が終了するまで、指定されたドライブ上のファイルを開くことはできません。

現在のディレクトリの FAT ディスクにあるすべてのファイルで、連続していないブロックを確認するには、次のように入力します。

chkdsk *.*

Chkdsk によって状態レポートが表示され、連続しないブロックを含むファイルの仕様に一致するファイルが一覧表示されます。

chkdsk ログの表示

Windows で chkdsk ログ ファイルを取得するために使用できる方法は 2 つあります。 それらの方法について以下で説明します。

イベント ビューアーでログを表示するには、次の場所に移動します。

  1. [スタート] >[コントロール パネル]>[管理ツール]>[イベント ビューアー]

    "または"、Win + R キーを押して実行ダイアログ ボックスを表示し、「eventvwr.msc」と入力し、[OK] を選択します。

  2. [Windows ログ] を展開し、[Application] を右クリックして、[現在のログをフィルター] を選択します。

  3. フィルター現在のログ ウィンドウで、 イベント ソース ドロップダウン メニューに移動し、ChkdskWininit を選択します。

  4. [OK] をクリックして、これら 2 つのソースのフィルター処理を完了します。