UEFI

최근 수정 시각:


파일:external/upload.wikimedia.org/368px-Uefi_logo.svg.png

파일:AptioCUI.jpg

파일:InsydeH2OUEFI.png

파일:asus uefi.jpg

파일:GIGABYTE UEFI.jpg

파일:r720.jpg

AMI Aptio의 기본 UEFI 화면

Insyde H2O UEFI 화면

ASUS MAXIMUS VIII 마더보드 시리즈의 UEFI 화면

GIGABYTE GA-Z77-D3H 메인보드의 UEFI 화면[1]

DELL PowerEdge R720 서버의 UEFI 화면[2]


1. 개요2. Fastboot3. Secure Boot4. CSM5. 제조사

1. 개요[편집]

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

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

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

사용자가 느끼는 가장 큰 차이점은 펌웨어 사용자 인터페이스와 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 지원을 막아놓았기 때문이다.

이 외에도 후술하는 Fastboot 와 Secure Boot, 펌웨어 단계에서의 부트로더 관리, OS에서 펌웨어 설정에 접근하는 표준 인터페이스 등 기능이 추가되었다. BIOS 기반 컴퓨터에서 부팅할 때에는 해당 부팅 장치의 MBR에 접근해야 OS 코드가 실행되지만, UEFI 펌웨어는 디스크에 설치된 부트로더 정보를 가지고 있기 때문에 OS 코드의 일부를 UEFI 단계에서 실행할 수 있다.

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

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

여담으로 Windows Phone도 UEFI를 사용한다. 그리고 드물게 신형 퀄컴 칩셋을 탑재한[6] 안드로이드폰도 UEFI를 사용한다.[7]

2. Fastboot[편집]

Fastboot는 부팅중에 USB 부팅 드라이브 인식을 무시하고 기존 VGA BIOS 등등의 레거시 코드의 로드를 생략하고 향상된 코드가 탑재되있는 전용 UEFI OpROM으로 주변 하드웨에의 펌웨어와 Fastboot 기능을 지원하는 운영체제의 코드를 일부 가져와 메인보드 EFI 상에서 빠르게 부팅시켜 부팅속도를 단축 시키는 기능이다.[8] Fastboot+SSD+UEFI 지원 운영 체제 조합으로 우사인 볼트의 부팅 속도를 체험할 수 있다.심지어 인텔 아이비브릿지 펜티엄 G2030+4GB RAM이라도 SSD+Windows 8.1이라면 10초는 커녕 5초도 안되어 암호 입력 화면으로 넘어간다! 이제 세계신기록 찍는 일만 남았다

패스트 부트를 제대로 사용하려면 일단 VGA나 RAID 카드와 같은 PCIe 확장 카드도 UEFI OpROM(Option ROM)을 지원해야 하며 그를 지원하는 운영 체제도 필요 하다. 메인보드에서 하드웨어를 초기화할 때 OpROM을 실행시킬 수 있어야 부팅 과정에서 하드웨어를 사용할 수 있다. UEFI OpROM은 기존 BIOS OpROM과 호환되지 않기 때문에[9] 확장 카드에 BIOS OpROM만 있으면 UEFI Fast Boot 설정 시 하드웨어를 사용할 수 없다. 2013년 이전 출시된 그래픽 카드는 VGA BIOS만 있고 UEFI GOP(Graphics Output Protocol) 펌웨어를 생략하는 경우가 있다. 이런 그래픽 카드를 사용하면 UEFI Fast Boot를 사용할 수 없고 아래의 CSM 모드를 사용해야 한다. 그래픽 칩셋이 지원한다면 구형 VGA라도 UEFI 바이오스를 제작하여 심는 방법으로 Fast Boot를 지원하게 할 수는 있다. 서버에서 사용하는 RAID 카드 등 확장 카드도 UEFI OpROM이 없으면 해당 카드를 부팅 중에 사용할 수 없다. 또한 OSWindows 8 이상부터 사용이 가능하다.

참고로 윈도우를 USB 메모리로 부팅하여 설치시 이 Fastboot 옵션이 켜져있는경우 USB 인식을 안하고 OS 부팅단계로 바로 넘겨버리는 탓에 윈도우 설치를 계속 실패할수도 있으니 만약 UEFI 보드를 사용하는데 USB 메모리로 윈도우 설치치 설치화면으로 진입을 안하고 "Reboot and Select Proper Boot device" 같은 말이 계속 나온다면 Fastboot 기능을 끄고 설치하면 된다.

