실행되는 순서...
1. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
2. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
<로그인>
3. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
4. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
5. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
6. All Users Startup folder : Documents and Settings\All Users\Start Menu\Programs\Startup folder
7. Startup folder : Documents and Settings\user\Start Menu\Programs\Startup folder
NT의 경우는 Startup folder : Profiles\user\Start Menu\Programs\Startup
8. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
의 레지스트리 경로 순서대로 시작프로그램들이 순차적으로 로드 되며,각 키안에서의 우선순위는 먼저
설치된 프로그램순입니다.(오른쪽 창의 데이터순서)
* 시스템구성유틸리티(msconfig)안에서 실행되는 시작프로그램은 4,5,6,7번과 같습니다.
1,2,3,8번을 제외하고 msconfig내의 시작프로그램순서는 프로그램이 로드되는 순과 같습니다.
* HKEY_LOCAL_MACHINE\...\RunOnce 레지스트리키에 있는 실행프로그램들의 실행순서는
정해져있지 않고, 동시에 로드되게 됩니다.
* RunServicesOnce키와 RunServices키는 사용자가 로그온 하기전에 로드됩니다.(일부 백신프로그램
등의 경우에는 이 경로에 해당 시작프로그램 경로를 작성하기도 합니다. 로그인 전에 자동실행 시킬
어플리케이션이 있다면 여기에 경로및 데이터를 작성하시면 됩니다.)
* 만일 다른프로그램에 종속되어 실행되는 시작프로그램이 있다면, 종속되어진 시작 프로그램은
선행된 시작프로그램이 완전히 끝날때 까지 대기하게 되며, 이것을 제외하고는 위에 나열된 순으로
로드됩니다.
* 안전 모드에서 시작할 경우 Run 키가 모두 무시됩니다. RunOnce 키의 경우 값의 이름 앞에
별표(*)를 붙여 안전 모드에서도 관련된 경로의 프로그램을 실행시킬 수도 있습니다.
* 간혹 시작프로그램에서 지우고픈 것이 있어서 시작레지의 run에서 목록을 지워도 이게 레지를 다시
실행할때마다 등록되는 놈들이 있다.(일부 악성코드, 애드워어등등을 수동으로 잡을경우.)
그것은 [HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\MSConfig\startupreg]
여기에 등록이 되어 있기 때문에 레지스트리 실행 할 때마다 해당값을 복구하기 때문입니다.
참고로 NT의 경우 로딩순서는
- BootExecute
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager]
BootExecute= - Services
- Task Scheduler will look in the Scheduled Tasks folder for jobs to execute.
- User enters username and password and performs logon
- UserInit (Login script is performed - More Info MS KB Q198642)
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows NT \CurrentVersion \Winlogon]
UserInit=userinit.exe - Shell (Started by Userinit.exe)
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows NT \CurrentVersion \Winlogon]
Shell=explorer.exe - All Users-RunOnce
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \RunOnce] - All Users-Run
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \Run] - All Users-RunOnceEx
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \RunOnceEx] - All Users-RunEx
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \RunEx] - Current User-RunOnce
[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \RunOnce] - Current User-Run
[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Run] - Current User-RunOnceEx
[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \RunOnceEx] - Current User-RunEx
[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \RunEx] - Common Startup Folder in the Start-Menu for All Users
- Startup Folder in the Start-Menu for Current User
[HKEY_LOCAL_MACHINE \Software \Policies \Microsoft \Windows NT \CurrentVersion \Winlogon]
SyncForegroundPolicy = 1 (0 = Do not wait for network to be initialized; WinXP+)
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \Policies \System]
SynchronousMachineGroupPolicy = 1 (0 = Do not wait for domain controller to apply machine policies)
[HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \Policies \System]
SynchronousUserGroupPolicy = 1 (0 = Do not wait for domain controller to apply user policies)
[HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Policies \System]
RunLogonScriptSync = 1 (0 = Do not wait for script to finish before starting shell)
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control\ Windows]
NoPopUpsOnBoot = 1 (0 = Show popup messages during bootup)
| STARTUP ORDER FOR WINDOWS 9X/ME |
- config.sys
- autoexec.bat
- wininit.ini
- winstart.bat
- system.ini
- win.ini
- All Users-RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce - All Users-RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices - All Users-RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce - All Users-Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run - All Users-RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx - All Users-RunEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunEx - Current User-RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce - Current User-Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - Current User-RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx - Current User-RunEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunEx - Common Startup Folder
- Startup Folder
| STARTUP ORDER FOR WINDOWS NT4/2000/XP |
- BootExecute
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute - Services
- User enters a password and logon to the system
- UserInit
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit - Shell
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell - All Users-RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce - All Users-Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run - All Users-RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx - All Users-RunEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunEx - Current User-RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce - Current User-Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - Current User-RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx - Current User-RunEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunEx - Common Startup Folder
- Startup Folder