Windowsのアップデートが進む中で、ある程度なら不具合も勝手に直してくれるので便利になったものです。
chkdskコマンド自体は初期の頃からあるみたいですけどね。
Win11が起動不能になる不具合(Quick Machine Revoveryも機能しない)なんて事も最近あったようですが・・・
そんな自己修復の便利機能ですが、少しハマったので備忘録を残しておきます。
ある日パソコン使用中に停電してしまい、その日を境にパソコンを起動するたびに毎回ディスクチェックが走るようになってしまいました。

USBメモリをはじめ、外付けHDDなどを安全な取り外しをせずに取り外すと時々起こるアレと同じ物です。


Win10v1809以降は安全な取り外し不要なんて言われたりもしますが、目的のファイルを書き込んでも稀に内部的にアクセスをしていることがあり、そんな時に取り外してしまうとこうなるみたいです。
安全な取り外しを実行すると、内部的にアクセスが続いている場合はできませんと拒否されるので分かりやすいです。
時々やらずに抜いちゃいますが、基本的には「取り外し」はやった方が良いものと覚えておきましょう。


左の画像のようにUSB機器(例えばドキュメントスキャナーのDS-531)が表示されている事もあり、それを取り外してしまうと再接続するまで使えなくなるので注意しましょう。
調査編
保存中に接続が切られたり、シャットダウンされたり・・・
ファイルシステムが一貫性のない状態になっている可能性がある・・・そんな時にdirty bitなる物がドライブに付与されます。
このdirty bitを検知するとパソコンはドライブのスキャンを提案してきます。
自動再生で出てくるのはシステムドライブ以外の時です。
システムドライブは起動中にディスクチェックができないため、システムが起動する前に行う必要があります。
本来ならディスクチェックが完了すればdirty bitは外れて通常通り使用できるようになるのですが、起動するたびにディスクチェックが走るということはdirty bitが外れていないようです。
fsutil dirty query c:
でダーティビットを確認できるので確認してみます。(c:は環境に合わせて変更)
コマンドプロンプトは管理者権限で起動しておきましょう。

案の定ダーティビットが立っていました。
こうなればディスクチェックを正しく掛ければ復活するはず・・・
chkdsk c: /f
を実行します。

システムディスクのため、再起動後に実施するようにします。(yを入力してEnter)
後は通常通り再起動をすれば起動中にディスクチェックが行われます。

時間が進み、Scanning and repairing drive(C:)…の文字・・・
そして、10秒ほどするとWindowsが起動・・・
・・・ディスクチェック素通りしてない?
当然、ダーティビットを確認すると解除されておらず。
やむを得ないので別の方法を試します。

Windowsの設定からシステム、回復と進み、PCの起動をカスタマイズから再起動してWinREを起動します。



オプションの選択が出たらトラブルシューティング、詳細オプション、コマンドプロンプトと進みます。
そこから
chkdsk c: /f
を実行するとディスクチェックが進みました。
無事完了して、コマンドプロンプトをexitで抜けて、続行からWin11を通常起動します。
再びダーティビットをチェックすると・・・ダメ!
なぜかダーティビットが外れていませんでした。
解決編
各段階でダーティビットを確認してみます。


Windown通常起動時はDirty判定ですが、WinREではDirtyでは無いと出ました。
もしやと思い、それぞれのドライブレターの確認をします。

システムドライブはCドライブです。
容量は878GBあります。
その他はバックアップ用だったりなんだったり・・・
続いてWinREを起動します。(方法はさっきの通り、システム、回復、PCの起動をカスタマイズ・・・)
コマンドプロンプトを起動して、DISKPARTにレターを聞いてみます。
DISKPART
LIST VOLUME

878GBのボリュームがEとして認識されていました。なんてこったい。
ということで、改めてEドライブのダーティビットを確認してみます。

犯人を見つけました。
犯人が分かれば、後はEにディスクチェックを掛けてあげるだけ・・・
chkdsk e: /f
c:をe:に変えて実行します。

終わったら
fsutil dirty query e:
でダーティビットを確認します。

Dirtyではありませんヨシ!
後はexitかバツ印でコマンドプロンプトを終了して、通常通り起動・・・

復活!やったぜ!
まとめ
- パソコン起動のたびにディスクチェックが行われるんだけど!
- パソコン起動時のchkdskがうまく働いていない!!
- Win11とWinREで認識するドライブレターが違ったので、
WinREで認識してるドライブレターでchkdskしたら直った!!!
ディスクチェックが毎回走る原因を調べていたら、同症状の人が少ないながらも一定数居る印象でした。
同じ原因では無いかもしれませんが、Win11とWinREの認識するドライブレターが異なるのが原因かもしれません。
おまけ
chkdsk中に進行度が一切進まなくなってしまい詰んだかと思ったのでこちらも残しておきます。
中々にお恥ずかしい話ですが、コマンドプロンプト内をクリックすると選択モードになってしまい、進行中のタスクが止まる仕組みのようです。
それを知らずに、選択モードになっているコマンドプロンプトと暫く睨めっこしておりました・・・。

進行度が一向に進まない場合は左上を見てみるともしかしたら選択モードになっているかも・・・?
(ステージ4で止まるとか、いくつか報告も見たので実際に止まることも多々あるようです)
おしまい。
