「電源を入れるたびに、黒い画面でパーセントが進むんです」。PCショップの頃、そんな持ち込みは珍しくなかった。持ち主は故障やウイルスを疑っていたが、画面を見ると、Windowsがドライブの点検と修復をしているだけ、というケースがほとんどだった。

この記事は2026年10月時点のWindows 11 24H2を前提にしている。画面の文言は環境によって少し違い、英語表記では「Scanning and repairing drive」と出る。ここでは、日本語環境で「ドライブをスキャンして修復しています」と出る画面を対象にする。

この画面が出たら、まず電源は切らずに待つ

パーセント表示が動いているなら、待つのが基本だ。

電源ボタン長押しで止めたくなる気持ちはわかる。ただ、Microsoft Learnのchkdskの解説では、実行中に中断してもchkdskを実行する前より壊れることはなく、再実行すれば残った破損を検出して修復する、とされている(chkdsk | Microsoft Learn)。それでも「推奨はしない」と明記されている点は押さえておきたい。

自分の経験では、容量の大きいHDDだと長く待たされることがある。SSDは比較的短く済む。進捗が少しでも動いていれば生きている。

この画面は何をしているのか

裏側では、ボリューム(Cドライブなどの区画)の「ダーティビット」が関わっている。

ダーティビットは、ファイルシステムが一貫しない状態かもしれない、という目印のことだ。Microsoft Learnのfsutil dirtyの説明によれば、設定される原因は主に3つある。ボリュームがオンラインで未処理の変更が残っている場合、変更がディスクに書き込まれる前にコンピューターがシャットダウンされた場合、ボリューム上で破損が検出された場合だ(fsutil dirty | Microsoft Learn)。この目印が付いたまま再起動すると、chkdskがファイルシステムの整合性を検証して、修復を試みる。

つまり、画面が出た時点で「前回の終了のしかたに引っかかりがあった」のが基本の筋書きだ。停電、フリーズ後の強制終了、電源コードを抜く、といった場面が当てはまる。

以前、フリーズするたびに電源コードを抜いていたお客さんのPCがブートセクタ破損で持ち込まれたことがある。データも一部戻らなかった。正しい強制終了の順番はコンセントを抜く前に試す手順の記事で書いた。

一度きりか、毎回出るのかを確かめる

1回だけ出て、その後は出ない。これは問題が修復された結果で、様子見でいい。

厄介なのは毎回出るパターンだ。まず、ダーティビットの状態をコマンドで見る。管理者としてコマンドプロンプトを開き、次を入力する。

fsutil dirty query c:

「Volume C: is dirty」と出れば、まだ目印が残っている。「is not dirty」ならいまは問題なしだ。

次に、直前のチェックで何が起きたかをログで見る。イベントビューアー(Win+Rで「eventvwr.msc」)を開き、「Windowsログ」→「アプリケーション」→「現在のログのフィルター」で、イベントソースに「Chkdsk」と「Wininit」を選ぶ。PowerShellなら次の1行でもいい(Microsoft Learnのchkdsk解説に載っている方法)。

get-winevent -FilterHashTable @{logname="Application"} | ?{$_.providername -match "wininit"} | fl timecreated, message

ログには、見つかった問題と修復の結果が残っている。「問題は見つかりませんでした」が毎回並ぶのか、毎回何かを直しているのか。ここが次の分かれ道になる。

毎回出るときの切り分け

順番はこうだ。ソフトの手当てより先に、ドライブそのものの健康状態を見る。

ドライブの健康状態を確認する

CrystalDiskInfoでS.M.A.R.T.の状態を確認する。「注意」や「異常」が出ているなら、チェックの前にバックアップが先だ。使い方はCrystalDiskInfoの見方の記事で書いた。工房では朝のベンチ中に「正常」が「注意」に変わっているのを見つけて、交換用のSSDを手配したことがある。バックアップを先に取ったので、データは無事だった。

手動でchkdskをかける

健康状態に問題がなければ、手動で完全に修復させる。管理者のコマンドプロンプトで次を実行する。

chkdsk C: /f

Cドライブは使用中でロックできないため、「次回システムを再起動したときに、このボリュームのチェックを実行しますか」と聞かれる。Yを入力して再起動すると、起動前にチェックと修復が走る。Microsoft Learnにも、ブートパーティションならチェック後に自動で再起動すると書かれている。

