{{위키데이터 속성 추적}}
{| class="wikitable" style="float: right; width: 48%"
|+ 마스터 부트 레코드의 구조
|-
! colspan="2" | 주소
! rowspan="2" style="vertical-align: middle" colspan="2" | 설명
! rowspan="2" style="vertical-align: middle" | 크기<br />([[바이트]])
|-
! style="width: 3em" | [[십육진법|십육진수]]
! style="width: 3em" | [[십진법|십진수]]
|-
| style="text-align: center" | <code>0000</code>
| style="text-align: center" | 0 || colspan="2" | 코드 영역
| style="text-align: center" | '''440'''<br />최대 446
|-
| style="text-align: center" | <code>01B8</code>
| align="center" | 440 || colspan="2" | 디스크 서명
| style="text-align: center" | 4
|-
|-
| style="text-align: center" | <code>01BC</code>
| align="center" | 444 || colspan="2" | 보통 없음(Null); 0x0000
| style="text-align: center" | 2
|-
| style="text-align: center" | <code>01BE</code>
| style="text-align: center" | 446 || colspan="2" | '''프라이머리 파티션 테이블'''<br />(4개의 16바이트 엔트리)
| style="text-align: center" | '''64'''
|-
| style="text-align: center" | <code>01FE</code>
| style="text-align: center" | 510
| style="text-align: center" | 55h
| rowspan="2" style="vertical-align: middle; text-align: center" | MBR 서명;<br />0xAA55
| rowspan="2" style="text-align: center" | '''2'''
|-
| style="text-align: center" | <code>01FF</code>
| style="text-align: center" | 511
| style="text-align: center" | AAh
|-
! colspan="4" align="right" | MBR, 전체 크기: 446 + 64 + 2 = 
! style="text-align: center" | 512
|-
|}

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

MBR은 다음의 것들 가운데 하나 이상을 위해 사용된다:
* 디스크 프라이머리 파티션 테이블을 소유한다.
* [[부트스트랩 (컴퓨팅)|부트스트래핑]] [[운영 체제]] (컴퓨터 [[바이오스]]가 실행을 MBR 안에 포함된 [[기계어]] 명령어로 통과시킨 뒤)
* 32비트 디스크 서명이 있는 각 디스크 매체의 구별

IBM PC 호환 컴퓨터의 대중화 때문에, 지원을 넓히고 다른 컴퓨터로 통합하기 위해 이러한 종류의 MBR이 널리 사용된다.{{출처|날짜=2008-02-02}}

== MBR 과 디스크 파티션 과정 ==
{| class="wikitable" border=1" style="float:right;" width="50%"
|+ 16 바이트로 된 파티션 레코드의 구조
|-
! 오프셋 !! 설명
|-
| 0x00 || (1 바이트) 파티션 상태 (0x80 = 시동 가능, 0x00 = 부팅불가, 기타 = 비정상)
|-
| 0x01 || (3 바이트) 파티션의 첫 번째 섹터의 [[실린더-헤드-섹터]] 주소
|-
| 0x04 || (1 바이트) [[파티션 종류]]<ref>{{웹 인용|url=http://www.win.tue.nl/~aeb/partitions/partition_types-1.html|제목=List of partition identifiers for PCs|웹사이트=Partition types|저자=Andries Brouwer}}</ref>
|-
| 0x05 || (3 바이트) 파티션의 마지막 실린더-헤드-섹터 주소
|-
| 0x08 || (4 바이트) 파티션의 첫 번째 섹터의 [[논리 블록 어드레싱|LBA]]
|-
| 0x0C || (4 바이트) 파티션의 크기 (단위: 섹터)
|}

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

규약상 MBR 파티션 스키마에서는 4개의 프라이머리(primary) 파티션 엔트리만 있어야 하지만 일부 DOS 운영 체제에서는 엔트리를 5개(PTS-DOS)<ref>{{웹 인용|url=http://www.win.tue.nl/~aeb/partitions/partition_types-2.html|제목=Properties of partition tables|웹사이트=Partition types|저자=Andries Brouwer}} 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).</ref> ) 또는 8개(AST 및 NEC DOS)<ref>Brouwer, ibid. Some OEM systems, such as AST DOS (type '''14'''h) and NEC DOS (type '''24'''h) had 8 instead of 4 partition entries in their MBR sectors.</ref><ref>{{웹 인용|url=http://mirror.href.com/thestarman/asm/mbr/DOS33MBR.htm|제목=Notes on the Differences in one OEM version of the DOS 3.30 MBR|웹사이트=Master Boot Records|저자=Daniel B. Sedory|확인날짜=2008년 10월 3일|보존url=https://web.archive.org/web/20081220121917/http://mirror.href.com/thestarman/asm/mbr/DOS33MBR.htm|보존날짜=2008년 12월 20일|url-status=dead}} Shows an 8-entry partition table and where its boot code differs from MS-DOS 3.30.</ref>까지 확장하였다.

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

== MBR 과 부트스트래핑 ==
MBR 파티션 테이블 스키마를 사용하는 [[IA-32]] IBM PC 호환 기종에서는 [[ROM]] [[바이오스]]의 ([[부트스트랩 (컴퓨팅)|부트스트래핑]]) [[펌웨어]]가 MBR을 읽고 실행한다. i386 계열의 프로세서들은 [[리얼 모드]]로 시동되기 때문에 MBR의 코드는 [[리얼 모드]] 코드이어야 한다. 일반적으로 MBR의 코드는 [[체인 로딩]] 방식으로 부트 파티션<ref name="a">파티션 상태값(16바이트 파티션 레코드 중 0x00)에서 0x80 값을 액티브 플래그(active flag)라고 부른다. 즉 액티브 플래그가 있는 파티션은 시동 파티션이다.</ref>의 볼륨 부트 레코드에게 시동 제어권을 넘기는데, 일부 시동 관리 프로그램들은 이러한 일반적인 방법이 아닌 독자적인 방법을 사용한다.

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

== 각주 ==
<references />

== 같이 보기 ==
* [[부트 로더]]
* [[바이오스 인터럽트 콜]]
* [[GUID 파티션 테이블]]

== 외부 링크 ==
* [https://web.archive.org/web/20080119221706/http://mirror.href.com/thestarman/asm/mbr/STDMBR.htm Standard MBR code dissasembly]
* [http://www.mbrwizard.com/ MBRWizard! The MBR Management Utility] - freeware.
* [http://mh-nexus.de/hxd/ HxD] - A freeware ''Windows'' disk editor which can be used to explore and back up critical sectors, such as the MBR.
* [https://web.archive.org/web/20080125113339/http://ipodlinux.org/Rohpod rohPod] - A simple block oriented disk editor, which can repair MBRs and works even over the network. Works on Linux, Mac OS X and Windows
* [https://web.archive.org/web/20080218051334/http://www.justlinux.com/forum/showthread.php?threadid=143973 Booting 100+ Operating systems] - An example of GRUB usage to boot every type of Operating Systems. Contains a lot of info about booting.

[[분류:부팅]]
[[분류:바이오스]]