web-dev-qa-db-ja.com

現在ではなく、次の再起動のために表面スキャン(chkdsk)をスケジュールする方法

問題

入ったばかり

chkdsk d: /f /r

そしてディスクチェックはすぐに始まりました。次の再起動時にいくつかの理由で実行したいのですが。

  • 必要に応じて荷造りして行きます
  • 出荷後すぐに実行されます
  • プロセスを実行して既存のエラーを悪化させる機会が少ない
  • (どのパーティションでも)競合するディスクアクティビティがないため、HDDはスラッシュしません

現在、この質問を書き終えた後、スケジュールされたタスクが開始しようとしているため、画面を1〜2時間見て、ETAが上昇し始めると5分ごとにマウスを揺らしています。

間違った答え

fsutil dirty set d:

使用中のボリュームをチェックしようとするときのchkdskとは異なり、これは再起動時に実行されるチェックのタイプを設定できません。

4
regregex

次の再起動のためにchkdskをスケジュールするには、コマンドプロンプトの現在のドライブを同じドライブに設定するなどして、チェックするドライブをロックする必要があります。 ドライブ上のファイルを開くだけでは不十分です。また、/xスイッチはnotを指定する必要があります。

C:\Windows\system32>d:

D:\>chkdsk d: /f /r
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) n

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) y

This volume will be checked the next time the system restarts.

D:\>

システムドライブと他のドライブのチェックを同時にスケジュールする場合は、システムドライブのチェックを最後に要求して、他のドライブのチェックが1回だけ実行されるようにします。

@Iainと@ peter-hahndorfに感謝します。

5
regregex

/xスイッチを追加すると、次回の再起動時に実行するように提供されるので、必要な機能が実行されます。

C:\WINDOWS\system32>chkdsk /x /f /r c:
The type of the file system is NTFS.
Cannot lock current drive.

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) 
1
user9517