한 파일이 CD도 되고 USB도 되는 이유 — 하이브리드 ISO
여기서 이상한 점이 하나 생긴다. .iso는 CD용 이미지다. CD의 칸은
2048바이트고, 부팅은 El Torito 방식이다. 그런데 USB의 칸은 512바이트고, 부팅은
MBR이나 ESP로 한다. 규칙이 전혀 다른데 우분투 ISO는 CD에 구워도, USB에 구워도
부팅된다. 어떻게 된 걸까?
7강에서 본 빈자리가 답이다. ISO 9660은 앞 32KB를 쓰지 않는다. 여기에 USB용 MBR과 GPT를 몰래 넣어 둔다. CD 드라이브는 이 영역을 무시하고 16번 칸부터 장부를 읽는다. USB로 켤 때 펌웨어는 0번 칸부터 본다. 같은 바이트 덩어리가 누가 읽느냐에 따라 두 가지 뜻이 된다. 이런 이미지를 하이브리드 ISO라고 한다.
대부분의 리눅스 배포판 ISO가 하이브리드다. 그래서 리눅스는 "dd로 구우면 끝"이다. 반면 윈도우 설치 ISO는 하이브리드가 아니다. 앞 32KB에 USB용 부팅 정보가 없어서, 그대로 구우면 대부분의 PC가 부팅하지 못한다. 윈도우 USB를 만들 때 Rufus나 마이크로소프트 도구를 쓰라고 하는 이유가 이것이다.
아래 판정기에서 이미지·방법·펌웨어를 바꿔 가며 확인해 보자.
어떤 이미지
USB에 넣은 방법
켜는 컴퓨터
판정
리눅스 ISO는 USB용 부팅 정보를 앞 32KB에 숨겨 두어서 그냥 구우면 된다. 윈도우 ISO는 그게 없어서 전용 도구가 필요하다.