次の方法で共有


chkdsk

ボリュームのファイル システムとファイル システムのメタデータで、論理エラーと物理エラーをチェックします。 パラメータなしで使用すると、 chkdsk はボリュームの状態のみを表示し、エラーは修正されません。 /f/r/x、または /b パラメーターと一緒に使用すると、ボリュームのエラーが修正されます。

Important

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

Important

chkdsk を中断することはお勧めしません。 ただし、 chkdsk をキャンセルまたは中断しても、 ボリュームが chkdsk が実行される前よりも破損したままになることはありません。 chkdsk を再度実行すると、ボリュームに残っている破損がチェックされ、修復されます。

Note

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

Syntax

chkdsk [<volume>[[<path>]<filename>]] [/f] [/v] [/r] [/x] [/i] [/c] [/l[:<size>]] [/b] [/scan] [/forceofflinefix] [/perf] [/spotfix] [/sdcleanup] [/offlinescanandfix] [/freeorphanedchains] [/markclean] [/?]

Parameters

Parameter Description
<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 が指定されていない場合でも、破損が検出されなかった場合は、ボリュームをクリーンとしてマークします。
/? コマンド プロンプトにヘルプを表示します。

Remarks

  • /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 はルート ディレクトリ内の失われた各チェーンを、File<nnnn>.chk 形式の名前のファイルとして保存します。 chkdskが終了したら、これらのファイルに必要なデータが含まれているかどうかを確認できます。

    • N キーを押すと、Windows はディスクを修復しますが、失われた割り当てユニットの内容は保存されません。

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

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

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

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

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

  • 異なるパラメータを持つ chkdsk コマンドは、リカバリーコンソールから使用できます。

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

chkdsk がさまざまなメディアで実行する方法

  • 物理的性質: HDDは回転する磁気プラッターを使用します。 セクターとブロックは、プラッタから物理的に読み取られます。

  • chkdsk を実行する場合:

    • 物理ヘッドは、チェック対象の各データ・ロケーションに移動する必要があり、機械的な動きのために 遅くなります
    • 不良セクタのチェック (/r を使用) は、すべてのセクタの物理的整合性がチェックされ、可能であれば不良セクタが置き換えられるため、時間がかかります。
    • 大規模なドライブでは、時間の長いランタイムは珍しくありません。

通常、大容量 HDD では、 /r または /b は、すべてのセクターを読み取る際にかなりの時間がかかります。 エラーがなく、ほとんど空のドライブであっても、物理的な読み取り速度がプロセスのボトルネックになります。

大規模な容量の HDD では、 chkdsk のプロセスが短時間で完了する可能性がある場合があります。 これが発生した場合は、次のようになります。

  • ボリュームがダーティにマウントされているか、オペレーティング システム (OS) または別のプロセスによってロックされています。
  • chkdsk操作では、ドライブ上のすべてのセクターが実際にスキャンされたわけではありません。
  • HDD の読み取りヘッドの障害やその他のハードウェアの問題により、 chkdsk が予期しない動作をする可能性があります。
  • chkdsk操作では、ファイル システム構造のオンライン スキャンのみが実行され、OS を起動する前にオフライン スキャンを実行するように明示的に行われませんでした。

chkdsk ログを表示すると、スキャン中に潜在的な問題が示される可能性があります。 詳細については、 chkdsk ログの表示を参照してください。

終了コードについて

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

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

Examples

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

chkdsk d: /f

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

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

chkdsk *.*

Chkdsk はステータス レポートを表示し、連続しないブロックを持つファイル仕様に一致するファイルを一覧表示します。

chkdsk ログの表示

イベント ビューアーと PowerShell を使用して、Windows で chkdsk ログ ファイルを取得するために使用できる 2 つの方法があります。

イベント ビューアーでログを表示するには、次のアクションを実行します。

  1. > コントロールパネル>管理ツール>イベントビューアを起動します。

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

  2. [Windows ログ] を展開し>[アプリケーション] を右クリックして>[現在のログのフィルター処理] を選択します。

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

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