Windows NT 부팅 프로세스 및 하드 디스크 제한 사항

기술 자료 번역 기술 자료 번역
기술 자료: 114841 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Windows NT 및 Windows NT Advanced Server의 하드 디스크 크기 제한 사항을 설명합니다. 이러한 제한 사항을 이해하려면 하드웨어와 운영 체제 부팅 프로세스 동안 사용되는 시스템 BIOS 인터페이스와 Windows NT 간의 상호 작용 및 디스크 파티션을 정의하는 데이터 구조를 모두 이해해야 합니다.

추가 정보

파티션 테이블

하드 디스크의 파티션을 설명하는 데이터 구조를 파티션 테이블이라고 합니다. 파티션 테이블은 최대 네 개의 16바이트 항목으로 구성됩니다. 각 항목에는 파티션의 다음과 같은 특성을 설명하는 10개의 필드가 있습니다.
표 축소표 확대
필드크기
부팅 플래그1바이트
시작 사이드1바이트
시작 실린더10비트
시작 섹터6 비트
시스템 표시기1바이트
끝 사이드1바이트
끝 실린더10비트
끝 섹터6비트
상대 섹터4바이트
섹터 수4바이트

시스템 표시기

시스템 표시기는 파티션에 포함되는 파일 시스템 종류를 지정하는 데 사용됩니다. 몇 가지 일반적인 값은 다음과 같습니다.
표 축소표 확대
파일 시스템
0x0B최대 2047GB의 주 Fat32 파티션
0x0C0x0B와 동일하며 논리 블록 주소 Int 0x13 확장 사용
0x0E0x06와 동일하며 논리 블록 주소 Int 0x13 확장 사용
0x0F0x05와 동일하며 논리 블록 주소 Int 0x13 확장 사용
0x05확장 파티션
0x06BIGDOS 파일 할당 테이블(FAT) 형식
0x07IFS(설치 가능한 파일 시스템)(예: HPFS 및 NTFS)
파티션이 FT(내결함성) 세트의 일부이면 Windows NT는 시스템 표시기의 하이 비트를 설정하여 같은 종류의 비 FT 파티션과 구분합니다. 예를 들어, FT FAT 파티션에는 0x86의 시스템 표시기 값이 있으며 FT NTFS 파티션에는 0x87의 시스템 표시기 값이 있습니다.

FT 세트의 구성원이 해제되면 Windows NT는 가장 높은 하이 비트 두 개를 설정합니다. 예를 들어, 해제된 FAT 파티션에는 0xC6의 시스템 표시기 값이 있고 해제된 FT NTFS 파티션에는 0xC7의 시스템 표시기 값이 있습니다.

부팅 플래그

부팅 플래그는 어떤 파티션이 활성인지 또는 부팅 가능한지 나타냅니다. 한 디스크에서 하나의 파티션만 활성화될 수 있습니다. 활성 파티션의 부팅 플래그 값은 0x80으로 설정됩니다. 디스크의 나머지 파티션은 0x00으로 설정됩니다. 뒤에서 자세히 설명할 마스터 부트 레코드는 이 플래그를 검색하여 활성 부팅 섹터를 찾습니다.

시작 및 끝 사이드, 실린더, 섹터

시작 및 끝 사이드, 실린더, 섹터 필드는 Windows NT가 디스크와 상호 작용하는 방식과 관련하여 매우 중요합니다.

1바이트로 표현할 수 있는 최대 사이드(읽기/쓰기 헤드) 수는 256입니다. 10비트로 표현할 수 있는 최대 실린더 수는 1024입니다. 6비트로 표현할 수 있는 최대 섹터 수는 63인데, 실린더와 사이드가 0부터 시작하는 것과 달리 섹터는 1부터 시작하기 때문입니다.

10비트로 표현되는 실린더 값은 너무 커서 단일 바이트로 저장할 수 없습니다. 10비트를 저장하기 위해 6비트 섹터 값을 저장하는 바이트에서 2비트를 가져옵니다.

표준 섹터 크기 512바이트를 사용하면 시작 및 끝 섹터 주소를 기록하는 데 사용되는 24비트는 이러한 필드로 표현할 수 있는 7.8GB(8,455,716,864바이트)의 가능한 최대 파티션 크기로 해석됩니다. 이것은 시스템 BIOS가 하드 디스크와 상호 작용하는 방식을 정의하는 INT 13 BIOS 인터페이스가 동일한 필드 크기를 사용하기 때문에 특히 중요합니다.

상대 섹터

상대 섹터는 파티션 테이블의 시작 위치에서 해당 파티션의 시작 위치까지 섹터로 계산한 오프셋을 나타냅니다.

섹터 수

섹터 수는 파티션에 있는 총 섹터 수를 나타냅니다.

