공통
1. 전원인가
2. POST 초기화 ( 프로그램 카운터 초기화)
3. BootStrap 이라 불리우는 ROM BIOS 초기화
4. 시스템버스, RTC, VIDEO, RAM, KEYBOARD 순서대로 점검
5. cd /hdd /floopy 드라이브 결정을 위한 버스 경로 지정
6. 시스템 구성정보와 CMOS 비교, 다르면 Setup 프로그램 업데이트
7. SCSI BIOS와 같이 시스템에 포함된 바이오스 정보 로딩
8. BootStrap( POST) 종료
: MBR, 또는 VBR(floopy) 로딩
9. MBR의 파티션테이블에서 부팅가능한 파티션 영역의 BR주소를 찾아서 이동
DOS
10. IO.sys로드
11. SYSINIT 루틴 동작( SYSINIT루틴은 IO.sys의 서브루틴이다 )
12. SYSINIT 는 DOS 메모리 영역의 가장 위쪽에 연속적으로 자신을 복사
13. SYSINIT가 MSDOS.sys 로드 ( 시스템 장치의 상태체크, 기본 장치 드라이버 초기화)
14. SYSINIT가 config.sys파일 로드 ( DEVICE /INSTALL /SHELL )
15. command.com 수행
16. autoexec.bat파일이 존재시 해당 파일을 실행
17. autoexec.bat파일 미존재시 time/ date / copyright 정보와 함께 prompt 출력
Windows 2000 / xp
10. NTLDR로드 ( protected mode로 동작 )
11. 파일 시스템 시작 및 BOOT.ini 파일 로드 ( 파티션정보, 부팅순서)
12. 윈도우가 아닌 계열은 BOOTSEC.DOS 파일이 로드 됨.
13. SCSI 드라이브가 존재할 시에는 SCSI 드라이브의 드라이버를 위해 NTBOOTDD.sys 를 포함하여 읽어들임
14. NTDETECT.com 수행
DOS
10. IO.sys로드
11. SYSINIT 루틴 동작( SYSINIT루틴은 IO.sys의 서브루틴이다 )
12. SYSINIT 는 DOS 메모리 영역의 가장 위쪽에 연속적으로 자신을 복사
13. SYSINIT가 MSDOS.sys 로드 ( 시스템 장치의 상태체크, 기본 장치 드라이버 초기화)
14. SYSINIT가 config.sys파일 로드 ( DEVICE /INSTALL /SHELL )
15. command.com 수행
16. autoexec.bat파일이 존재시 해당 파일을 실행
17. autoexec.bat파일 미존재시 time/ date / copyright 정보와 함께 prompt 출력
Windows 2000 / xp
10. NTLDR로드 ( protected mode로 동작 )
11. 파일 시스템 시작 및 BOOT.ini 파일 로드 ( 파티션정보, 부팅순서)
12. 윈도우가 아닌 계열은 BOOTSEC.DOS 파일이 로드 됨.
13. SCSI 드라이브가 존재할 시에는 SCSI 드라이브의 드라이버를 위해 NTBOOTDD.sys 를 포함하여 읽어들임
14. NTDETECT.com 수행
: 시스템에 설치된 하드웨어 / NTLDR에 의해 통과된 구성 정보를 찾아 실행 프로파일을 수행
15. NTDETECT.com에 의해 이전 단계에서 획득된 구성 정보는 NTLDR에 의해 NTOSKERNEL.exe로 넘어감
: NTOSKERNEL은 "kernel / HAL / 시스템레지스트리" 정보를 로딩
<윈도우 커널구조 >
**** 커널의 레벨을 나눈 이유는 안정성, 프로그램이 죽어도 커널은 안죽게 하기 위해.
16. 네트워킹코드( tcp / ip와 같은), 드라이버들이 nt 부트 프로세스에서 로딩된다.
: 서비스 중 하나인 로그온 서비스가 구동되고 , 정상적으로 로그온 시에 "good" 상태는 마지막 성공한 구성으로 업데이트 되어 진다.
17. 로그온과 동시에 장치 탐지가 수행되고, 장치가 발견되면 driver.cab파일을 압축 해제 후 드라이버를 설치하며, 드라이버가 존재하지 않으면 사용자에게 요구한다. 소프트웨어와 하드웨어의 구성을 위한 상호 허가가 발생된다.
cf. 윈도우 비스타 , 7, 2008은 NTLDR 대신에 Bootmgr( Windows Boot Manager ) 가 로딩된다.
BOOT.ini 대신에 시스템 "루트디렉토리에\BOOT" 디렉토리에 위치한 BCD 파일을 Bootmgr이 읽어들임
cf. 윈도우 비스타 , 7, 2008은 NTLDR 대신에 Bootmgr( Windows Boot Manager ) 가 로딩된다.
BOOT.ini 대신에 시스템 "루트디렉토리에\BOOT" 디렉토리에 위치한 BCD 파일을 Bootmgr이 읽어들임
: BCD파일은 DB 파일
BCD파일은 레지스트리 HIVE와 동일함
BCD파일은 레지스트리 HIVE와 동일함
NTOSKERNEL 대신에 Bootmgr이 WINLOAD.exe 호출
: Bootmgr은 VHD파일을 읽을 수 있어 멀티 부팅도 가능케 해준다.
WINLOAD.exe는 NTOSKERNEL을 구동하고 부트 클래스 드라이버를 로드 한다.
'Forensic & 침해사고대응' 카테고리의 다른 글
컴퓨터 포렌식을 위한 하드웨어 구성 (0) | 2011.08.24 |
---|---|
리틀엔디안 빅엔디안 내부 원리 (0) | 2011.08.24 |
RISC VS CISC (0) | 2011.08.24 |
[펌] 리틀엔디안 & 빅 엔디안 (0) | 2011.08.24 |
메모리 덤프하기 (0) | 2011.08.22 |