마스터 부트 레코드

마스터 부트 레코드의 구조
주소 설명 크기
(바이트)
십육진수 십진수
0000 0 코드 영역 440
최대 446
01B8 440 디스크 서명 4
01BC 444 보통 없음(Null); 0x0000 2
01BE 446 프라이머리 파티션 테이블
(4개의 16바이트 엔트리)
64
01FE 510 55h MBR 서명;
0xAA55
2
01FF 511 AAh
MBR, 전체 크기: 446 + 64 + 2 = 512

마스터 부트 레코드(영어: master boot record, MBR) 또는 파티션 섹터(영어: partition sector)는 파티션기억 장치(이를테면 하드 디스크)의 첫 섹터 (섹터 0)인 512 바이트 시동 섹터이다. (파티션되지 않은 장치의 시동 섹터는 볼륨 부트 레코드이다.)

MBR은 다음의 것들 가운데 하나 이상을 위해 사용된다:

  • 디스크 프라이머리 파티션 테이블을 소유한다.
  • 부트스트래핑 운영 체제 (컴퓨터 바이오스가 실행을 MBR 안에 포함된 기계어 명령어로 통과시킨 뒤)
  • 32비트 디스크 서명이 있는 각 디스크 매체의 구별

IBM PC 호환 컴퓨터의 대중화 때문에, 지원을 넓히고 다른 컴퓨터로 통합하기 위해 이러한 종류의 MBR이 널리 사용된다.[출처 필요]

MBR 과 디스크 파티션 과정 편집

16 바이트로 된 파티션 레코드의 구조
오프셋 설명
0x00 (1 바이트) 파티션 상태 (0x80 = 시동 가능, 0x00 = 부팅불가, 기타 = 비정상)
0x01 (3 바이트) 파티션의 첫 번째 섹터의 실린더-헤드-섹터 주소
0x04 (1 바이트) 파티션 종류[1]
0x05 (3 바이트) 파티션의 마지막 실린더-헤드-섹터 주소
0x08 (4 바이트) 파티션의 첫 번째 섹터의 LBA
0x0C (4 바이트) 파티션의 크기 (단위: 섹터)

MBR 파티션 테이블 스키마(=IBM PC 파티셔닝 스키마 규약)에 따라 파티션 작업을 한 기억 장치에는 MBR의 파티션 테이블 안에 프라이머리(primary) 파티션 엔트리들이 있다.

규약상 MBR 파티션 스키마에서는 4개의 프라이머리(primary) 파티션 엔트리만 있어야 하지만 일부 DOS 운영 체제에서는 엔트리를 5개(PTS-DOS)[2] ) 또는 8개(AST 및 NEC DOS)[3][4]까지 확장하였다.

GUID 파티션 테이블 스키마로 파티션 작업을 한 기억 장치에도 MBR에 파티션 테이블이 있는데 이 파티션 테이블은 MBR 파티션 테이블 스키마만 인식할 수 있는 프로그램이 (GUID 파티션 테이블 스키마로 파티션 작업이 된) 기억 장치를 마치 비어 있는 것처럼 인식하고 그 위에 파티션을 만드는 것을 막기 위해, GUID 파티션이 존재한다고 알려주는 것만을 목적으로 한다.

MBR 과 부트스트래핑 편집

MBR 파티션 테이블 스키마를 사용하는 IA-32 IBM PC 호환 기종에서는 ROM 바이오스의 (부트스트래핑) 펌웨어가 MBR을 읽고 실행한다. i386 계열의 프로세서들은 리얼 모드로 시동되기 때문에 MBR의 코드는 리얼 모드 코드이어야 한다. 일반적으로 MBR의 코드는 체인 로딩 방식으로 부트 파티션[5]의 볼륨 부트 레코드에게 시동 제어권을 넘기는데, 일부 시동 관리 프로그램들은 이러한 일반적인 방법이 아닌 독자적인 방법을 사용한다.

MBR 코드는 (MBR 파티션 테이블 스키마에 따라) 파티션 테이블의 파티션들 중에서 액티브 플래그[5] 가 있는 1개의 파티션을 찾아서 그 파티션의 볼륨 부트 레코드를 읽고 실행한다.(그래서 마스터 부트 레코드는 다른 부트 섹터들처럼 시동 섹터 바이러스의 공격 대상이 된다.)

각주 편집

  1. Andries Brouwer. “List of partition identifiers for PCs”. 《Partition types》. 
  2. Andries Brouwer. “Properties of partition tables”. 《Partition types》.  PTS-DOS uses "a special 5th partition entry in front of the other four entries in the MBR and corresponding AAP-aware MBR bootstrap code." (Brouwer).
  3. Brouwer, ibid. Some OEM systems, such as AST DOS (type 14h) and NEC DOS (type 24h) had 8 instead of 4 partition entries in their MBR sectors.
  4. Daniel B. Sedory. “Notes on the Differences in one OEM version of the DOS 3.30 MBR”. 《Master Boot Records》. 2008년 12월 20일에 원본 문서에서 보존된 문서. 2008년 10월 3일에 확인함.  Shows an 8-entry partition table and where its boot code differs from MS-DOS 3.30.
  5. 파티션 상태값(16바이트 파티션 레코드 중 0x00)에서 0x80 값을 액티브 플래그(active flag)라고 부른다. 즉 액티브 플래그가 있는 파티션은 시동 파티션이다.

같이 보기 편집

외부 링크 편집