참고: 상대 섹터와 섹터 수의 필드 크기는 모두 32비트입니다. 대부분의 경우 이 두 필드에는 시작의 24비트와 끝의 24비트로 표현되는 시작 및 끝 사이드, 실린더, 섹터 값과 동일한 정보가 들어 있습니다.

Windows NT 부팅 프로세스

Intel 기반 컴퓨터에서 시스템 BIOS는 초기 운영 체제 부팅 프로세스를 제어합니다. 하드웨어 구성 요소를 초기화하는 초기 POST(전원 구동 시 자체 테스트) 후 시스템 BIOS는 부팅 장치를 확인합니다. 일반적으로 부팅 장치는 플로피 디스크나 하드 디스크입니다. 부팅 장치가 하드 디스크인 경우 BIOS는 마스터 부팅 섹터라고 하는 디스크의 첫 번째 물리적 섹터를 읽고 해당 이미지를 메모리로 로드합니다. 그런 다음 BIOS는 마스터 부팅 섹터의 해당 이미지로 실행을 전달합니다.

마스터 부트 레코드에는 파티션 테이블과 약간의 실행 코드가 들어 있습니다. 실행 코드는 파티션 테이블을 검사하고 활성(또는 부팅 가능) 파티션을 확인합니다. 그러면 마스터 부트 레코드는 디스크에서 활성 파티션의 시작 위치를 찾고 부팅 섹터라고 하는 첫 번째 섹터의 이미지를 메모리로 로드합니다. 그런 다음 마스터 부트 레코드는 해당 부팅 섹터 이미지로 실행을 전달합니다.

마스터 부트 레코드가 일반적으로 운영 체제에 독립적인 반면 활성 파티션의 부팅 섹터는 운영 체제 및 파일 시스템 모두에 종속되어 있습니다. Windows NT와 Windows NT Advanced Server의 경우 부팅 섹터는 부팅 프로세스를 진행하는 실행 파일인 NTLDR를 찾는 일을 담당합니다. 이 시스템 부팅 단계에서 부팅 섹터 코드에 사용할 수 있는 유일한 디스크 서비스는 BIOS INT 13 인터페이스가 제공합니다. 부팅 섹터 코드는 MS-DOS FAT 볼륨의 경우에는 파일 할당 테이블(FAT)이고 NTFS 볼륨의 경우에는 마스터 파일 테이블인 루트 디렉터리 같은 NTLDR 및 파일 시스템 데이터 구조를 찾을 수 있어야 합니다. 이러한 정보는 BIOS INT 13 인터페이스와 파티션 테이블이 사용하는 24비트 사이드, 실린더, 섹터 구조로 주소 지정할 수 있는 디스크 영역 내에 제공되어야 합니다. 따라서 사용되는 파일 시스템에 관계없이 시스템 파티션 크기는 7.8GB로 제한됩니다.

참고: 컴퓨터 하드웨어와 파일 시스템에 따라 다른 제약 사항이 적용될 수도 있습니다. 이러한 제약 사항 중 몇 가지를 아래에서 설명합니다.

7.8GB보다 큰 파티션을 수용하기 위해 Windows NT는 상대 오프셋과 섹터 수 필드를 위해 파티션 테이블의 시작 및 끝 섹터 주소 필드에 있는 값을 무시합니다. 이렇게 해서 추가 8비트를 통해 섹터를 표현할 수 있게 됩니다. 이러한 추가 비트를 사용하면 파티션을 최대 2^32 섹터까지 표현할 수 있습니다.

표준 섹터 크기 512바이트를 사용하면 상대 오프셋과 섹터 수를 나타내는 데 사용되는 32비트는 2TB(2,199,023,255,552바이트)의 가능한 최대 파티션 크기로 해석됩니다.

디스크를 파티션할 때 Windows NT는 가능하면 정확한 값을 파티션 테이블 필드에 기록합니다. 파티션의 총 섹터 수가 사이드, 실린더, 섹터 표기법으로 표현할 수 있는 수를 초과하면 Windows NT는 파티션 테이블의 이러한 필드에 허용되는 최대값을 기록합니다. 따라서 시스템 BIOS가 잘못된 데이터를 기반으로 시작과 끝 주소를 계산하는 것을 방지합니다.

예를 들어, Adaptec 154x 시리즈 SCSI 컨트롤러에 3.5GB SCSI 드라이브가 연결되어 있다고 가정합니다. 확장된 섹터 변환 기능이 어댑터에서 해제된 경우 장치가 다음 디스크 특성을 시스템 BIOS에 보고할 수 있습니다.
   실린더: 1023, 사이드: 64, 섹터: 32
				
이것은 약 1GB로 해석됩니다. 확장 변환 기능이 설정된 경우 장치가 다음 특성을 보고할 수 있습니다.
   실린더: 435, 사이드: 255, 섹터: 63
				
이것은 약 3.5GB로 해석됩니다.

