반응형
Windows 2000의 Boot Sequence 를 간단히 정리히 보면 다음과 같다.

POST(Power On Self Test) - BIOS
마스터 부트 섹터 로드 - BIOS
파티션 부트 섹터 로드, ntldr을 메모리에 로드
로드된 ntldr은 해당 파일 시스템(FAT, FAT32, NTFS)을 초기화
boot.ini 로드(부트 메뉴를 로드, ntldr이 담당)
boot.ini에서 윈도우 2000이 선택되면 ntldr은 ntdetect.com을 실행
ntdetect.com은 컴퓨터의 ID나 하드웨어 정보(예 : VGA, 키보드, 마우스, 디스크 드라이브등)를
검색해서 ntldr로 정보를 보내준다.
ntldr은 ntdetect.com가 검색한 하드웨어에 해당하는 드라이버를 로드하고 실행 제어권을 ntoskr
nl.exe(윈도우 운영체제 커널)에게 넘겨주고 부팅 완료

5번과 6번에서 boot.ini 파일이 언급되는데 이에 대해서 자세히 알아보자.

Boot.ini는 C 드라이브의 루트 디렉토리에 저장된 텍스트 파일로서, 읽기전용/숨김/시스템 속성
을 가지고 있다.

이 파일이 담당하는 일은 아주 단순하면서 중요하다. 현재 시스템에 설치된 OS의 목록을 나열하
고 사용자로 하여금 로드시킬 OS를 선택할 수 있게끔 한다.

이는 메모장 같은 텍스트 편집기에서 수정이 가능한데 다음은 필자가 사용하고 있는 시스템의 Bo
ot.ini 파일 내용이다.


timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS


multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdet
ect
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastd
etect



Boot.ini 파일을 완전히 이해하기 위해서는 Boot.ini에서 하드 드라이브상에 분할 영역을 명시하
기 위해 사용되는 ARC(Advanced RISC Computing) 경로에 대해 알아둘 필요가 있다.



ARC Naming Convention


Boot.ini 파일내용중 "multi(0)disk(0)rdisk(0)partition(2)\WINNT" 같은 형식의 문구가 있는데 이
를 ARC(Advanced Risc Computing) path라고 한다.

이는 DEC(Digital Equipment Corporation)라는 회사에서 만든 알고리즘으로, NTLDR 파일이 운
영체제를 담고 있는 Disk를 결정하기 위해 사용된다.

multi(x) or scsi(x) - multi : E-IDE HDD Controller나 ROM BIOS를 사용하는 SCSI Disk Control
ler를 나타낸다.
- scsi : ROM BIOS를 사용하지 않은 SCSI Disk Controller를 나타낸다. (요즘에는 사용되지 않는
다.)
x는 Disk Controller의 순서이며, '0'부터 시작한다.
disk(x) 앞서 SCSI(x)를 지정할 때만 사용되는 것으로, SCSI HDD를 정의하는 형식이다.
multi(x)를 사용하면 항상 '0'이다.
rdisk(x) Disk Controller에 장착된 E-IDE HDD, SCSI HDD의 연결 순서를 정의하는 형식이
다. '0'부터 시작한다.
'0'=Primary Master, '2'=Primary Slave
'1'=Secondary Master, '3'=Secondary Slave
SCSI HDD의 경우 항상 '0'이다.
partition(x) Boot disk의 Partition중 boot record가 위치한 partition을 정의하는 형식이다. '1'부
터 시작한다.
Disk의 새로운 partition이 생기면 partition 번호는 항상 새롭게 부여된다.
partition번호 부여는 우선 Primary Partition이 먼저 오고 그 다음에 extended partition이 온다.
\XXXXX XXXXX는 System Root를 의미하는 것으로, 일반적으로 Windows NT/2000은 'WINN
T'이며, Windows XP는 'Windows'이다.




Boot.ini 파일의 구조


Boot.ini 파일은 위에서 본바와 같이 와 두 가지 부분으로 구
성되어 있다.


이 항목은 처음 지정시간 동안 사용자가 어떠한 선택도 하지 않으면 기본 운영체제를 설정한다.

항목은 두 개의 옵션 파라미터를 가지고 있다.

Timeout=n : 이 값이 n초의 시간 지연을 설정한다.
timeout=30


만약 사용자가 지정된 시간 안에 선택을 하지 않았다면 운영체제는 기본 값을 적재할 것이다.
만약 이 값이 없다면 시스템 사용자가 운영체제를 선택할 때까지 무제한으로 기다리게 될 것이다.
만약 "0"으로 입력되어 있다면 사용자의 선택이 없어도 즉각적으로 기본 운영체제를 선택하게 될
것이다.

Default=partition\directory
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS


이 값은 시간이 초과되었을 때 적재할 기본 운영체제의 디렉토리와 분할 영역을 지정한다.
만약 기본 값이 빠져 있다면 항목의 첫 번째 지정된 값이 디폴트 값으로 지
정된다.



이 항목에 있는 각 내용들은 운영체제가 시작되는 디렉토리를 지정한다.

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdet
ect
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastd
etect



위의 예는 2개의 하드디스크에 각각 Windows XP Professional(C:\) 과 Windows 2000 Advanc
ed Server(D:\) 가 설치되어 있음을 의미하며, 실제 부팅화면에서는 ""(double quotation mark)
로 묶인 부분이 표시된다.

Windows 9x 계열의 운영체제는 ARC 경로명을 사용하지 않고 C:\="Microsoft Windows" 로 나
타난다.

끝부분에 "/fastdetect" 라는 옵션이 붙어 있는데 이것은 빠르게 부팅하기 위한 옵션(빠른검출옵
션)이다. 이 옵션을 빼게되면 부팅시에 Ntdetect.com에서 직렬과 병렬기계까지 모두 조사후에 부
팅을 한다.
그래서 이 옵션을 주어 그냥 간단한 기기들만 검사하고 넘어가게 하는 것이다.
반응형

+ Recent posts