2. UEFI 개념

목적

Unified Extensible Firmware Interface(통일 확장형 펌웨어 인터페이스) 는 Legacy BIOS를 대체하는 펌웨어 규격으로 16비트 BIOS 의 제약 사항을 극복하고 새로운 하드웨어를 더 유연하게 지원하기 위해서 64비트 기반으로 개발되었다.

https://uefi.org/

역사

1990년대 중반부터 인텔이 개발해 EFI(Extensible Firmware Interface)라는 이름으로 인텔 아이태니엄 시리즈에 사용되었으며 2005년 UEFI 포럼을 발족해 이름이 UEFI로 변경되었다. 2022년 기준으로 최신 버전은 2.10 이며, 2006년 이후에 나온 메인보드 칩셋이라면 EFI 적용이 가능하다. 2020년 이후 CSM을 삭제한 UEFI 클래스 3+가 표준으로 자리잡고, Legacy BIOS는 사라지는 추세이다.

  • CSM(Compatibility Support Module): Legacy BIOS 호환을 위한 인터페이스를 제공하는 모듈로, UEFI와 BIOS모드를 선택하여 부팅할 수 있다.

특징

UEFI 펌웨어는 시스템 마더보드에 납땜된 칩인 SPI Flash Memory에 저장된다. UEFI 펌웨어는 매우 모듈화되어 있으며 내부에는 수십 개의 실행 파일이 포함되어 있고 이들을 저장하기 위해 특별히 설계된 FFS(firmware File System)을 이용하여 볼륨에 배치한다. 각 볼륨은 GUID로 식별되는 파일이 존재하고 내부에는 각각 실행가능한 이미지가 포함되어 있는 섹션이 존재한다.

기술

UEFI는 32/64비트(protected mode)를 사용하며 MBR(CSM) 혹은 GPT(GUID Partion Table)를 사용한 대용량 디스크(2TB이상) 및 파티션에서 부팅이 가능하다. 이론상 2^64 x 512Bytes = 9.4ZB까지 지원하며 파티션 구성 정보가 쉽게 망가지지 않도록 백업 기능이 탑재되어 있다.

UEFI에는 PI(Platform Initialization)과정을 단순화하여 FastBoot(빠른부팅) 기능을 지원한다.

BIOS의 경우에는 커널이 드라이버를 로드하여 TUI 수준의 사용자 인터페이스가 지원되었지만, UEFI는 커널이 로드되기 이전에 그래픽 드라이버를 로드할 수 있기 때문에 GUI 형태의 유저 인터페이스 환경을 지원한다.

  • TUI(Text-based User Interface): CLI와 GUI의 중간 성격을 지닌 인터페이스

가장 중요한 기능 중 하나인 보안 부팅 기능을 지원한다. 제조사가 신뢰하는 드라이버 및 EFI 앱(부트로더) 및 운영 체제(커널)등의 서명을 확인하고, 유효한 경우에만 PC가 정상적으로 부팅된다. 이를 위해 해당 키가 펌웨어 내부에 저장되어 있다. 활성화되어 있는 경우에는 USB를 통한 부팅 등 검증되지 않은 행위가 제한된다.

관련 업체

UEFI 펌웨어는 UEFI Specification을 따라 만들어 지는 것이 일반적이다. 하지만 UEFI Specification은 말 그대로 규격 또는 사양, 즉 강제성이 없는 표준이기 때문에 편리한 확장이 가능하다. 이에 다양한 제조업체별 펌웨어가 존재한다.

조립PC에 탑재되는 UEFI 펌웨어는 ASUS, MSI, GigaByte 등 주요 메인보드 제조사가 만든다. 그러나 Lenovo, HP, Dell, ASUS 등 주요 완제PC 제조사는 제품 출시 시기를 단축하고 비용 절감을 위해 전문 업체가 만든 제품을 공급받아 사용한다.

Last updated