先ほど質問がありましたが、ログイン画面が表示される前にプログラムを実行するここで、私は彼が画像に基づいて起動時に chkdsk を実行したいと具体的に意味しているのだと思いましたが、実際に彼が実行したかったのは別のプログラムでした。
そうですね、私は特に chkdsk について回答しましたが、「再起動のたびに chkdsk を実行するにはどうすればいいですか?」という私の解決策が興味深いと思われる方もいるかもしれないと思いました。
答え1
基本的に、起動時に毎回 chkdsk /f または chkdsk /r を実行したいだけの場合は、 で動作するようにするのではなく、シャットダウン時に実行するように設定できますHKLM\SYSTEM\CurrentControlSet\Control\Session Manager
。
方法は次のとおりです。
JUST を含むファイル C:\WINDOWS\system32\confirm.txt を作成しますy
。
次に、次のコードを含む C:\WINDOWS\system32\Chkdsk_Reboot.bat を作成します。
echo y > confirm.txt
chkdsk c: /f /x < confirm.txt
XP Pro またはその他の Pro レベルの OS をお持ちの場合は、gpedit.msc>コンピューターの構成>Windows の設定>スクリプト>シャットダウンを開き、Chkdsk_Reboot.bat をシャットダウン スクリプトとして追加します。
次に再起動すると、chkdsk コマンドが実行されます。
XP Home には gpedit.msc がないので、これが機能するかどうかはわかりません。このディレクトリ構造を作成してそこにバッチ ファイルを追加できるかもしれませんが、Home はグループ ポリシーを使用しないため、機能するかどうかはわかりません: C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown
答え2
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: