Windows Booting Order
1) 시스템 전원 On
- POST(CPU, RAM, 비디오카드, 다른 장치 식별 Test) : Power On Self Test
- BIOS 첫번째 섹터(MBR, Partition Table) 찾음
2) Boot Phase
- MBR 메모리 로드
- Partition Boot Record Tabe에서 Active Partition 찾음
- Active Partition에서 Boot Sector Memory 적재(NTLDR 준비)
- Mini File Driver 시작(For NTFS Access)
- NTLDR은 boot.ini 를 Active Partition에 위치하여 OS 선택 메뉴 보여줌
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise with /3GB" /3GB /fastdetect
- NTLDR은 Ntdetect.com 호출, Ntdetect.com은 하드웨어 스캔 결과를 NTLDR에 넘겨줌
- NTLDR은 ntoskrnl.exe, HAL, Booting 시 로드되도록 스케쥴링된 Driver 로드(start 0)
3) Kernel Phase
Kernel Load
- Driver Loading, Driver 초기화
- Ntldr은 ntoskrnl.exe, Hal.dll, HKLM/System 로드
- Registry의 System Load 되어 여기서 로드되어야 할 드라이버, 서비스 검색
HKLM\System\CCS\Services\<Service Name>
Start
- 0 Boot
- 1 System
- 2 Autologon
- 3 Demand
- 4 Disable
- Logo와 Progress Bar
Kernel 초기화
- CCS와 복사본 만들어지고 초기화
- Ntdetect.com에 의해 검색된 하드웨어 리스트가 HKLM\Hardware에 저장
4) Service Phase
- 세션 메니저(Smss.exe) 시작
Page File 생성
System 환경 변수 생성
HKLM\SYSTEM\CCS\Control\Session Manager
(BootExecute 안의 리스트 수행)
- 모든 Volume 체크
- Smss.exe가 CCS과 복제 Control 작성
5) Logon Phase
- Win32 서브 시스템(Csrss.exe)가 초기화되면 Winlogon.exe 시작
- Lsass.exe(Local Security Authority SubSystem) 실행
- "로그온 하려면 Ctrl+Alt+Del" 화면 Display
- 복제 Control이 LastKnownGood Control에 복사
- Lsass.exe에 인증 완료 후 Userinit 수행(explorer.exe Shell 실행)
- Smss.exe -> Wininit.exe -> SCM 수행