반응형

Unified Extensible Firmware Interface(통일 확장 펌웨어 인터페이스) 읽을 때는 유-이-에프-아이 식으로 알파벳을 읽기도 하지만, 유이파이라고 읽기도 한다. 2016년 기준으로 버전 2.6이 최신이다.

BIOS를 대체하는 펌웨어 규격으로, IBM PC XT부터 이어진 바이오스의 제약 사항을 극복하고 새로운 하드웨어를 더 유연하게 지원하기 위해서 개발되었다. 개발은 90년대부터 진행되어 EFI(Extensible Firmware Interface)라는 이름으로 인텔 아이태니엄 시리즈에 사용되었으며, 2005년에 규격을 제 3사에도 공개하여 현재의 이름인 UEFI로 변경되었다. x86 아키텍처에는 2006년 맥북부터 천천히 도입되었다. 인텔 기준 945 이후 칩셋이라면 UEFI 사용이 가능하지만, 메인보드 제조사들은 샌디브릿지용 6 시리즈 칩셋 이전까지는 UEFI를 전격적으로 사용하지 않았다. AMD 쪽은 800 시리즈(AMD 페넘2/AMD FX)부터 사용 가능하다. UEFI 초창기 시절의 일부 염가형 보드는 바이오스 업그레이드로 EFI의 탈을 쓴 일반 BIOS가 온전한 UEFI 지원이 되게 하는 경우도 있다.

BIOS에서 UEFI로 전환되는 시기에는 같은 메인보드 칩셋이라도 모델에 따라 펌웨어 종류가 다르기도 했다. 2008년 MSI에서 EFI를 탑재한 P35 Neo3-EFINITY 메인보드를 내놓았으나, 시기상조라 여겨지면서 신기한 물건 정도로만 이목을 끌었을 뿐 그다지 많이 팔리지는 않았다. 기가바이트는 4 시리즈부터 Hybrid EFI라는 것을 사용하여 UEFI의 기능 중 3TB 이상의 디스크 사용을 위한 GPT 파티션 테이블 및 EFI 부팅만 첨가한 바이오스를 사용했다. AMD 메인보드는 초기 리비전은 바이오스로 내놓다가 후기 리비전에서 UEFI를 사용하는 경우도 있다. 나중엔 제대로 된 UEFI 보드들을 내고, 듀얼 바이오스의 전통을 이어받아 듀얼 UEFI를 지원한다. 애플은 첫 인텔맥부터 모든 모델이 UEFI를 사용한다.



사용자가 느끼는 가장 큰 차이점은 펌웨어 사용자 인터페이스와 GPT 부팅이다. 진입 방법은 BIOS와 똑같이 Delete나 F2. OEM 컴퓨터나 노트북의 경우 다를 수도 있다. BIOS 시대에는 일부 486-펜티엄 보드에 사용한 AMI 바이오스에서 GUI와 마우스를 지원한 것을 빼면 모든 사용자 인터페이스는 CUI 기반이었다. UEFI로 오면서 GUI 기반 펌웨어를 탑재하는 메인보드 제조사가 많아졌다. 펌웨어 개발사인 AMI의 레퍼런스 UEFI Aptio의 기본값은 CUI이지만 제조사에서 GUI로 변경할 수 있다. 그래서 HP나 페가트론 같은 OEM 업체이거나 인지도 없는 브랜드는 UEFI 메인보드라고 해도 CUI만 사용한다. 심지어 인텔 베이트레일 기반 태블릿 및 삼성 아티브 계열에 들어가는 UEFI는 마우스 조작과 더불어 터치 조작도 지원한다. 태블릿에는 물리 키보드가 없기 때문에 가상 키보드까지 지원한다. 물론 UEFI 펌웨어의 터치 스크린 드라이버는 필수적인 조작만 되면 되기 때문에 OS로 부팅한 상태보다는 터치감이 안 좋을 수 밖에 없다.

BIOS 시절부터 사용한 MBR(Master Boot Record) 기반 파티션 테이블은 주 파티션을 최대 4개까지밖에 잡을 수 없고 그 이상으로 나누려면 논리 파티션을 사용해야 한다. 문제는 OS와 부트로더가 지원하지 않으면 주 파티션에 설치된 OS로만 부팅 가능하며, 전체 디스크 크기가 2TB를 넘어가면 초과분부터는 무슨 짓을 해도 해당 공간을 사용할 수 없다. GPT(GUID Partition Table)는 파티션 정보를 기록하는 방식을 변경하여 주 파티션과 논리 파티션의 구분을 없애고 2TB 이상의 디스크도 사용할 수 있게 되었다. GPT 파티션 테이블에 기록되는 정보가 더 많기 때문에 MBR과 GPT는 서로 호환되지 않는다. 따라서 파티션 테이블 구조를 변경하려면 해당 디스크의 모든 파티션 테이블을 지워야 하기 때문에 데이터가 손실된다. 윈도우 기준 명령 프롬프트로 가서 diskpart-select disk=?-clean-convert GPT 명령으로 파티션 테이블 구조를 변경할 수 있다.



다만 GPT 디스크로 부팅하려면 EFI가 필요힌건 사실이나, 반대로 EFI 부팅=GPT 부팅은 아니다. 디바이스가 BIOS가 아닌 EFI 펌웨어를 사용하기만 한다면 MBR-EFI의 조합도 가능하다. Windows에서 이게 불가능한 이유는 GPT를 권장하기 위해 MBR 디스크에서 EFI 지원을 막아놓았기 때문이다.

이 외에도 후술하는 Secure Boot, 펌웨어 단계에서의 부트로더 관리, OS에서 펌웨어 설정에 접근하는 표준 인터페이스 등 기능이 추가되었다. BIOS 기반 컴퓨터에서 부팅할 때에는 해당 부팅 장치의 MBR에 접근해야 OS 코드가 실행되지만, UEFI 펌웨어는 디스크에 설치된 부트로더 정보를 가지고 있기 때문에 OS 코드의 일부를 UEFI 단계에서 실행할 수 있다. 빠른 부팅을 지원하는 것은 덤. UEFI 메인보드 및 하드웨어, 부팅 속도 Ultra Fast 설정+SSD+UEFI 지원 OS 조합으로 우사인 볼트의 부팅 속도를 체험할 수 있다.심지어 G2030 아이비브릿지+4GB Ram이라도 SSD+Windows 8.1이라면 10초는 커녕 5초도 안되어 암호 입력 화면으로 넘어간다!이제 세계신기록 찍는 일만 남았다 

윈도우의 경우 UEFI 모드로 제대로 설치되면 부팅 단계에서 윈도우 로고 대신 UEFI 제조사(메인보드 및 OEM) 로고가 뜨고 윈도우가 로딩된다. Windows Vista/7은 UEFI 부팅을 지원하지만 모든 기능을 사용할 수는 없으며, Windows 8이나 Windows 8.1 또는 Windows 10에서는 더 많은 기능을 지원한다. macOS는 출시 당시부터 UEFI를 지원했다. 리눅스는 x86 OS 중 가장 먼저 UEFI 부팅을 지원했으며, UEFI를 지원하는 GRUB2 등 부트로더를 사용하면 된다. Windows Phone도 UEFI를 사용한다.

BIOS에 비해서 관리하는 하드웨어 범위가 증가했고, 그만큼 기능도 증가했기 때문에 구현을 제대로 하지 않았을 때 OS에서 문제가 발생할 확률이 더 높아졌다.


반응형

+ Recent posts