UEFI는 FAT 안의 파일을 찾는다 — GPT와 ESP
UEFI는 BIOS보다 똑똑하다. 0번 칸 코드를 무작정 실행하는 대신 FAT 파일시스템을 직접 읽을 줄 안다. 그리고 디스크에서 FAT으로 된 부팅 전용 파티션을 찾아, 정해진 경로의 파일을 실행한다.
- 부팅 전용 파티션을 ESP(EFI 시스템 파티션)라고 한다.
- USB처럼 빼고 꽂는 장치라면
/EFI/BOOT/BOOTX64.EFI를 찾는다. ARM 컴퓨터라면BOOTAA64.EFI다. - UEFI가 읽을 줄 안다고 규격에 보장된 건 FAT(FAT12/16/32)뿐이다. exFAT·NTFS는 제조사마다 다르다.
UEFI와 짝을 이루는 파티션 표가 GPT다. MBR의 네 줄·2TB 한계를 없앤 새 형식이고, 1번 칸에 머리말, 그 뒤에 파티션 목록을 적는다. 0번 칸에는 "여기 GPT 디스크니까 옛날 도구들은 건드리지 마"라는 뜻의 가짜 MBR(보호용 MBR)을 둔다. 그리고 망가질 때를 대비해 디스크 맨 끝에 사본을 하나 더 적는다. 이 사본이 15강에서 다시 나온다.
이제 9강 그림의 ④가 풀린다. ISO 속 파일들을 꺼내 FAT32 USB에 복사하면
/EFI/BOOT/BOOTX64.EFI도 같이 복사된다. UEFI는 FAT 안의 그 파일을 찾아서
실행하니 부팅이 되기도 한다. BIOS는 여전히 0번 칸만 보니 안 된다. 같은
USB가 컴퓨터에 따라 되고 안 되는 이유가 이것이다.
요즘 PC엔 보안 부팅(Secure Boot)도 켜져 있다. 서명된 부트로더만 실행해 주는 기능이다. 우분투·페도라처럼 큰 배포판은 서명을 받아 두어서 그냥 된다. 서명 안 된 이미지는 이 설정을 꺼야 부팅될 수 있다.
UEFI에게 부팅 가능이란 "FAT 파티션 안에 /EFI/BOOT/BOOTX64.EFI가 있는가"다.