Windows NT를 설치하고 실행하면 Windows NT는 BIOS INT 13 인터페이스를 사용하지 않고 SCSI 드라이버를 사용하여 디스크와 직접 상호 작용합니다. 따라서 정상적인 작업 동안 BIOS 매개 변수는 거의 중요하지 않습니다. 그러나 디스크가 단일 파티션으로 포맷되어 있고 부팅 드라이브로 사용되는 경우 이러한 차이가 중요합니다.

확장 변환이 설정되어 있지 않으면 Windows NT는 디스크를 BIOS 매개 변수가 나타내는 것보다 크게 인식합니다. 초기 설치 동안 Windows NT가 드라이브를 파티션하면 시작과 끝 섹터 주소는 가능한 최대값으로 채워집니다. 따라서 드라이브가 7.8GB보다 작음에도 불구하고 마스터 부트 레코드 코드가 제대로 작동되지 못하게 됩니다.

확장 변환이 설정되어 있으면 Windows NT는 시작 및 끝 주소의 유효한 값을 파티션 테이블에 기록할 수 있으므로 파티션은 계속 부팅 가능하게 됩니다.

확장 변환이 설정되어 있지 않고 마스터 부트 레코드가 활성 파티션의 부팅 섹터를 찾을 수 없는 경우 다음 오류 메시지가 나타날 수 있습니다.
Error loading operating system.
또는
Missing operating system.

파일 시스템

FAT와 HPFS 모두 파일 크기를 저장하는 데 32비트 필드를 사용하기 때문에 4GB의 내부 한계가 있습니다. NTFS는 모든 크기에 64비트 필드를 사용하므로 데이터 구조가 최대 2^64 바이트(16엑사바이트 또는 18,446,744,073,709,551,616바이트)의 볼륨을 처리할 수 있습니다.

이 값이 NTFS 파일 시스템의 이론적인 한계입니다. 위에서 설명한 최대 허용 파티션 크기와 관련이 있는 실제 한계는 NTFS 파티션 크기를 약 2TB로 제한합니다. 파티션 테이블의 32비트 필드가 파티션에 있는 섹터 수를 나타내기 때문에 섹터 크기가 더 큰 디스크는 허용 가능한 파티션 크기가 더 큰 것으로 해석됩니다. 현재 Windows NT는 최대 4KB의 섹터 크기를 지원합니다. 4KB 섹터의 경우 Windows NT는 16TB의 파티션을 지원할 수 있습니다. 새 하드웨어나 소프트웨어 구성을 사용할 수 있게 되면 NTFS는 나중에 더 큰 볼륨 크기를 처리할 수 있을 것입니다.

드라이브 및 컨트롤러 종류

IDE 드라이브는 트랙당 섹터, 헤드 및 실린더 수를 나타내는 데 파티션 테이블 및 BIOS INT 13 인터페이스와는 다른 데이터 구조를 사용합니다. IDE 사양에 따르면 트랙 당 최대 섹터 수는 255이고 최대 실린더 수는 65536이며 최대 헤드 수는 16입니다. 따라서 최대 136.9GB가 가능하지만 BIOS/IDE 인터페이스가 최소 공통 기준을 사용하도록 제한되기 때문에 결과적으로 Intel 기반 ISA 버스 컴퓨터에서 약 528MB로 제한됩니다. IDE 드라이브 내부의 논리 섹터 레이아웃과 BIOS INT 13 인터페이스가 주소 지정할 수 있는 논리 섹터 레이아웃 간에 변환할 수 있는 "향상된 드라이브 매개 변수 테이블(Enhanced Drive Parameter Table)"을 사용하는 새로운 드라이브와 드라이버가 있습니다. 이러한 드라이버와 장치는 더 큰 디스크를 지원할 수 있습니다. SCSI II 명령 집합은 현재 약 7GB의 디스크를 지원하는 자체적인 섹터 주소 지정을 사용합니다.

Windows NT 내결함성 볼륨

볼륨 세트와 스트라이프 세트의 사용을 통해 Windows NT와 Windows NT Advanced Server는 여러 실제 디스크 파티션의 논리 볼륨 구성을 허용합니다. 이 기술을 사용하면 Windows NT가 다양한 디스크 컨트롤러에 의해 부과된 실제 하드웨어 한계를 극복하고 단일 디스크가 자체적으로 지원할 수 있는 것보다 큰 논리 볼륨을 구성할 수 있습니다.

참고: 논리 볼륨은 실제 디스크 파티션처럼 보이도록 구성되며 위에서 설명한 파티션 테이블 레이아웃도 따라야 합니다. 즉, 볼륨 세트와 같은 내결함성 구성은 총 2^32 섹터(또는 섹터당 512바이트의 2TB) 미만이어야 합니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 114841 - 마지막 검토: 2004년 9월 20일 월요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Advanced Server 3.1
키워드:?
kbhowto kbother KB114841

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com