ディスクのエラーを調べる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. 実行前に確認すること
- 管理者権限:Microsoftのページに「ローカルのAdministratorsグループまたは同等のメンバーシップは、chkdskを実行するために必要な最小限」と書かれています。管理者として開いたコマンド プロンプトか、PowerShellで実行します
- ファイルシステムがNTFSか:/scanなどの一部のオプションは、NTFSでのみ使えます。FAT32やexFATでは別の扱いになります。ドライブのファイルシステムは、Get-VolumeのFileSystemTypeで分かります(筆者のPCでは、CとEがNTFS、FがexFAT)
- データのコピー:修正を伴う実行の前に、大切なファイルを別のドライブへコピーします(robocopyでMT5のフォルダをバックアップして照合する)。コピーできる状態かどうかは、先に確かめます
- ドライブの物理的な状態:異音がする、認識が不安定な場合は、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は、止まる時間を見込む


