UEFI
[image]
'''U'''nified '''E'''xtensible '''F'''irmware '''I'''nterface(통일 확장 펌웨어 인터페이스) 읽을 때는 유-이-에프-아이 식으로 알파벳을 읽기도 하지만, 유이파이라고 읽기도 한다.[1] 2020년 기준으로 버전 2.8A가 최신이다.
BIOS를 대체하는 펌웨어 규격으로, IBM PC XT부터 이어진 바이오스의 제약 사항을 극복하고 새로운 하드웨어를 더 유연하게 지원하기 위해서 개발되었다. 개발은 1990년대부터 진행되어 EFI(Extensible Firmware Interface)라는 이름으로 인텔 아이태니엄 시리즈에 사용되었으며, 2005년에 규격을 제3사에도 공개하여 현재의 이름인 UEFI로 변경되었다. x86 아키텍처에는 2006년 맥북부터 천천히 도입되었다. 보통 2006년도 이후에 나온 칩셋이라면 EFI 적용이 가능하다. 인텔 기준 945 이후 칩셋(맥북), AMD 기준 7xx 칩셋과(ECS의 760G 보급형 AM3+ 보드) NVIDIA제 칩셋의 경우 무려 nForce 630a 칩셋부터 적용 가능하다. 기가바이트가 N68 칩셋 보드에 Hybrid EFI를 탑재함으로써 탑재 가능 여부를 몸소 보여주었다. 본격적으로 적용되기 시작한 것은 샌디브릿지용 6 시리즈 칩셋과 AMD 8xx 번대 칩셋(AMD 페넘2/AMD FX)부터 메인보드 제조사들이 적용하기 시작했다. UEFI 초창기 시절의 일부 염가형 보드는 펌웨어 업데이트로 EFI의 탈을 쓴 일반 BIOS도 있으며, 펌웨어 업데이트는 해 주되 EFI의 진정한 기능은 추가를 안 해 주거나 혹은 업데이트로 나중에라도 온전한 UEFI 지원이 되게 하는 경우도 있다. 추가로 2008년 이후에 출시된 대부분의 삼성 노트북 모델들도 UEFI를 지원한다.[2]
BIOS에서 UEFI로 전환되는 시기에는 같은 메인보드 칩셋이라도 모델에 따라 펌웨어 종류가 다르기도 했다. 2008년 MSI에서 EFI를 탑재한 P35 Neo3-EFINITY 메인보드를 내놓았으나, 시기상조라 여겨지면서 신기한 물건 정도로만 이목을 끌었을 뿐 그다지 많이 팔리지는 않았다. 기가바이트는 4 시리즈부터 Hybrid EFI라는 것을 사용하여 UEFI의 기능 중 3TB 이상의 디스크 사용을 위한 GPT(GUID Partition Table) 및 EFI 부팅만 첨가한 바이오스를 사용했다. AMD 메인보드는 초기 리비전은 바이오스로 내놓다가 후기 리비전에서 UEFI를 사용하는 경우도 있다. 나중엔 제대로 된 UEFI 보드들을 내고, 듀얼 바이오스의 전통을 이어받아 듀얼 UEFI를 지원한다. 애플은 첫 인텔 맥부터 모든 모델이 인텔 사유 EFI를 애플에 맞게 개량한 전용 EFI를 사용한다.
사용자가 느끼는 가장 큰 차이점은 펌웨어 사용자 인터페이스와 GPT 부팅이다. 진입 방법은 BIOS와 똑같이 부팅 중에 펌웨어 설정 진입 키를 누르면 된다. BIOS 시절에는 일부 486-펜티엄 보드에 사용한 AMI 바이오스에서 GUI와 마우스를 지원한 것을 빼면 모든 사용자 인터페이스는 TUI 기반이었다. UEFI로 오면서 GUI 기반 펌웨어를 탑재하는 메인보드 제조사가 많아졌다. 펌웨어 개발사인 AMI의 레퍼런스 UEFI Aptio의 기본값은 TUI이지만 제조사에서 GUI로 변경할 수 있다. 그래서 HP나 페가트론 같은 OEM 업체이거나 인지도 없는 브랜드는 UEFI 메인보드라고 해도 TUI만 사용한다. 심지어 인텔 베이트레일 기반 태블릿 및 삼성 아티브 계열에 들어가는 UEFI는 마우스 조작과 더불어 터치 조작도 지원한다. 태블릿에는 물리 키보드가 없기 때문에 가상 키보드까지 지원한다. 물론 UEFI의 터치 스크린 드라이버는 필수적인 조작만 되면 되기 때문에 OS로 부팅한 상태보다는 터치감이 안 좋을 수밖에 없다.
Fastboot와 Secure Boot, 펌웨어 단계에서의 부트 로더 관리, OS에서 펌웨어 설정에 접근하는 표준 인터페이스 등 기능이 추가되었다. BIOS 기반 컴퓨터에서 부팅할 때에는 해당 부팅 장치의 MBR에 접근해야 OS 코드가 실행되지만, UEFI 펌웨어는 디스크에 설치된 부트 로더 정보를 가지고 있기 때문에 OS 코드의 일부를 UEFI 단계에서 실행할 수 있다.
윈도우의 경우 UEFI 모드로 제대로 설치되면 부팅 단계에서 윈도우 로고 대신 UEFI 제조사(메인보드 및 OEM) 로고가 뜨고 윈도우가 로딩된다.[3] Windows Vista/7은 UEFI 부팅을 지원하지만 완전한 지원은 아니기에 모든 기능을 사용할 수는 없다. EFI 부팅만 지원하는 보드의 경우 무한 부팅이 되는 등 부팅이 불가능할 수 있다. Windows 8이나 Windows 8.1 또는 Windows 10에서는 더 많은 기능을 지원한다. macOS는 출시 당시부터 UEFI를 지원했다. 리눅스는 x86 OS 중 가장 먼저 UEFI 부팅을 지원했으며, UEFI를 지원하는 GRUB2 등 부트 로더를 사용하면 된다. 또한 부팅 화면 자체에서 HiDPI를 지원하기도 한다.
BIOS에 비해서 관리하는 하드웨어 범위가 증가했고, 그만큼 기능도 증가했기 때문에 구현을 제대로 하지 않았을 때 OS에서 문제가 발생할 확률이 더 높아졌다.
2020년 이후 CSM 모듈을 삭제한 UEFI 클레스 3+이 표준으로 자리잡아 구형 BIOS는 영영 사라지게 되었다.#
Windows Phone도 UEFI를 사용한다. Windows Phone 루미아 핸드폰에는 전부 퀄컴 칩이 들어가 퀄컴이 자체 UEFI 부트 로더를 제작했다. 그리고 드물게 신형 퀄컴 칩셋을 탑재한 안드로이드 폰도 UEFI를 사용한다. 구글 플레이 스토어에 EFIDroid란 앱이 있는데 그 앱을 사용하면 EFI를 지원하는 기종 한정으로 멀티 부팅을 지원하며 다른 리눅스 운영 체제 설치와 EFI 셸도 사용 가능하다. 지원 리스트는 해당 앱에서 볼 수 있으며 극소수이다. 퀄컴에서 제작한 UEFI 부트 로더를 안드로이드에도 일부 적용했을 수도 있다. 일례로 DragonBoard 410c는 퀄컴 스냅드래곤 410 SoC를 탑재한 라즈베리 파이와 비슷한 개발 보드인데 퀄컴제 UEFI로 UEFI 셸이 실행되는 걸 볼 수 있다.
펌웨어에 큰 문제가 없다면 바이오스/UEFI 업데이트는 되도록 하지 않는 것이 좋다는 이야기가 있다. 요즘 시스템들은 복구 명령어가 있지만, 펌웨어 업데이트 중 시스템이 갑작스럽게 종료될 수 있기 때문이다.
BIOS 시절부터 사용한 MBR(Master Boot Record) 기반 파티션 테이블은 주 파티션을 최대 4개까지밖에 잡을 수 없고 그 이상으로 나누려면 논리 파티션을 사용해야 한다. 문제는 OS와 부트 로더가 지원하지 않으면 주 파티션에 설치된 OS로만 부팅 가능하며, 전체 디스크 크기가 2.2TB를 넘어가면 초과분부터는 무슨 짓을 해도 해당 공간을 사용할 수 없다.
GPT(GUID Partition Table)는 파티션 정보를 기록하는 방식을 변경하여 주 파티션과 논리 파티션의 구분을 없애고 2TB를 초과하는 디스크도 사용할 수 있게 되었다. GPT에 기록되는 정보가 더 많기 때문에 MBR과 GPT는 서로 호환되지 않는다. 따라서 파티션 테이블 구조를 변경하려면 해당 디스크의 모든 파티션 테이블을 지워야 하기 때문에 데이터가 손실된다. 윈도우 기준 명령 프롬프트로 가서 diskpart-select disk=?-clean-convert GPT 명령으로 파티션 테이블 구조를 변경할 수 있다.
GPT 디스크로 부팅하려면 EFI가 필요하지만 장치에서 BIOS가 아닌 EFI 펌웨어를 사용하기만 한다면 MBR 디스크로도 EFI 부팅이 가능하다. 가령 예를 들면, EFI 부팅용 USB의 경우 보통 MBR 파티션 테이블을 사용한다.
그렇다면 반대로 GPT 디스크에서 BIOS 부팅을 시키는 것은 불가능하냐면... '''되긴 한다'''. 다만 이건 BIOS에 디스크가 MBR이라고 사기를 치고 GRUB이 원래대로라면 EFI 펌웨어가 해 줘야 하는 디스크 인식 같은 귀찮은 일을 대신 해주니까 가능한 거다. 편법은 엄연히 편법이고, 스펙상으로는 안 되는 게 맞으며, 윈도에서도 안 된다.
일단 GPT 부팅은 메인보드가 UEFI/EFI를 지원해야 한다.
윈도우 10의 경우 설치하려는 디스크가 MBR을 이용한다면 GPT로 전환한 다음에 설치해야 한다. 일단 기존 데이터를 모두 다른 저장소에 옮겨 놓고 포맷 후 GPT로 초기화하거나, 변환 명령어로 MBR에서 GPT로 변환해야 한다.
윈도우 10 크리에이션 툴 다운로드 페이지에서 윈도우 10을 다운로드 받아 부팅 가능한 USB 메모리로 만든다.
단 윈도우 정품을 ESD가 아닌 패키지로 구매했을 경우 위 과정이 생략되는데, 정품 패키지에 담겨 있는 USB를 그대로 꽂으면 되기 때문이다.
참고로 이런 윈도우 정식 USB 메모리는 무조건 FAT32로만 포맷되어 있는데, 일부 구형 메인보드가 UEFI 모드에서 FAT32 부팅만 지원하기 때문이다. 그래서 내용도 잘 보면 한 파일의 용량이 4GB가 되지 않도록 세심하게 배려해 놨다. 이는 FAT32의 특성상 한 파일의 크기가 4GB를 넘길 수 없기 때문이다.
정확히는, FAT32는 의무 필수 지원이라 어떤 구형 제품도 무조건 지원하는 반면, NTFS, ext4 등 나머지 규격으로 포맷된 파티션에서의 부팅 지원은 '옵션'이기 때문에 윈도우용 제품이면서도 NTFS 부팅도 지원 안 하는 막장 제품들이 있는 거다. 후술할 파티션 나누기와 윈도우 부트 매니저 설정도 사실 이것 때문에 생긴 꼼수이기도 하다. FAT32 부팅만 지원하는 보드에서 호환성 문제를 피하기 위해서 부트로더는 FAT32로 포맷된 전용 파티션에 따로 격리해 놓은 것이다. #
메인보드에서 지원한다면 NTFS로 바로 부팅도 가능하지만 호환성이 낮기 때문에 별 의미는 없다. #
그리고 윈도우 설치용 USB 메모리를 컴퓨터에 꽂은 후 Delete 키, F2 키, F11 키, F9 키, Esc 키 등으로 펌웨어 설정으로 들어간다. 그리고 부팅 우선순위에 가보면 USB 메모리를 UEFI와 BIOS, 두 가지로 부팅할 수 있는데 UEFI USB 부팅 메모리를 부팅 첫 번째 우선순위로 바꾸고 설정을 저장하고 나온다. 메인보드 제조사에 따라 UEFI 부팅을 원할 시, UEFI 옵션만 별도로 켜야 하는 경우도 있다. 그냥 F12나 F11 누르고 부팅 순서만 바꾸는 것이 훨씬 더 편할 것이다.
컴퓨터를 다시 부팅하여 윈도우 10을 설치한다. 기존 파티션을 모두 지운 후 GPT 파티션으로 새로 생성한다. 자동으로 파티션 1은 499MB의 복구 파티션을 만들고, 파티션 2는 100MB의 시스템 파티션(이름은 EFI이며, 상술한 부팅 지원 문제 때문에 무조건 FAT32로 포맷되어 있다), 파티션 3은 16MB의 MSR(예약) 파티션을 만들고, 나머지는 전부 파티션 4로 만든다. 만약 D 드라이브를 별도로 만들려면 파티션을 생성할 때 두 번째 드라이브의 용량만큼을 빼서 기입하면 된다.
보통은 윈도우 설치가 끝나면 자동으로 부팅 우선순위 1위가 윈도우 부트 매니저로 지정된다. 만약 설치 후 재부팅이 끝났는데 다시 설치 화면이 나온다면 부팅 우선순위 설정 항목으로 들어가 윈도우 부트 매니저를 1위로 설정한다.[5] 그리고 설치가 끝났으므로 FastBoot를 켜도 된다. 윈도우 10으로 부팅이 끝났다면 초기 설정 후 사용하면 된다.
메인보드에서 GPT 부팅을 지원하지 않고 OS에서는 지원한다면 GPT 형식의 저장용 디스크로서의 사용은 가능하다.
Fastboot는 부팅 중에 USB 부팅 디스크, 그래픽 카드 등의 레거시 BIOS 코드의 로드를 생략하고 향상된 코드가 탑재되어 있는 전용 UEFI OpROM으로 주변 하드웨어의 펌웨어와 Fastboot 기능을 지원하는 운영 체제의 코드를 일부 가져와 메인보드 EFI 상에서 빠르게 부팅시켜 부팅 속도를 단축시키는 기능이다. UEFI 방식으로 Windows 8 이상을 설치했을 때에만 활성화가 가능하다. UltraFastboot+SSD+UEFI 지원 운영 체제 조합으로 '''우사인 볼트급'''의 부팅 속도를 체험할 수 있다.''' 심지어 인텔 아이비브릿지 펜티엄 G2030+4GB RAM이라도 SSD+Windows 10이라면 10초는커녕 5초도 안 되어 암호 입력 화면으로 넘어간다. 암호를 정해 놓지 않았다면, 바탕 화면으로 직행한다.'''[6]
Fastboot를 제대로 사용하려면 일단 그래픽 카드나 RAID 카드와 같은 PCIe 확장 카드도 UEFI OpROM을 지원해야 하며 그를 지원하는 운영체제도 필요하다. 메인보드에서 하드웨어를 초기화할 때 OpROM을 실행시킬 수 있어야 부팅 과정에서 하드웨어를 사용할 수 있다. UEFI OpROM은 기존 BIOS OpROM과 호환되지 않기 때문에(기존 16비트 바이너리와 64비트 바이너리가 호환이 될 리가 없다.) 확장 카드에 BIOS OpROM만 있으면 UEFI Fast Boot 설정 시 하드웨어를 사용할 수 없다. 2013년 이전 출시된 그래픽 카드는 VGA BIOS만 있고 UEFI GOP(Graphics Output Protocol) 펌웨어를 생략하는 경우가 있다. 이런 그래픽 카드를 사용하면 UEFI Fast Boot를 사용할 수 없고 아래의 CSM 모드를 사용해야 한다. 그래픽 칩셋이 지원한다면 구형 그래픽 카드라도 UEFI 펌웨어를 제작하여 심는 방법으로 Fast Boot를 지원하게 할 수는 있다. 서버에서 사용하는 RAID 카드 등 확장 카드도 UEFI OpROM이 없으면 해당 카드를 부팅 중에 사용할 수 없다. 또한 OS도 Windows 8 이상부터 사용이 가능하다.
Fastboot 옵션이 켜져 있는 경우, 부팅 초기에 UEFI 펌웨어 진입 시간을 주지 않고 USB 부팅 디스크를 인식'''하지 않고''' OS 부팅 단계로 바로 넘겨버리는 탓에 윈도우 재설치를 못 하고 있다면 Fastboot 기능을 끄고 설치하면 된다. 윈도우 상에서 UEFI 설정으로 진입하려면 설정 내의 복구 모드를 통하거나 메인보드 제조사에서 제공하는 진입 도구를 사용하면 된다.
UEFI Specification 2.2부터 지원하는 기능으로, OS 부트 로더가 검증된 인증서에 의해 디지털 서명되었는지를 검증하여 부팅 과정에서의 보안성을 높였다. 디지털 서명되지 않은 경우 또는 검증된 인증서에 의해 서명되지 않은 경우에는 부팅이 중단된다. 이 기능을 정상적으로 사용하려면 Microsoft Windows 계열에서는 Windows 8, Windows 8.1, Windows 10이 설치되어야 한다. 반드시 UEFI 모드로 설치할 것. Windows RT/Windows Phone 탑재 장비는 모두 이걸 켜고 나오고 사용자가 끌 수 있는 방법이 없기 때문에 서피스 RT나 루미아의 커스텀 펌웨어가 거의 안 나오는 이유이기도 하다.
Windows의 경우 드라이버의 서명 또한 영향을 주게 되는데 Secure Boot 가 켜진 상태에선 펌웨어에 등록되어 있지 않은 인증서로 서명되어 있거나 서명되지 않은 드라이버의 로드를 중단시켜 변조된 드라이버의 실행을 방지한다.
대부분의 Windows용 드라이버는 WHQL등으로 서명되기 때문에 일반적인 사용 환경에서는 문제가 되지 않는다.
Linux 배포판 중에서는 페도라, 우분투, openSUSE가 해당되는데, 페도라 항목을 보면 알겠지만 FSF/GNU 진영에서는 M$에 돈을 바쳤다고 일단 까고 시작한다. 또한 이것이 켜지면 UEFI 제조자와 협약이 되지 않은 부팅 프로그램들은 모조리 보안 오류가 뜨면서 작동하지 않으므로 커스텀 리눅스와 해킨토시를 설치할 수 없다. 그 많은 판본들을 다 보안 서명 협약을 맺을 수는 없기도 하고, 그리고 이념적인 감정도 있는 지라 Secure Boot를 끄기도 하는 상황이다.
여담으로 노트북 사용자 중 스팀(플랫폼)을 통해 소스 엔진 게임을 구동할 경우 그림자 옵션이 보통이나 낮음으로밖에 선택할 수 없는 경우가 있다. 이를 해결하기 위해선 바이오스 설정에 들어가서 Secure Boot 옵션을 꺼두면 해결이 된다고 한다. AMD의 StoreMI 역시 Secure Boot를 꺼야 작동된다.
또한 Secure Boot는 UEFI 제조자와 미리 서명 인증 협약이 되어있는 운영 체제 같은 부팅 프로그램에서만 정상 작동하므로 (안 된 것들은 보안 오류가 뜬다.) 그것이 돼있지 않은 커스텀 리눅스 같은 것을 설치하려면 끄거나 따로 만든 인증서와 그 인증서로 인증한 부트 로더, 그리고 EFI 펌웨어에 해당 인증서를 올리거나 이 방법을 이용하면 된다. 물론 인증서를 임의로 등록하는 기능이 없는 메인보드라면 불가능하다. 주로 보드 자체의 롬 칩의 용량이 적은 보드나 OEM 보드의 경우가 해당된다. 여기를 참고해도 좋다.
'''C'''ompatibility '''S'''upport '''M'''odule
호환성 지원 모듈
UEFI를 완전히 지원하지 않는 OS(Windows 7이하, GRUB 2를 사용하지 않는 리눅스배포판들이 여기에 해당)나 x86 레거시 모드, DOS 구동을 위해 기존 레거시 바이오스의 16비트 바이너리 및 그래픽 카드 BIOS, 네트워크 PXE 부팅 롬, 기타 PCI 장치 등 외부 장치의 Option ROM을 지원하는 기능이다. 이 기능의 탑재로 인해 바이오스가 완전히 죽진 않고 최소한의 기능으로 탑재되어 있었다.
대부분 메인보드가 CSM을 토글하는 방식으로 되어 있지만 설정 방법이 여러모로 다양한 경우가 많다.
위에 말고도 여러 방법들이 있으므로 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의 기능들을 Windows 8.1과 Windows 10이 나오고, 인텔은 2020년까지 개인 PC든 서버용 컴퓨터든 CSM을 흔적도 없이 날려버린 UEFI Class 3를 도입할 예정이다. 이제는 UEFI를 온전히 지원하지 않는 OS들의 수명이 끝나거나, 얼마 남지 않아 CSM 모드가 잘 사용되지 않음으로써 필요 없는 공간만 차지하고, 레거시 코드 자체가 오래되어 보안에 취약한데다 Secure Boot 기능을 온전히 사용할 수 없게 되어 그로 인해 부팅 시 악성 코드가 몰래 실행되어 보안에 악영향을 끼칠 수도 있어 해당 레거시 지원 기능을 없애버릴 예정이다. 대부분 CSM으로 OS를 설치한다는 것은 인증서가 없는 구식 OS를 설치하게 되는 것이므로 Secure Boot를 끌 수밖에 없는 상황이 나오는 것이다.[7] 조만간 AMI, Phoenix, Insyde 같은 UEFI 제조업체는 좋든 싫든 해당 기능을 제거한 UEFI를 제작할 상황에 처하게 되었다. # UEFI는 인텔이 독자적으로 개발하여 개방한 규격이다. 당연히 제조업체 입장에서는 최고 개발 위치인 인텔의 말을 듣는 수밖에 없고, 게다가 인텔이 x2xx 칩셋부터 Windows 10 미만의 OS들에 대한 공식 지원을 드롭시킨 탓에 더더욱 지원할 이유가 사라졌다.
2019년부터 제작되는 대기업 OEM PC나 노트북의 경우는 메인보드에 CSM 기능이 제거된 채로 제작되고 있다. 2020년 3월 구입한 노트북을 확인해본 결과, CSM기능이 제거되어 있고 UEFI 부팅만 가능함.
다만 하위 호환이 굉장히 중요한 서버 보드 같은 경우에는 듀얼 바이오스 비슷하게 롬 칩을 두 개 심는 식으로 대응할 가능성도 크다. 하나는 UEFI, 하나는 BIOS 칩으로 해서 점퍼 같은 걸로 물리적인 방법으로 전환하는 식이다.
2020년 이후부터는 UEFI 클래스 3+가 전면 도입되어 CSM이 완전히 사라질 예정이다. 구형 OS 사용을 희망하는 사람들에겐 날벼락이지만 이런 구형 시스템 때문에 문제시되는 보안문제에서 더 자유로워질 것으로 보인다. 구형 OS는 VirtualBox 등의 가상 머신으로 구동이 가능하다.
[image]
AMI Aptio의 기본 UEFI 화면
[image]
Insyde H2O UEFI 화면
[image]
ASUS MAXIMUS VIII 마더보드 시리즈의 UEFI 화면
[image]
GIGABYTE GA-Z77-D3H 메인보드의 UEFI 화면. 마더보드마다 다르지만 대부분 한국어를 지원한다. 위 사진의 ASUS도 한국어 설정은 가능하나 반글화이다. 문제는 바탕체. 사실 AMI GUI UEFI를 쓰는 다른 제조사도 별반 다르지 않다. 그리고 기가바이트는 ASUS가 반글화면 1/8글화이다.
[image]
DELL PowerEdge R720 서버의 UEFI 화면. Phoenix의 서버 및 워크스테이션 전용 UEFI 플랫폼인 Servercore를 사용했다.
UEFI NES 게임구동 영상. 어떤 양덕의 UEFI 셸을 이용한 NES 구동 영상이다.
UEFI GAME BOY COLOR 에뮬레이터 구동영상.
UEFI DOOM2 구동영상.
1. 개요
'''U'''nified '''E'''xtensible '''F'''irmware '''I'''nterface(통일 확장 펌웨어 인터페이스) 읽을 때는 유-이-에프-아이 식으로 알파벳을 읽기도 하지만, 유이파이라고 읽기도 한다.[1] 2020년 기준으로 버전 2.8A가 최신이다.
BIOS를 대체하는 펌웨어 규격으로, IBM PC XT부터 이어진 바이오스의 제약 사항을 극복하고 새로운 하드웨어를 더 유연하게 지원하기 위해서 개발되었다. 개발은 1990년대부터 진행되어 EFI(Extensible Firmware Interface)라는 이름으로 인텔 아이태니엄 시리즈에 사용되었으며, 2005년에 규격을 제3사에도 공개하여 현재의 이름인 UEFI로 변경되었다. x86 아키텍처에는 2006년 맥북부터 천천히 도입되었다. 보통 2006년도 이후에 나온 칩셋이라면 EFI 적용이 가능하다. 인텔 기준 945 이후 칩셋(맥북), AMD 기준 7xx 칩셋과(ECS의 760G 보급형 AM3+ 보드) NVIDIA제 칩셋의 경우 무려 nForce 630a 칩셋부터 적용 가능하다. 기가바이트가 N68 칩셋 보드에 Hybrid EFI를 탑재함으로써 탑재 가능 여부를 몸소 보여주었다. 본격적으로 적용되기 시작한 것은 샌디브릿지용 6 시리즈 칩셋과 AMD 8xx 번대 칩셋(AMD 페넘2/AMD FX)부터 메인보드 제조사들이 적용하기 시작했다. UEFI 초창기 시절의 일부 염가형 보드는 펌웨어 업데이트로 EFI의 탈을 쓴 일반 BIOS도 있으며, 펌웨어 업데이트는 해 주되 EFI의 진정한 기능은 추가를 안 해 주거나 혹은 업데이트로 나중에라도 온전한 UEFI 지원이 되게 하는 경우도 있다. 추가로 2008년 이후에 출시된 대부분의 삼성 노트북 모델들도 UEFI를 지원한다.[2]
BIOS에서 UEFI로 전환되는 시기에는 같은 메인보드 칩셋이라도 모델에 따라 펌웨어 종류가 다르기도 했다. 2008년 MSI에서 EFI를 탑재한 P35 Neo3-EFINITY 메인보드를 내놓았으나, 시기상조라 여겨지면서 신기한 물건 정도로만 이목을 끌었을 뿐 그다지 많이 팔리지는 않았다. 기가바이트는 4 시리즈부터 Hybrid EFI라는 것을 사용하여 UEFI의 기능 중 3TB 이상의 디스크 사용을 위한 GPT(GUID Partition Table) 및 EFI 부팅만 첨가한 바이오스를 사용했다. AMD 메인보드는 초기 리비전은 바이오스로 내놓다가 후기 리비전에서 UEFI를 사용하는 경우도 있다. 나중엔 제대로 된 UEFI 보드들을 내고, 듀얼 바이오스의 전통을 이어받아 듀얼 UEFI를 지원한다. 애플은 첫 인텔 맥부터 모든 모델이 인텔 사유 EFI를 애플에 맞게 개량한 전용 EFI를 사용한다.
사용자가 느끼는 가장 큰 차이점은 펌웨어 사용자 인터페이스와 GPT 부팅이다. 진입 방법은 BIOS와 똑같이 부팅 중에 펌웨어 설정 진입 키를 누르면 된다. BIOS 시절에는 일부 486-펜티엄 보드에 사용한 AMI 바이오스에서 GUI와 마우스를 지원한 것을 빼면 모든 사용자 인터페이스는 TUI 기반이었다. UEFI로 오면서 GUI 기반 펌웨어를 탑재하는 메인보드 제조사가 많아졌다. 펌웨어 개발사인 AMI의 레퍼런스 UEFI Aptio의 기본값은 TUI이지만 제조사에서 GUI로 변경할 수 있다. 그래서 HP나 페가트론 같은 OEM 업체이거나 인지도 없는 브랜드는 UEFI 메인보드라고 해도 TUI만 사용한다. 심지어 인텔 베이트레일 기반 태블릿 및 삼성 아티브 계열에 들어가는 UEFI는 마우스 조작과 더불어 터치 조작도 지원한다. 태블릿에는 물리 키보드가 없기 때문에 가상 키보드까지 지원한다. 물론 UEFI의 터치 스크린 드라이버는 필수적인 조작만 되면 되기 때문에 OS로 부팅한 상태보다는 터치감이 안 좋을 수밖에 없다.
Fastboot와 Secure Boot, 펌웨어 단계에서의 부트 로더 관리, OS에서 펌웨어 설정에 접근하는 표준 인터페이스 등 기능이 추가되었다. BIOS 기반 컴퓨터에서 부팅할 때에는 해당 부팅 장치의 MBR에 접근해야 OS 코드가 실행되지만, UEFI 펌웨어는 디스크에 설치된 부트 로더 정보를 가지고 있기 때문에 OS 코드의 일부를 UEFI 단계에서 실행할 수 있다.
윈도우의 경우 UEFI 모드로 제대로 설치되면 부팅 단계에서 윈도우 로고 대신 UEFI 제조사(메인보드 및 OEM) 로고가 뜨고 윈도우가 로딩된다.[3] Windows Vista/7은 UEFI 부팅을 지원하지만 완전한 지원은 아니기에 모든 기능을 사용할 수는 없다. EFI 부팅만 지원하는 보드의 경우 무한 부팅이 되는 등 부팅이 불가능할 수 있다. Windows 8이나 Windows 8.1 또는 Windows 10에서는 더 많은 기능을 지원한다. macOS는 출시 당시부터 UEFI를 지원했다. 리눅스는 x86 OS 중 가장 먼저 UEFI 부팅을 지원했으며, UEFI를 지원하는 GRUB2 등 부트 로더를 사용하면 된다. 또한 부팅 화면 자체에서 HiDPI를 지원하기도 한다.
BIOS에 비해서 관리하는 하드웨어 범위가 증가했고, 그만큼 기능도 증가했기 때문에 구현을 제대로 하지 않았을 때 OS에서 문제가 발생할 확률이 더 높아졌다.
2020년 이후 CSM 모듈을 삭제한 UEFI 클레스 3+이 표준으로 자리잡아 구형 BIOS는 영영 사라지게 되었다.#
Windows Phone도 UEFI를 사용한다. Windows Phone 루미아 핸드폰에는 전부 퀄컴 칩이 들어가 퀄컴이 자체 UEFI 부트 로더를 제작했다. 그리고 드물게 신형 퀄컴 칩셋을 탑재한 안드로이드 폰도 UEFI를 사용한다. 구글 플레이 스토어에 EFIDroid란 앱이 있는데 그 앱을 사용하면 EFI를 지원하는 기종 한정으로 멀티 부팅을 지원하며 다른 리눅스 운영 체제 설치와 EFI 셸도 사용 가능하다. 지원 리스트는 해당 앱에서 볼 수 있으며 극소수이다. 퀄컴에서 제작한 UEFI 부트 로더를 안드로이드에도 일부 적용했을 수도 있다. 일례로 DragonBoard 410c는 퀄컴 스냅드래곤 410 SoC를 탑재한 라즈베리 파이와 비슷한 개발 보드인데 퀄컴제 UEFI로 UEFI 셸이 실행되는 걸 볼 수 있다.
펌웨어에 큰 문제가 없다면 바이오스/UEFI 업데이트는 되도록 하지 않는 것이 좋다는 이야기가 있다. 요즘 시스템들은 복구 명령어가 있지만, 펌웨어 업데이트 중 시스템이 갑작스럽게 종료될 수 있기 때문이다.
- 극단적으로 아예 하지말라는 이야기도 있지만 이것은 과거의 이야기이거나 워크스테이션/서버와 같은 24/7/365보장을 해야하는[4] 시스템들 이야기고, 심지어 이런 시스템들조차 출시된지 얼마 안 된 모델일 경우 버그가 산적해 있어서 바이오스 업데이트를 해주는 것이 좋다. 특히 OS 버전이 바뀔 때는 새로운 OS와 관련된 호환성 문제가 해결되는 케이스도 많기 때문에 해주는 것이 권장된다. 또한 최근 이슈화 되는 보안관련 문제도 업데이트로 해결하고 있다.
- 요즘 고급 보드들은 부팅 없이 USB 메모리에서 업데이트 파일을 바로 읽어서 업데이트 하는 기능이 있긴 한데, 제약이 심하기 때문에 미리 준비해서 정상 동작을 확인해두지 않으면 정작 필요할 때 낭패를 보기 쉽다.
2. GPT
BIOS 시절부터 사용한 MBR(Master Boot Record) 기반 파티션 테이블은 주 파티션을 최대 4개까지밖에 잡을 수 없고 그 이상으로 나누려면 논리 파티션을 사용해야 한다. 문제는 OS와 부트 로더가 지원하지 않으면 주 파티션에 설치된 OS로만 부팅 가능하며, 전체 디스크 크기가 2.2TB를 넘어가면 초과분부터는 무슨 짓을 해도 해당 공간을 사용할 수 없다.
GPT(GUID Partition Table)는 파티션 정보를 기록하는 방식을 변경하여 주 파티션과 논리 파티션의 구분을 없애고 2TB를 초과하는 디스크도 사용할 수 있게 되었다. GPT에 기록되는 정보가 더 많기 때문에 MBR과 GPT는 서로 호환되지 않는다. 따라서 파티션 테이블 구조를 변경하려면 해당 디스크의 모든 파티션 테이블을 지워야 하기 때문에 데이터가 손실된다. 윈도우 기준 명령 프롬프트로 가서 diskpart-select disk=?-clean-convert GPT 명령으로 파티션 테이블 구조를 변경할 수 있다.
GPT 디스크로 부팅하려면 EFI가 필요하지만 장치에서 BIOS가 아닌 EFI 펌웨어를 사용하기만 한다면 MBR 디스크로도 EFI 부팅이 가능하다. 가령 예를 들면, EFI 부팅용 USB의 경우 보통 MBR 파티션 테이블을 사용한다.
그렇다면 반대로 GPT 디스크에서 BIOS 부팅을 시키는 것은 불가능하냐면... '''되긴 한다'''. 다만 이건 BIOS에 디스크가 MBR이라고 사기를 치고 GRUB이 원래대로라면 EFI 펌웨어가 해 줘야 하는 디스크 인식 같은 귀찮은 일을 대신 해주니까 가능한 거다. 편법은 엄연히 편법이고, 스펙상으로는 안 되는 게 맞으며, 윈도에서도 안 된다.
2.1. GPT 사용법
일단 GPT 부팅은 메인보드가 UEFI/EFI를 지원해야 한다.
윈도우 10의 경우 설치하려는 디스크가 MBR을 이용한다면 GPT로 전환한 다음에 설치해야 한다. 일단 기존 데이터를 모두 다른 저장소에 옮겨 놓고 포맷 후 GPT로 초기화하거나, 변환 명령어로 MBR에서 GPT로 변환해야 한다.
윈도우 10 크리에이션 툴 다운로드 페이지에서 윈도우 10을 다운로드 받아 부팅 가능한 USB 메모리로 만든다.
단 윈도우 정품을 ESD가 아닌 패키지로 구매했을 경우 위 과정이 생략되는데, 정품 패키지에 담겨 있는 USB를 그대로 꽂으면 되기 때문이다.
참고로 이런 윈도우 정식 USB 메모리는 무조건 FAT32로만 포맷되어 있는데, 일부 구형 메인보드가 UEFI 모드에서 FAT32 부팅만 지원하기 때문이다. 그래서 내용도 잘 보면 한 파일의 용량이 4GB가 되지 않도록 세심하게 배려해 놨다. 이는 FAT32의 특성상 한 파일의 크기가 4GB를 넘길 수 없기 때문이다.
정확히는, FAT32는 의무 필수 지원이라 어떤 구형 제품도 무조건 지원하는 반면, NTFS, ext4 등 나머지 규격으로 포맷된 파티션에서의 부팅 지원은 '옵션'이기 때문에 윈도우용 제품이면서도 NTFS 부팅도 지원 안 하는 막장 제품들이 있는 거다. 후술할 파티션 나누기와 윈도우 부트 매니저 설정도 사실 이것 때문에 생긴 꼼수이기도 하다. FAT32 부팅만 지원하는 보드에서 호환성 문제를 피하기 위해서 부트로더는 FAT32로 포맷된 전용 파티션에 따로 격리해 놓은 것이다. #
메인보드에서 지원한다면 NTFS로 바로 부팅도 가능하지만 호환성이 낮기 때문에 별 의미는 없다. #
그리고 윈도우 설치용 USB 메모리를 컴퓨터에 꽂은 후 Delete 키, F2 키, F11 키, F9 키, Esc 키 등으로 펌웨어 설정으로 들어간다. 그리고 부팅 우선순위에 가보면 USB 메모리를 UEFI와 BIOS, 두 가지로 부팅할 수 있는데 UEFI USB 부팅 메모리를 부팅 첫 번째 우선순위로 바꾸고 설정을 저장하고 나온다. 메인보드 제조사에 따라 UEFI 부팅을 원할 시, UEFI 옵션만 별도로 켜야 하는 경우도 있다. 그냥 F12나 F11 누르고 부팅 순서만 바꾸는 것이 훨씬 더 편할 것이다.
컴퓨터를 다시 부팅하여 윈도우 10을 설치한다. 기존 파티션을 모두 지운 후 GPT 파티션으로 새로 생성한다. 자동으로 파티션 1은 499MB의 복구 파티션을 만들고, 파티션 2는 100MB의 시스템 파티션(이름은 EFI이며, 상술한 부팅 지원 문제 때문에 무조건 FAT32로 포맷되어 있다), 파티션 3은 16MB의 MSR(예약) 파티션을 만들고, 나머지는 전부 파티션 4로 만든다. 만약 D 드라이브를 별도로 만들려면 파티션을 생성할 때 두 번째 드라이브의 용량만큼을 빼서 기입하면 된다.
보통은 윈도우 설치가 끝나면 자동으로 부팅 우선순위 1위가 윈도우 부트 매니저로 지정된다. 만약 설치 후 재부팅이 끝났는데 다시 설치 화면이 나온다면 부팅 우선순위 설정 항목으로 들어가 윈도우 부트 매니저를 1위로 설정한다.[5] 그리고 설치가 끝났으므로 FastBoot를 켜도 된다. 윈도우 10으로 부팅이 끝났다면 초기 설정 후 사용하면 된다.
메인보드에서 GPT 부팅을 지원하지 않고 OS에서는 지원한다면 GPT 형식의 저장용 디스크로서의 사용은 가능하다.
3. Fastboot
Fastboot는 부팅 중에 USB 부팅 디스크, 그래픽 카드 등의 레거시 BIOS 코드의 로드를 생략하고 향상된 코드가 탑재되어 있는 전용 UEFI OpROM으로 주변 하드웨어의 펌웨어와 Fastboot 기능을 지원하는 운영 체제의 코드를 일부 가져와 메인보드 EFI 상에서 빠르게 부팅시켜 부팅 속도를 단축시키는 기능이다. UEFI 방식으로 Windows 8 이상을 설치했을 때에만 활성화가 가능하다. UltraFastboot+SSD+UEFI 지원 운영 체제 조합으로 '''우사인 볼트급'''의 부팅 속도를 체험할 수 있다.''' 심지어 인텔 아이비브릿지 펜티엄 G2030+4GB RAM이라도 SSD+Windows 10이라면 10초는커녕 5초도 안 되어 암호 입력 화면으로 넘어간다. 암호를 정해 놓지 않았다면, 바탕 화면으로 직행한다.'''[6]
Fastboot를 제대로 사용하려면 일단 그래픽 카드나 RAID 카드와 같은 PCIe 확장 카드도 UEFI OpROM을 지원해야 하며 그를 지원하는 운영체제도 필요하다. 메인보드에서 하드웨어를 초기화할 때 OpROM을 실행시킬 수 있어야 부팅 과정에서 하드웨어를 사용할 수 있다. UEFI OpROM은 기존 BIOS OpROM과 호환되지 않기 때문에(기존 16비트 바이너리와 64비트 바이너리가 호환이 될 리가 없다.) 확장 카드에 BIOS OpROM만 있으면 UEFI Fast Boot 설정 시 하드웨어를 사용할 수 없다. 2013년 이전 출시된 그래픽 카드는 VGA BIOS만 있고 UEFI GOP(Graphics Output Protocol) 펌웨어를 생략하는 경우가 있다. 이런 그래픽 카드를 사용하면 UEFI Fast Boot를 사용할 수 없고 아래의 CSM 모드를 사용해야 한다. 그래픽 칩셋이 지원한다면 구형 그래픽 카드라도 UEFI 펌웨어를 제작하여 심는 방법으로 Fast Boot를 지원하게 할 수는 있다. 서버에서 사용하는 RAID 카드 등 확장 카드도 UEFI OpROM이 없으면 해당 카드를 부팅 중에 사용할 수 없다. 또한 OS도 Windows 8 이상부터 사용이 가능하다.
Fastboot 옵션이 켜져 있는 경우, 부팅 초기에 UEFI 펌웨어 진입 시간을 주지 않고 USB 부팅 디스크를 인식'''하지 않고''' OS 부팅 단계로 바로 넘겨버리는 탓에 윈도우 재설치를 못 하고 있다면 Fastboot 기능을 끄고 설치하면 된다. 윈도우 상에서 UEFI 설정으로 진입하려면 설정 내의 복구 모드를 통하거나 메인보드 제조사에서 제공하는 진입 도구를 사용하면 된다.
4. Secure Boot
UEFI Specification 2.2부터 지원하는 기능으로, OS 부트 로더가 검증된 인증서에 의해 디지털 서명되었는지를 검증하여 부팅 과정에서의 보안성을 높였다. 디지털 서명되지 않은 경우 또는 검증된 인증서에 의해 서명되지 않은 경우에는 부팅이 중단된다. 이 기능을 정상적으로 사용하려면 Microsoft Windows 계열에서는 Windows 8, Windows 8.1, Windows 10이 설치되어야 한다. 반드시 UEFI 모드로 설치할 것. Windows RT/Windows Phone 탑재 장비는 모두 이걸 켜고 나오고 사용자가 끌 수 있는 방법이 없기 때문에 서피스 RT나 루미아의 커스텀 펌웨어가 거의 안 나오는 이유이기도 하다.
Windows의 경우 드라이버의 서명 또한 영향을 주게 되는데 Secure Boot 가 켜진 상태에선 펌웨어에 등록되어 있지 않은 인증서로 서명되어 있거나 서명되지 않은 드라이버의 로드를 중단시켜 변조된 드라이버의 실행을 방지한다.
대부분의 Windows용 드라이버는 WHQL등으로 서명되기 때문에 일반적인 사용 환경에서는 문제가 되지 않는다.
Linux 배포판 중에서는 페도라, 우분투, openSUSE가 해당되는데, 페도라 항목을 보면 알겠지만 FSF/GNU 진영에서는 M$에 돈을 바쳤다고 일단 까고 시작한다. 또한 이것이 켜지면 UEFI 제조자와 협약이 되지 않은 부팅 프로그램들은 모조리 보안 오류가 뜨면서 작동하지 않으므로 커스텀 리눅스와 해킨토시를 설치할 수 없다. 그 많은 판본들을 다 보안 서명 협약을 맺을 수는 없기도 하고, 그리고 이념적인 감정도 있는 지라 Secure Boot를 끄기도 하는 상황이다.
여담으로 노트북 사용자 중 스팀(플랫폼)을 통해 소스 엔진 게임을 구동할 경우 그림자 옵션이 보통이나 낮음으로밖에 선택할 수 없는 경우가 있다. 이를 해결하기 위해선 바이오스 설정에 들어가서 Secure Boot 옵션을 꺼두면 해결이 된다고 한다. AMD의 StoreMI 역시 Secure Boot를 꺼야 작동된다.
또한 Secure Boot는 UEFI 제조자와 미리 서명 인증 협약이 되어있는 운영 체제 같은 부팅 프로그램에서만 정상 작동하므로 (안 된 것들은 보안 오류가 뜬다.) 그것이 돼있지 않은 커스텀 리눅스 같은 것을 설치하려면 끄거나 따로 만든 인증서와 그 인증서로 인증한 부트 로더, 그리고 EFI 펌웨어에 해당 인증서를 올리거나 이 방법을 이용하면 된다. 물론 인증서를 임의로 등록하는 기능이 없는 메인보드라면 불가능하다. 주로 보드 자체의 롬 칩의 용량이 적은 보드나 OEM 보드의 경우가 해당된다. 여기를 참고해도 좋다.
5. UEFI Class
- UEFI Class 0
- UEFI Class 1
- UEFI Class 2
- UEFI Class 3
- UEFI Class 3+
6. CSM
'''C'''ompatibility '''S'''upport '''M'''odule
호환성 지원 모듈
UEFI를 완전히 지원하지 않는 OS(Windows 7이하, GRUB 2를 사용하지 않는 리눅스배포판들이 여기에 해당)나 x86 레거시 모드, DOS 구동을 위해 기존 레거시 바이오스의 16비트 바이너리 및 그래픽 카드 BIOS, 네트워크 PXE 부팅 롬, 기타 PCI 장치 등 외부 장치의 Option ROM을 지원하는 기능이다. 이 기능의 탑재로 인해 바이오스가 완전히 죽진 않고 최소한의 기능으로 탑재되어 있었다.
대부분 메인보드가 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의 기능들을 Windows 8.1과 Windows 10이 나오고, 인텔은 2020년까지 개인 PC든 서버용 컴퓨터든 CSM을 흔적도 없이 날려버린 UEFI Class 3를 도입할 예정이다. 이제는 UEFI를 온전히 지원하지 않는 OS들의 수명이 끝나거나, 얼마 남지 않아 CSM 모드가 잘 사용되지 않음으로써 필요 없는 공간만 차지하고, 레거시 코드 자체가 오래되어 보안에 취약한데다 Secure Boot 기능을 온전히 사용할 수 없게 되어 그로 인해 부팅 시 악성 코드가 몰래 실행되어 보안에 악영향을 끼칠 수도 있어 해당 레거시 지원 기능을 없애버릴 예정이다. 대부분 CSM으로 OS를 설치한다는 것은 인증서가 없는 구식 OS를 설치하게 되는 것이므로 Secure Boot를 끌 수밖에 없는 상황이 나오는 것이다.[7] 조만간 AMI, Phoenix, Insyde 같은 UEFI 제조업체는 좋든 싫든 해당 기능을 제거한 UEFI를 제작할 상황에 처하게 되었다. # UEFI는 인텔이 독자적으로 개발하여 개방한 규격이다. 당연히 제조업체 입장에서는 최고 개발 위치인 인텔의 말을 듣는 수밖에 없고, 게다가 인텔이 x2xx 칩셋부터 Windows 10 미만의 OS들에 대한 공식 지원을 드롭시킨 탓에 더더욱 지원할 이유가 사라졌다.
2019년부터 제작되는 대기업 OEM PC나 노트북의 경우는 메인보드에 CSM 기능이 제거된 채로 제작되고 있다. 2020년 3월 구입한 노트북을 확인해본 결과, CSM기능이 제거되어 있고 UEFI 부팅만 가능함.
다만 하위 호환이 굉장히 중요한 서버 보드 같은 경우에는 듀얼 바이오스 비슷하게 롬 칩을 두 개 심는 식으로 대응할 가능성도 크다. 하나는 UEFI, 하나는 BIOS 칩으로 해서 점퍼 같은 걸로 물리적인 방법으로 전환하는 식이다.
2020년 이후부터는 UEFI 클래스 3+가 전면 도입되어 CSM이 완전히 사라질 예정이다. 구형 OS 사용을 희망하는 사람들에겐 날벼락이지만 이런 구형 시스템 때문에 문제시되는 보안문제에서 더 자유로워질 것으로 보인다. 구형 OS는 VirtualBox 등의 가상 머신으로 구동이 가능하다.
7. 제조사
7.1. 제조사별 UEFI 화면
[image]
AMI Aptio의 기본 UEFI 화면
[image]
Insyde H2O UEFI 화면
[image]
ASUS MAXIMUS VIII 마더보드 시리즈의 UEFI 화면
[image]
GIGABYTE GA-Z77-D3H 메인보드의 UEFI 화면. 마더보드마다 다르지만 대부분 한국어를 지원한다. 위 사진의 ASUS도 한국어 설정은 가능하나 반글화이다. 문제는 바탕체. 사실 AMI GUI UEFI를 쓰는 다른 제조사도 별반 다르지 않다. 그리고 기가바이트는 ASUS가 반글화면 1/8글화이다.
[image]
DELL PowerEdge R720 서버의 UEFI 화면. Phoenix의 서버 및 워크스테이션 전용 UEFI 플랫폼인 Servercore를 사용했다.
7.2. 제조사 목록
- American Megatrends International LLC (ami) 중저가 노트북 시장을 제외한 사실상 현 UEFI 시장을 반 독점하였다.
- UEFI 시장에 가장 먼저 적극적으로 개입하면서 사실상 현 UEFI 시장을 장악했다 해도 무방하다.
- AMI BIOS가 다양한 기능 커스텀을 내세웠다면, AMI Aptio는 GUI 커스텀을 자유롭게 할 수 있어 너도나도 가릴 거 없이 전부 개성 있게 커스텀하여 사용한다. (다양한 커스텀은 Aptio V 시절부터, 4 시절에도 커스텀이 가능했으나 고전적인 BIOS 레이아웃에서 벗어나지 않았었다.)
- Aptio는 Aptio4, AptioV 버전으로 또 나뉜다. Aptio4 는 EDK I ~ EDK II초반에 사용된 버전이고 AptioV 버전부터 EDK II를 본격적으로 지원한다.
- Aptio4는 TSE(TUI) , GTSE(GUI 이나 레이아웃이 고전 BIOS처럼 구성됨) , Win8Style(GUI) Setup 엔진을 지원하고, AptioV 부터 TSE(TUI), GTSE(GUI) , Win8Style(GUI) 외에도 ESA(GUI) Setup 엔진을 지원한다. 요즘 ASUS, GIGABYTE, MSI, ASROCK 보드 등에서 화려한 Setup 화면을 보여주는데 이는 ESA Setup 엔진을 사용 하여 만든 것이다. Aptio4, AptioV 두 버전 모두 TUI인 경우 레이아웃이 동일하다.
- 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 쪽에서 대응이 늦어 점유율이 확 떨어져 콩라인을 다투는 상황이 되긴 했지만, 그래도 안정성 등에서 Insyde와 비교할 메이커는 아니다. 2019년 현재도 비즈니스 랩톱으로 유명한 ThinkPad 브랜드는 피닉스 바이오스만 들어간다.
- 애초에 일반인들에게 피닉스 바이오스는 기능적으로 부족한 바이오스라는 인식이 있다. 설정 화면이 겉보기에는 허접해 보이는 데다 Award-Phoenix 브랜드를 폐기한 게 크다. 실제로는 피닉스 바이오스는 안정성에 몰빵하여 OEM에 전문으로 납품하는 브랜드였고, 흔히 컴덕후에게 유명한 ASUS나 GIGABYTE 같은 조립 시장에 납품되던 건 Award-Phoenix의 모듈러 바이오스였다. 컴덕들도 착각하는 게 기능이 많다고 무조건 좋은 게 아니다. 왜 기능적으로는 별 거 없는 ThinkPad의 바이오스를 극찬하는 사람들이 존재하는 지 생각해 봐야 한다.
- 피닉스는 과거에 ServerBIOS란 브랜드로 서버에는 닥치고 피닉스라던 시절도 있었다. BIOS 시절에는 AMI 바이오스가 탑재된 서버는 폐기물이라 칭하는 사람도 존재했다.
- 일반 PC용은 SecureCore를 사용하며, 서버나 워크스테이션용 펌웨어는 ServerCore를 사용한다. 후자 쪽은 주로 델이나 레노보 등에서 많이 쓰이고 있다.
- Apple Inc.
- 인텔 프로세서가 탑재된 Mac에서는 Power Macintosh 시절 사용되던 Sun Open Firmware 대신 EFI를 채용하였다. 초기 EFI 도입의 선두 주자다.
- 물론 macOS를 구동하기 위한 목적으로 커스텀되어 있으며, 오직 애플 매킨토시에서만 돌아간다. 이것의 작동을 일반 PC에서 흉내 내기 위해 개발된 것이 해킨토시용으로 사용되는 클로버 부트 로더이다. 보안칩 미탑재 MacBook 계열/iMac/Mac Pro에서 나는 특유의 부팅음도 EFI로 구현한 것이다. 고객지원 사이트에도 EFI 부팅음이라고 명시되어 있다.
- Mac 컴퓨터에서 부트캠프를 이용해 Windows를 구동할 때는 기본적으로 CSM 모드로 동작했다. 최근 출시된 인텔 맥에서는 부트캠프 없이 Windows의 UEFI 부팅이 가능하나, 부트캠프 없이 직접 USB나 DVD로 설치해야 한다.
- TianoCore
8. 기타
UEFI NES 게임구동 영상. 어떤 양덕의 UEFI 셸을 이용한 NES 구동 영상이다.
UEFI GAME BOY COLOR 에뮬레이터 구동영상.
UEFI DOOM2 구동영상.
[1] (위키백과 참조)[2] GM4x/PM4x(센트리노2)계열 칩셋이 탑재된 모델 및 그 이후 모델들. 넷북 라인업은 NC110-Pxx/PRORO(NC110P)에만 탑재. 구분하는 방법은 바이오스의 Advanced메뉴에 Legacy OS Boot라는 항목이 있는지 확인하면 된다. 상술한 NC110-Pxx 및 2세대 i시리즈 계열 탑재모델들은 제외. 해당 모델들은 UEFI관련 항목이 따로 있다.[3] 2세대 i 시리즈 시절에 나온 초창기 UEFI인 경우 기존 BIOS처럼 원도우 로고가 나오는 경우도 있다. 1세대 i시리즈 및 코어 2 시리즈 시절에 나온 모델들 중 EFI지원이 가능한 모델에서도 윈도우 로고로 나오며, 코어 2 시리즈의 경우는 '''비스타 부팅화면'''이 나온다.[4] 말 그대로 365일 24시간 주7일 돌아가는 것을 뜻한다. 무정지를 보장해야 한다는 이야기이다.[5] EFI시스템인 경우 기존 BIOS처럼 윈도우가 설치된 디스크를 1순위로 잡아주면 된다.[6] '''HDD+윈도우 10+8GB RAM+인텔 샌디브릿지 코어 i3'''를 탑재한 구닥다리 컴퓨터라도 UEFI를 적용하면 '''30초 이내에 바탕 화면으로 직행'''하는 수준이다. 그 정도로 부팅 완료 체감 시간이 상당히 빨라진 것인데, UEFI 도입 이전에는 부팅 시간'''만''' 최단 40초, '''최장 1분 30초'''였다.[7] 아니면, ISA#s-1 슬롯에 꽂아야만 작동이 가능한 구형 장비들은 하드웨어에 직접 접근하여 제어를 하는것이 핵심인데 Secure Boot를 끄고 CSM 모드를 켜는것은 필수불가결하다. Secure Boot를 끄지 못하고 CSM 모드를 켤 수 없으면 하드웨어로 직접 접근제어를 해야만 사용 가능한 구형 장비들은 필연적으로 생명력을 잃게 된다.