Windows 10のスタートアップの実行順序

Windows, Windows 10, スタートアップ, レジストリ

この記事にはWindowsのレジストリ設定に関する情報があります。レジストリ設定の変え方をやっちまうと,PCの動きが不安定になったり,最悪PCが使えなくなってしまいます。レジストリ設定をやっちまった場合でも,私は何の責任も負えません。くれぐれもご注意ください。

Windows 10のPCを起動すると色々なプログラムが自動で立ち上がる。

しかし,自分が早く立ち上がって欲しいプログラムがなかなか立ち上がらず,焦ることがしばしば。

立ち上がる順番に決まりはあるのかが気になった。

調べてみると,Windows PC起動時に立ち上がるプログラムはグループに分類されており,グループ内では同時並行で実行されるが,グループ間では順番が決められて実行されていることが分かった。

実行するプログラムのパスは以下の要領でレジストリ上で管理されている。

以下,プログラムのパスが記録されているレジストリ上の場所を,プログラムが実行される順番で列挙する。

Windows自体が起動した直後に実行するもの

  • Windowsブートデバイスドライバー(Startの値が0のもの)
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  • Windowsオートスタートサービス & ドライバー(Startの値が2のもの)
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  • Windowsちょっと遅れて起動するオートスタートサービス & ドライバー(Startの値が2で,かつ(DelayedAutostartの値が1のもの)
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  • 1回だけ実行するサービス
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • 常駐するサービス
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

ユーザーがログオンした直後に実行するもの

  • Notify of the logon event
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
  • ユーザー情報の初期化
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
  • Shell:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
  • ShellServiceObjectDelayLoad pointing to CLSID InProcServer:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
  • RunOnce Local Machine Key
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
  • 常駐するプログラム
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • RunOnce Current User Key (mostly for installations):
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • Explorer Run:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  • Load Key (deprecated):
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
  • タスクスケジューラーで起動するもの
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
  • AppInit_DLLs:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
  • 全ユーザー共通のスタートアップフォルダ
    C:\Users\All Users\Start Menu\Programs\Startup
  • ユーザー個別のスタートアップフォルダ
    C:\Users\username\Start Menu\Programs\Startup

参考

https://superuser.com/questions/1381547/in-which-order-are-startup-programs-loaded