3. Secure Boot[편집]

UEFI Specification 2.2부터 지원하는 기능. OS 부트로더가 검증된 인증서에 의해 디지털 서명되었는지를 검증하여 부팅 과정에서의 보안성을 높였다. 디지털 서명되지 않은 경우 또는 검증된 인증서에 의해 서명되지 않은 경우에는 부팅이 중단된다. 이 기능을 정상적으로 사용하려면 Microsoft Windows 계열에서는 Windows 8, Windows 8.1, Windows 10이 설치되어야 한다. 반드시 UEFI 모드로 설치할 것. Windows RT/Windows Phone 탑재 장비는 모두 이걸 켜고 나오고 사용자가 끌 수 있는 방법이 없기 때문에 서피스 RT나 루미아의 커스텀 펌웨어가 거의 안 나오는 이유이기도 하다.

Linux 배포판 중에서는 페도라, 우분투, OpenSuse가 해당되는데, 페도라 항목을 보면 알겠지만 리눅스 진영에서는 M$에 돈을 바쳤다고 일단 까고 시작한다.(...). 또한 이것이 켜지면 UEFI 제조자와 협약이되지 않은 부팅프로그램들은 모조리 보안오류가 뜨면서 작동하지 않으므로 커스텀 리눅스를 설치할 수 없는 이유도 있다. 그 많은 판본들을 다 보안서명협약을 맺을순 없으니까, 그리고 이념적인 감정도 있는지라 Secure Boot를 끄기도 하는 상황.

여담으로 노트북사용자중 스팀(플랫폼)을 통해 소스 엔진 게임을 구동할 경우 그림자 옵션이 보통이나 낮음으로 밖에 선택 할 수 없는 경우가 있다. 이를 해결하기 위해선 바이오스 설정에 들어가서 Secure Boot 옵션을 꺼두면 해결이 된다 카더라. 엔비디아밸브측에서는 왜 아직도 해결 안 하는지 모르겠다

또한 Secure Boot는 UEFI 제조자와 미리 서명인증협약이 되어있는 운영체제같은 부팅프로그램에서만 정상 작동하므로 (안된 것들은 보안오류가 뜬다) 그것이 돼있지 않은 커스텀 리눅스같은 것을 설치하려면 끄거나 따로 만든 인증서와 그 인증서로 인증한 부트로더, 그리고 EFI펌웨어에 해당 인증서를 올리면 된다. 물론 인증서를 임의로 등록하는 기능이 없는 메인보드라면 불가능 하다.[10]

4. CSM[편집]

Compatibility Support Module

UEFI를 완전히 지원하지 않는 OS(Windows Vista/Windows 7)나 x86 레거시모드, DOS 구동을 위해 기존 레거시 바이오스의 16비트 바이너리와 Option ROM[11]을 지원하는 기능이다.[12]

대부분 메인보드가 CSM을 토글하는 방식으로 되어 있지만 설정 방법이 여러모로 다양한 경우가 많다.

  • UEFI 모드 설정에 UEFI with CSM 모드를 선택하는 형태. (MSI 노트북이나 삼성 노트북, 혹은 일부 노트북들이 이렇다.)

  • Secure Boot를 끄면 알아서 CSM이 켜지는 형태. (반대의 경우 CSM을 켜면 Secure Boot가 알아서 꺼지는 경우도 있다.)

  • CSM이 켜져야 UEFI 부팅이 가능한 형태.

  • 일일이 각 하드웨어마다 부팅롬을 설정해줘야 하는 형태 등등. (주로 Secure Boot가 탑재되지 않는 UEFI 펌웨어의 경우. 그래픽카드, 저장장치, 네트워크 PXE 롬으로 구성되어 있다. 윈도우 7 이하 OS의 경우 UEFI OpROM으로의 부팅을 지원하지 않아 레거시쪽으로 부팅롬을 전부 돌려야 한다,)

위에 말고도 여러 방법들이 있으므로 OS를 UEFI로 설치하는 경우 메인보드나 노트북의 바이오스 설명서를 꼭 잘 읽어 보자. 데스크탑의 경우, 외장그래픽을 설치했다면 그래픽 카드의 세팅도 주의하자. 또한 CSM을 켜도 Secure Boot가 자동으로 안꺼지는 보드는 인증 오류를 뿜어내고, Fastboot도 EFI 부팅을 온전하게 지원하지 않는 OS나 하드웨어의 경우에도 문제가 생길 가능성이 높으니 끄는것이 좋다. UEFI GOP 펌웨어가 탑재된 그래픽카드의 경우 EFI 모드로 전환해 주지 않으면 CSM을 껐을 때 에러메시지를 토한다. 윈도우 8 이상에서 EFI 설치 전에 그래픽카드의 롬 모드도 바꿔 주는 것이 좋다.

