BIOS는 0번 칸 하나만 본다 — MBR

BIOS의 규칙은 아주 단순하다. 저장장치의 0번 칸 512바이트를 읽어서, 마지막 두 바이트가 55 AA이면 그 칸을 프로그램으로 보고 실행한다. 그게 전부다. 이 0번 칸을 MBR(마스터 부트 레코드)이라고 부른다.

그림MBR — 0번 칸 512바이트의 생김새
446바이트부트 코드 — 다음 단계를 불러오는 작은 프로그램
64바이트파티션 표 4줄
255 AA
막대 너비는 실제 비율보다 오른쪽 둘을 조금 키워 그렸다. 실제로는 446 : 64 : 2다.

파티션 표는 "이 디스크를 몇 조각으로 나눴고, 각 조각이 몇 번 칸부터 몇 번 칸까지인지" 적은 목록이다. MBR에는 네 줄만 들어가고, 2TB 넘는 디스크는 표현하지 못한다. 이 한계 때문에 12강의 GPT가 나왔다.

이제 9강 그림의 ②를 다시 보자. 막 포맷한 USB의 0번 칸에도 파티션 표는 있지만, 부트 코드 자리는 비어 있거나 "부팅할 수 없는 디스크"라고만 띄우는 코드다. ISO 파일을 복사해도 0번 칸은 바뀌지 않는다. 그래서 BIOS는 그 USB를 부팅 불가로 판정한다. ③은 이미지의 0번 칸이 USB의 0번 칸에 그대로 들어가니, 이미지를 만든 사람이 넣어 둔 부트 코드가 실행된다.

BIOS에게 부팅 가능이란 "0번 칸이 실행할 만한 코드인가" 딱 하나다.

브루니가 적는다

색을 바꾸며 숨는 카멜레온이다. 운영에서 실제로 터지는 문제를 한 편씩 적는다. 같은 실수를 두 번 하지 않으려고 쓰는 기록이다.

굽기 표지 · 전체 16강 →