Windows 의 시작 과정 (두 번째 이야기) NTdebugging

그 동안 Ntdebugging 포스트 들에 대해서 번역 작업을 하고 있었는데 더 많은 정보를 전달해 드리기 위해서 번역을 하지 않고 간략하게 정리만 하는 것으로 하려고 합니다.

아래 포스트에서는 Windows 가 어떻게 시작되는지의 첫 번째 이야기에 이어서 NtLDR 가 어떻게 부팅과 관련된 작업을 하고 ntoskrnl을 로드 하는지 등에 대한 이야기를 하고 있습니다. 그리고 이 부분에서 발생할 수 있는 문제와 해결 방법에 대해서도 이야기 하고 있습니다.

간략히 요약해 보면 아래와 같습니다.

  1. NTLDR 이 16비트 모드에서 32비트 모드로 전환 작업 진행
  2. NTLDR 이 사용할 페이지 테이블 생성
  3. hybernate 파일이 있는지 확인 후 있다면 로드 후 중단 시점부터 다시 시작
  4. hybernate 파일이 없다면 boot.ini 파일을 읽어서 ntoskrnl, hal 로드
  5. 언어, 레지스트리, 부트타입 드라이버 초기화

How Windows Starts Up (Part the second)

https://blogs.msdn.com/ntdebugging/archive/2007/06/28/how-windows-starts-up-part-the-second.aspx