- POST 란, 운영체제와는 상관없이 하드웨어 자체가 시스템에 문제가 있는지 체크하는 과정이다.
BIOS 에 의해 실행되며, 라우터나 스위치, 브릿지 등도 처음 켜면 POST 를 실시한다.
POST 도중 하드웨어에 문제가 발견되면 여러 방법으로 문제를 알리는데, 예를 들면
그래픽 카드를 제대로 설치하지 않거나, 접촉 불량이 있을 경우 삐삑~ 하는 경고음을 말한다.
이런 경고음은 POST 에 의해서 만들어진다. 문제에 따라 경고음의 횟수와 음의 길이가 다르므로
경고음만 들어도 어디에 문제가 있는지 판단할 수 있고, 요즘에는 메인보드의 LED 를 이용해 표시한다.
2. CMOS ( Complementary Metal - OXide Semiconductor )
- BIOS 와 거의 같다고 보면 된다.
3. MBR ( 마스터 부트 레코드 )
- CMOS 정보를 읽어 부팅 매체를 확인한 뒤, 부팅 매체의 MBR 정보를 읽는데,
MBR에는 부팅 매체에 대한 기본적인 파일 시스템 정보가 들어있다. MBR 정보는
운영체제가 부팅된 뒤에는 편집할 수 없으며, 접근할 수도 없다.
윈도우 2000이 설치되어 있을 경우 MBR에는 NTLDR 의 위치정보를 담고 있다.
그러나 반드시 필요한 것은 아니며, C 드라이브에 운영체제를 기본 설정대로 설치했다면,
MBR이 삭제되어도 문제가 생기지 않는다.
4. NTLDR
- 하드디스크의 부팅 파티션에 있는 프로그램으로, 부팅될 수 있도록 간단한 파일 시스템을 실행하며,
boot.ini 파일의 내용을 읽어 가능한 부팅 옵션을 보여준다.
5. NTDETECT.com
- NTDETECT 는 NTLDR 로부터 제어권을 위임받아 시스템에 설치된 하드웨어를 검사한다.
- 다음은 NTLDR 이 검사하는 하드웨어다.
- PC의 컴퓨터 CPU 유형
- 버스유형
- 비디오 보드 유형
- 키보드와 마우스 종류
- 컴퓨터에 장착되어 있는 직렬 포트와 병렬포트
- 플로피 드라이브
NTDETECT 가 문제없이 작동하면 레지스트리에 하드웨어 키를 만드는데, 이 키는 HKEY_LOCAL_MECHINE 에 있다.
컴퓨터를 부팅할 때마다 레지스트리의 해당 부분이 만들어지기 때문에 항상 현재의 하드웨어 구성을 반영하게 된다.
6. ntoskrnl.exe (NT OS Kernel)
- ntoskrnl 은 Hardware Abstraction Layer (HAL.DLL) 을 로드한다.
- 다음은 4단계의 로드 단계다.
(1) 커널 로드 단계
- 운도우 2000은 시스템 설정을 로드하고, 이것을 HKEY_LOCAL_MACHINE\System\CurrentControlset\Services 에 저장한다.
윈도우 2000은 이 정보를 확인하고 로드할 드라이브와 그 순서를 결정한다.
(2) 커널 초기화 단계
- 드라이버에 대한 현재의 제어 세트를 검사하고 작업을 시작한다.
(3) 서비스 로드 단계
- Session ManagerSubSystem(smss.exe)와 Win32 서브 시스템을 로드한다.
(4) 서브시스템 시작 단계
- 윈도우 서브시스템이 초기화된다. Win32 서브 시스템은 로그인에 대한 처리를 하고 winlogon.exe 를 시작한다.
- 컨트롤 + 알트 + DEL 키를 누르면 로그인 창이 활성화되고, 계정과 패스워드를 입력받아 로컬 보안 인증서버
(lsass.exe) 에 보낸다. 로컬 보안 인증 서버는 보안 계정 관리자( SAM) 에 저장되어 있는 정보와 비교하여
일치하면 userinit.exe 프로세스가 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogn 의 셀 값에서 참조되는 셸을 실행한다.
이상 윈도우의 부팅 과정에 대해 알아보았다.
- 운영체제를 선택하는 화면에서의 대기시간을 말한다. 30초 동안 입력하지 않으면 밑에 명시되어 있는 default 로 운영체제를 부팅한다. [본문으로]
- multi(0) = E-IDE 컨트롤러를 가지는 디스크임을 나타내며, SCSI 컨트롤러에 부착된 디스크에서 부팅시 mult(0) 대신에 scsi(0) 를 쓰게 된다. 숫자 0은 첫 번째 컨트롤러 임을 나타낸다.disk(0) 는 scsi로 시작할 경우에 rdisk(0)은 IDE,E-IDE,SCSI with BIOS 방식의 디스크에 해당하는 표현이다.마찬가지로 0은 해당 컨트롤러에서 첫번째 임을 말하고, partition(3)은 파티션의 순서를 나타내며, 이 값은 0이 아닌 1부터 시작한다.partition(3) 이므로 디스크의 세 번째 파티션에 운영체제가 있음을 나타낸다. [본문으로]
'Hacking > System Hacking' 카테고리의 다른 글
윈도우의 패스워드 구조 (0) | 2011.07.18 |
---|---|
윈도우의 인증 구조 (0) | 2011.07.18 |
파일시스템 : FAT 과 NTFS (0) | 2011.07.18 |
윈도우의 주요 서비스 (0) | 2011.07.18 |