ディスクのエラーを調べるchkdskの使い分け|/scanと/f・/rの違いと、実行前に確認すること

ドライブのエラーを調べるchkdskは、付けるオプションで動きが変わります。パラメーターなしだと、ボリュームの状態を表示するだけで、エラーは修正されません。/scanはオンラインでのスキャン、/fと/rはエラーの修正です。PowerShellのRepair-Volume -Scanは、スキャンしてエラーを報告するだけです。まず報告だけの調べ方を使い、修正は、データを別のドライブへコピーしてから行います。

この記事では、Microsoft Learnの資料にもとづいて、オプションの違いと、実行前に確認することをまとめます。chkdskの実行には管理者権限が必要なため、筆者は、この記事ではchkdskを実行していません(Microsoftの資料の内容と、管理者でない状態で確認できた情報だけを載せます)。(確認日:2026年10月19日/Windows 11)

1. オプションごとの動き(Microsoft Learnのページより)

コマンド Microsoft Learnの説明 エラーを修正するか
chkdsk ドライブ文字:(パラメーターなし) ボリュームの状態のみを表示する しない
chkdsk ドライブ文字: /scan NTFSでのみ使用。ボリュームでオンライン スキャンを実行する (/scanだけでの修復の範囲は、ページの記載からは読み取れない)
chkdsk ドライブ文字: /f ディスク上のエラーを修正する。ディスクはロックされている必要がある。ロックできない場合は、次回の再起動時にチェックするかを尋ねるメッセージが出る する
chkdsk ドライブ文字: /r 不良セクターを特定し、読み取り可能な情報を回復する。/fの機能と、物理ディスク エラーの追加の分析を含む する
chkdsk ドライブ文字: /x 必要に応じて、先にボリュームを強制的にマウント解除する。開いているハンドルは無効になる。/fの機能を含む する
Repair-Volume -DriveLetter X -Scan PowerShell。ボリュームをスキャンして、エラーを報告するだけ(ページの例の説明) しない
Repair-Volume -DriveLetter X -SpotFix ボリュームを短時間オフラインにして、$corruptファイルに記録された問題だけを修正する(chkdsk /spotfixに相当) する(記録された範囲)

Microsoftのページには、「/f、/r、/x、/bのいずれかと一緒に使うと、ボリュームのエラーが修正される」と書かれています。パラメーターなしの実行や、PowerShellの-Scanは、報告だけです。

2. 実行前に確認すること

  1. 管理者権限:Microsoftのページに「ローカルのAdministratorsグループまたは同等のメンバーシップは、chkdskを実行するために必要な最小限」と書かれています。管理者として開いたコマンド プロンプトか、PowerShellで実行します
  2. ファイルシステムがNTFSか:/scanなどの一部のオプションは、NTFSでのみ使えます。FAT32やexFATでは別の扱いになります。ドライブのファイルシステムは、Get-VolumeのFileSystemTypeで分かります(筆者のPCでは、CとEがNTFS、FがexFAT)
  3. データのコピー:修正を伴う実行の前に、大切なファイルを別のドライブへコピーします(robocopyでMT5のフォルダをバックアップして照合する)。コピーできる状態かどうかは、先に確かめます
  4. ドライブの物理的な状態:異音がする、認識が不安定な場合は、chkdskを重ねる前に、専門の窓口への相談を考えます(資料にこの判断の基準はなく、筆者の考えです。SSD・HDDが壊れる前後にやることを参照)

3. 実行中の注意

  • Microsoftのページには、chkdskを中断することは勧めないと書かれています。ただし、キャンセルや中断をしても、実行前より悪化した状態にはならない、とも書かれています
  • /rは、不良セクターの分析も行うため、/fより時間がかかります。大きなドライブでは、長時間かかる場合があります(時間は、ドライブの容量と状態で変わります)
  • OSが入っているCドライブに/fや/rを使うと、ロックできないため、再起動時の実行を尋ねるメッセージが出ます。再起動時のチェックの間は、PCを使えません。EAを動かしているPCでは、止まる時間をあらかじめ見込んでおきます(Windows Updateの再起動でMT5のEAが止まるも参照)

4. 手順の例(報告だけ)

管理者として開いたPowerShellで、次のコマンドを使います。ドライブ文字は例です。

Repair-Volume -DriveLetter E -Scan

Microsoftのページの例(ドライブH:)には、「ボリュームをスキャンして、エラーだけを報告する」と書かれています。ドライブ文字は、自分の環境に合わせて読み替えます。エラーが報告されなければ、修正の必要はありません。エラーが報告された場合は、データをコピーした後で、chkdsk E: /fなどを、メンテナンスの時間に行うか、専門の窓口に相談します。

ドライブの状態(Healthy・Warningなど)の確認はSSD・HDDの状態をPowerShellで確かめる方法にまとめています。

まとめ

  • chkdskは、パラメーターなしだと状態の表示だけ。/f・/r・/x・/bを付けると、エラーを修正する
  • PowerShellのRepair-Volume -Scanは、エラーを報告するだけ。まずこれで調べる
  • chkdskの実行には管理者権限が必要。筆者は、この記事ではchkdskを実行していない
  • 修正の前に、大切なファイルを別のドライブへコピーする。異音や認識の不安定がある時は、専門の窓口への相談を考える
  • Cドライブの/f・/rは、再起動時の実行になる。EA用PCは、止まる時間を見込む