제대로 된 UEFI 부팅이 UEFI + GPT + Fastboot (+ Secure Boot)라면, 이건 BIOS 모드에서 GPT 디스크로 부팅하는 정도밖에 안 되는 모드다. UEFI 부팅이 주는 장점을 제대로 활용하려면 OS, 추가 하드웨어, 파티션 테이블이 모두 UEFI를 지원해야 한다. 대부분 UEFI 펌웨어가 MBR 기반 디스크에서도 부팅을 지원은 하지만, 부트로더 관리 등 고급 기능을 사용하려면 GPT로 갈아타야 한다.

하지만 시대가 발달함에 따라 UEFI의 기능들을 온전히 지원하는 OS가 나오고, 인텔은 오는 2020년 까지 개인 PC든 서버용 컴퓨터든 CSM을 흔적도 없이 날려버린 UEFI Class 3를 도입 한다고 한다. 이제는 UEFI를 온전히 지원하지 않는 OS들의 수명이 끝나거나, 얼마 남지 않아 CSM 모드가 잘 사용되지 않음으로써 필요없는 공간만 차지 하는데다, 레거시 코드 자체가 오래되어 보안에 취약한데다 Secure Boot 기능을 온전히 사용할 수 없게 되어[13] 그로인해 부팅시 악성코드가 몰래 실행되어 보안에 악영향을 끼칠수도 있어 해당 레거시 지원 기능을 없애버릴 예정 이라고 한다. 조만간 AMI, Phoenix, Insyde 같은 UEFI 제조업체는 좋든싫든 해당 기능을 제거한 UEFI를 제작하게 생겼다(...)# [14][15]

5. 제조사[편집]

  • American Megatrends Inc. (AMI) 중저가 노트북 시장을 제외한 사실상 현 UEFI 시장을 반독점하였다.

    • UEFI 시장에 가장먼저 적극적으로 개입하면서 사실상 현 UEFI 시장을 장악했다 해도 무방하다.

    • AMI BIOS가 다양한 기능 커스텀을 내세웠다면, AMI Aptio는 GUI 커스텀을 자유롭게 할 수 있어 너도나도 가릴거 없이 전부 개성있게 커스텀 하여 사용한다. (다양한 커스텀은 Aptio V 시절부터, 4시절에도 커스텀이 가능했으나 고전적인 BIOS 레이아웃에서 벗어나지 않았었다.)

    • Aptio는 Aptio4, AptioV 버전으로 또 나뉘는데, 버전 4는 GUI 레이아웃이 고전 BIOS처럼 구성되었고, V버전은 GUI 커스텀이 기존 형틀에서 벗어나 자유롭게 설계될 수 있다. 두 버전 다 CUI인 경우에는 동일.

    • AMI Aptio가 탑재된 보드의 Aptio 스티커를 잘 보면 DT형과 NB 형으로 나눠지는듯 하다. 둘다 2006년형 UEFI이다.

  • Insyde H2O BIOS UEFI

    • BIOS 시장에 진입한지 얼마안된 신생 바이오스 제조업체인 상태에서 UEFI 시장으로 넘어왔다.

    • 주로 중저가 노트북 제조 업체들이 많이 사용하는 UEFI. 아래 피닉스제 UEFI보다 공급가가 더 저렴하여 요즘은 이걸 많이 사용한다. 테마는 Phoenix BIOS의 테마를 그대로 베낀 수준이다(...).

    • 이 UEFI도 피닉스 바이오스처럼 기본적인 기능만 되게 만든 UEFI이다. 하지만 역사있는데다 꽤나 안정적인 피닉스 바이오스와 달리 위에서 말했듯 신생업체라 안정성은 비교할수 없는 수준.

    • OEM UEFI 치고는 기능제한을 풀기 위한 모드롬들이 많이 나오는 편이다.

  • Phoenix Technologies

    • UEFI 초창기 시절 노트북 회사들에게 잠깐 사용되다가, AMI Aptio의 범용성과 Insyde H2O UEFI의 더욱 저렴한 가격에 밀려, 비운의 UEFI 벤더가 되버렸다. 초기에 탑재될 때도 특유의 싼티나는 테마 그대로 였으나, 후기에는 GUI 커스텀이 가능해졌다. 다만 위에 두 UEFI가 주로 쓰이게되는 상황이라 부각이 되지 않았지만.

    • 비록 UEFI쪽에서 대응이 늦어 점유율이 확 떨어져 콩라인을 다투는 상황이 되긴 했지만, 그래도 안정성 등에서 Insyde와 비교할 메이커는 아니다. 2017년 현재도 레노보의 비즈니스랩탑으로 유명한 Thinkpad 브랜드는 피닉스 바이오스만 들어간다.

    • 애초에, 일반인 사람들에게 피닉스바이오스는 기능적으로 부족한 바이오스라는 인식이 많은데[16], 실제로는 피닉스바이오스는 안정성에 몰빵하여 OEM에 전문으로 납품하는 브랜드였고[17] , 흔히 컴덕후에게 유명한 ASUSGIGABYTE같은 조립시장에 납품되던건 Award-Phoenix의 모듈러 바이오스였다.

    • 피닉스는 과거에 ServerBIOS란 브랜드로 서버에는 닥치고 피닉스라던 시절도 있었다.[18]

    • 일반 PC용은 SecureCore를 사용하며, 서버나 워크스테이션용 펌웨어는 ServerCore[19]를 사용한다.