オプションやること使いどころ
/fディスク上のエラーを修正まずこれ。時間は比較的短い
/r不良セクターを特定し、読める情報を回復(/fの機能を含む)物理的な不具合を疑うとき。大容量HDDは時間がかかる
/scanNTFSでオンライン(起動したまま)スキャン再起動せず状態を見たいとき
/spotfixボリュームのスポット修正/scanで見つかった欠陥の修正に

SSDで/rを何度も回すのは避けたい。Microsoft Learnにも、全面スキャンの繰り返しは書き込み・消去サイクルを不必要に増やし、寿命をわずかに縮める可能性がある、と注意が出ている。たまに実行するぶんには大きな問題ではない。

外付けドライブとシャットダウンの癖を見直す

毎回出るのがCドライブではなく、DやEの外付けだった、という場合もある。取り外し前に「安全に取り外し」をしていない習慣があると、同じ理屈でダーティビットが残りやすい。

Windowsのシステムファイルそのものの破損を疑うなら、chkdskとは別にSFCとDISMがある。こちらはsfc /scannowの記事を参照してほしい。ファイルシステム(ドライブの管理情報)を見るのがchkdsk、Windows本体のファイルを見るのがSFC、と覚えておくと混ざらない。

どうしても画面を止めたいときのchkntfs

起動のたびに数分待たされるのが耐えられない。そういう場合に、チェック対象から外すコマンドがある。

chkntfs /x D:

Microsoft Learnのchkntfsの解説では、/xを指定したボリュームは、chkdskが必要とマークされていても起動時のチェックから除外される(chkntfs | Microsoft Learn)。元に戻すには「chkntfs /d」で既定の動作を復元する。注意点が2つある。/xは累積されず、複数回入力すると最新のエントリが前のものを上書きする。複数のドライブを除外するときは「chkntfs /x d: e:」のように1回で並べる。

ただ、Cドライブを除外するのはおすすめしない。エラーを抱えたまま使い続けることになり、画面を消しただけで問題は残るからだ。外すなら、中身を把握している外付けのデータ用ドライブに限る。

パーセントが進まない、終わらないとき

数時間たっても0%や同じ数字のまま、という場合は話が変わる。

HDDが物理的に読めなくなりかけていると、読み込みのたびに待たされて進捗が止まって見える。アクセスランプが全く光らず、ファンも静かで、1時間以上変化がなければ止まっていると判断していい。電源ボタンの長押しで落とし、回復ドライブから起動してデータを救出する流れになる。

もう1つは、チェックのたびに同じ箇所を直して終わるのに、翌日にはまた出るパターン。これはドライブの寿命か、毎回シャットダウンに失敗している可能性が高い。ドライブの交換を視野に入れて、バックアップを増やしておくのが先だ。

※ 画面の文言や表示の細部はPCメーカーのカスタマイズやバージョンで違うことがある。手元の画面と少し違っても、パーセントが動いていれば同じ処理と考えていい。

FAQ

途中で電源を切るとデータは消えますか?

Microsoft Learnによれば、chkdskを中断しても、実行前より破損が進むことはなく、再実行で残りの修復ができる。ただし中断は推奨されていないので、動いている間は待つのが安全だ。

chkdsk /f と /r はどちらを使えばいいですか?

まず/fで十分だ。/rは/fの機能に不良セクターの検出と読み取り可能な情報の回復が加わり、大容量HDDでは長時間かかる。物理的な異常を疑うときに回す。

起動のたびに出るのに、ログは「問題なし」です。なぜですか?

ダーティビットが立ったままになっているか、毎回の終了が正しく完了していない可能性がある。「fsutil dirty query c:」で状態を確認し、手動で「chkdsk C: /f」を再起動時に走らせてみるといい。それでも続くなら、ドライブの健康状態を確認する。

SSDでもchkdskを実行して大丈夫ですか?

大丈夫だ。Microsoft Learnも危険ではないとしている。ただし/rによる全面スキャンを頻繁に繰り返すと、寿命がわずかに縮む可能性があるため、必要なときだけにする。

参考文献