Program not found - skipping AUTOCHECK

はじめに:この記事には Windows のレジストリーを直接編集する方法が書いてあります。Windows のレジストリーを編集することの意味が分からない場合、所属組織の情報システム管理者やコンピューターに詳しい人に相談することをおすすめします。

program not found - skipping AUTOCHECK: Windows XP program not found - skipping AUTOCHECK: Windows Vista / 7

Diskeeper のブートタイムデフラグを実行するときに “○○○○○ program not found - skipping AUTOCHECK” というエラーメッセージが表示されるという情報がユーザーサポートに寄せられることがあります。

このエラーは Windows のセッションマネージャー(smss.exe)がシステムを起動するブートプロセスの早い段階で表示されます。smss.exe は Windows のカーネルコンポーネント、ページングファイルやレジストリーをロードする重要なプログラムです。そしてこれらの処理をおこなう際に BootExecute というレジストリーキーを参照します。ここには起動するアプリケーションがリストされており、セッションマネージャーは Windows のシステムフォルダーからアプリケーションを検索します。
既定では autochk.exe (Windows 起動時用の chkdsk)だけが記述されており、ファイルシステムに不整合がある(ボリュームのダーティビットが立っている)場合に処理をおこないます。

アプリケーションがボリュームに排他的にアクセスする必要がある場合、ソフトウェアベンダーは BootExecute に固有のプログラムを記述します。Diskeeper もこの仕組みを利用しており、そのために Windows がオンラインのあいだに最適化できないファイルを安全に最適化することができます。

しかしながら、悪意のあるマルウェア制作者もまた、スパイウェアやウイルスをロードするためにこの BootExecute を使用することがあります。

また、BootExecute を使用する合法的なアプリケーションをアンインストールしたときにもこのメッセージは表示されることがあります。アプリケーションのアンインストールは通常 Windows のシステムフォルダーからもアプリケーションを削除しますが、BootExecute からは削除しません。多くの場合、BootExecute への変更は「今回限り」のものだからです。

次回コンピューターを手動で起動したときに、ブートタイムデフラグを実行する

たとえば、「次回コンピューターを手動で起動したときに」 Diskeeper のブートタイムデフラグを実行するように設定し、そのまま Diskeeper をアンインストールした場合、このメッセージが表示されてしまう事態に陥ります。ひとたび Diskeeper のブートタイムデフラグが完了すると、この設定は BootExecute から削除されます。

BootExecute を使用する他のアプリケーションでも同様に処理をおこなうので、BootExecute への記述が取り残された場合には同様にこのメッセージが表示されてしまう自体が起こり得ます。

別の可能性として、セキュリティ用のソフトウェアが Windows のシステムフォルダーからなにかのプログラムを検疫し(取り除いて削除し)、そのプログラムの記述が BootExecute に取り残されたままとなった場合、同様にこのメッセージが表示されるでしょう。

上述したような状況により BootExecute に取り残されたプログラムが合法的なアプリケーションであった場合、このメッセージの表示は無害です。(Windows 起動時用の chkdsk である autochk が動作しない場合には問題です)

BootExecute を修復し、このメッセージを表示しないようにするには、次の手順を実施します。

注意:不注意なレジストリーの編集は Windows のシステムを破壊する危険性があります。レジストリーの編集によるいかなる問題に対しても相栄電器は補償しません。レジストリーを編集する場合、十分に注意しユーザー様ご自身の責任の下でおこなう必要があることをご承知おきください。

  1. Windows を起動し、どのプログラムが原因となってこのメッセージが表示されているのかをメモします
    “○○○○○ program not found - skipping AUTOCHECK” というメッセージの “○○○○○” の部分です。
  2. Windows のスタートメニューの「プログラムとファイルの検索」または「ファイル名を指定して実行」に regedit と入力して、レジストリーエディターを起動します
  3. レジストリーキーを開きます
    コンピューター \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    コンピューター \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
  4. Session Manager の右クリックメニューから[エクスポート]を選択し、ファイル名をつけて保存します
    これはレジストリーキーの値のバックアップになります。
  5. BootExecute の右クリックメニューから[修正]を選択します
  6. 値のデータから “○○○○○” の記述がある行を削除します
    modify_BootExecute
    通常は autocheck autochk * の行だけが記述されています
    modify_BootExecute2
    autocheck autochk * と “○○○○○” の記述以外の行がある場合でも、それがインストール済みの合法的なプログラムによる記述であれば削除せずに残しておきます
  7. OK をクリックして修正を反映し、Windows を再起動して “○○○○○” によるメッセージが表示されないことを確認します

Diskeeper のブートタイムデフラグでは、BootExecute には autocheck AUTONTFS C: PAGE=MIN DIRS=NONE MFT=NONE というような行が記述されます。


このサポート情報は、Diskeeper の開発元 Condusiv Technologies (前 Diskeeper Corporation)によるブログ記事を翻訳し、加筆再編集したものです。