[1] 마더보드마다 다르지만 대부분 한국어를 지원한다.[2] Phoenix의 서버 및 워크스테이션 전용 UEFI 플랫폼인 Servercore를 사용했다.[3] (위키백과 참조)[4] 인텔 기준 945 이후 칩셋(맥북), AMD 기준 7xx 칩셋과(ECS의 760G 보급형 AM3+ 보드) NVIDIA제 칩셋의 경우 무려 nForce 630a 칩셋부터 적용가능(...) (기가바이트가 N68 칩셋 보드에 Hybrid EFI를 탑재함으로써 탑재 가능여부를 몸소 보여주었다...)[5] 완전한 지원은 아니기에 EFI부팅만 지원하는 보드의 경우 부팅이 불가능 할 수 있다.[6] Windows Phone 루미아 핸드폰에는 전부 퀄컴칩이 들어가 퀄컴이 자체 UEFI 부트로더를 제작했는데 그걸 안드로이드에도 일부 적용했을수도 있다. 일례로 DragonBoard 410c는 퀄컴 스냅드래곤 410 SoC를 탑재한 라즈베리파이와 비슷한 개발보드 인데 퀄컴제 UEFI로 UEFI쉘이 실행되는걸 볼 수 있다.[7] 구글 플레이 스토어에 EFIDroid란 앱이 있는데 그앱을 사용하면 EFI를 지원하는 기종 힌정으로 멀티부팅을 지원하며 다른 리눅스 운영체제 설치와 EFI 쉘도 사용가능하다! 지원 리스트는 해당 앱에서 볼 수있으며 극소수이다.[8] UEFI 방식으로 Windows 8 이상을 설치했을 때에만 활성화 가능[9] 기존 16비트 바이너리와 64비트 바이너리가 무슨수로 호환이 되겠는가...[10] 주로 보드 자체의 롬칩의 용량이 적은 보드나 OEM 보드의 경우.[11] 그래픽카드 BIOS, 네트워크 PXE 부팅롬, 기타 PCI 장치등[12] 이 기능의 탑재로 인해 바이오스가 완전히 죽진않고 최소한의 기능으로 탑재되어 있었다.[13] 대부분 CSM 으로 OS를 설치한다는 것은 인증서가 없는 구식 OS를 설치하게 되는 소리이므로 Secure Boot를 끌수밖에 없는 상황이 나오는것.[14] UEFI인텔이 독자적으로 개발하여 개방한 규격이다. 당연히 최고 개발위치인 인텔의 말을 듣는수밖에...[15] 게다가 인텔이 x2xx 칩셋부터 Windows 10 이하 OS 공식 지원을 드랍시킨 덕에 더더욱 지원할 이유가 사라졌다.[16] 사실 Award-Phoenix 브랜드를 폐기한게 크다.[17] 컴덕들도 착각하는게 기능이 많다고 좋은게 아니다. 왜 기능적으로는 별거 없는 Thinkpad의 바이오스를 극찬하는 사람들이 존재하겠는가?[18] BIOS시절에는 AMI 바이오스 탑재된 서버는 폐기물이라 칭하는 사람도 존재했다.[19] 주로 델이나 레노보등에서 많이 쓰이고 있다.

분류