少し前に質問がありました ログイン画面が表示される前にプログラムを実行する ここで、彼は写真に基づいて起動時にchkdskを実行したいと思っていましたが、実際には別のプログラムを実行したいと思っていました。
ええと、私は特にchkdskについて答えました、そして「再起動するたびにchkdskをどのように実行しますか?」に対する私の解決策を見つけるかもしれないと思った人もいます。面白い。
基本的に、起動時に毎回chkdsk/fまたはchkdsk/rを実行したい場合は、HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
で動作させるのではなく、シャットダウン時に実行するように設定できます。
方法は次のとおりです。
JUST y
を含むファイルC:\ WINDOWS\system32\confirm.txtを作成します。
次に、次のコードを含むC:\ WINDOWS\system32\Chkdsk_Reboot.batを作成します。
echo y > confirm.txt
chkdsk c: /f /x < confirm.txt
XP Proまたは他のProレベルのOSがある場合は、gpedit.msc> Computer Configuration> Windows Settings> Scripts> Shutdownを開き、そのChkdsk_Reboot.batをシャットダウンスクリプトとして追加します。 。
次に再起動すると、chkdskコマンドが実行されます。
Gpedit.mscがないため、これがXP homeで機能するかどうかはわかりません。このディレクトリ構造を作成して、そこにバッチファイルを追加できる場合がありますが、ホームはグループポリシーを使用しないため、機能します:C:\ WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown
chkdsk
は、すべての起動で実行されるようにすでに設定されています。
を見てみましょう HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
そして複数の文字列を見つけます(REG_MULTI_SZ
)BootExecute
というエントリ。値 "autocheck autochk *
"は、chkdsk
が起動時に実行されることを示していますが、バックグラウンドで実行され、ディスクエラーを検索しているため、表示されません。
chkdsk
がディスクの問題を検出すると、フルディスクスキャンのブルースクリーンが表示されます。
編集:
ここ (セクション:「ダーティビットとレジストリの「Autochk」エントリ」)によると、オプションのサンプルを自動チェックします。
Sample command Resulting registry entry
============== ========================
Chkdsk C: /F Autocheck autochk /p \??\C:
Chkdsk C:\mountpoint /F Autocheck autochk /p \??\VOLUME{GUID}
Chkntfs D: E: /X Autocheck autochk /k:D /k:E *
Chkntfs G: /C Autocheck autochk /m \??\G: