이것저것/My_Work

EFI (Extensible Firmware Interface)

우담바라 2009. 4. 15. 15:30



비교적 과거에는 간단한 설계로 구성됐던 바이오스이지만 현재는 빠르게 변모하는 PC 신기술에 맞춰 바이오스의 변화도 불가피한 상태다. 엎친 데 덮친 격으로 바이오스를 대체하기 위해 새로운 펌웨어 기반의 EFI까지 등장했으니 말이다. 새롭게 등장한 EFI. 과연 20년간 PC계를 지배해온 바이오스의 독주를 멈출 수 있을지 PC라인에서 알아봤다.


1. 메인보드의 두뇌 바이오스
바이오스(BIOS)란 ‘Basic Input/Output System’의 첫머리만 딴 것으로 메인보드에 탑재돼 메인보드 본체와 이에 장착된 주변기기 등의 하드웨어를 제어하는 역할을 한다. 정확히 말하면 하드웨어도 아니고, 소프트웨어도 아닌 펌웨어로 볼 수 있다. 또 메인보드 BIOS를 설명할 때면 절대 빠질 수 없는 것이 바로 ‘시모스(CMOS)’다. 시모스는 ‘Complementary Metal Oxide Semiconductor’의 준말로 상호보완적 금속 산화물 반도체라는 뜻을 갖는다. 전문용어로 보면 복잡한 내용이지만 쉽게 풀이하면 바이오스의 데이터가 저장되고 읽혀지는 것이 바이오스의 롬이라고 보면 쉽게 이해된다.

내부에 바이오스의 내용을 담고 있고 PC의 하드웨어 컨트롤에 필요한 기초 정보를 저장 및 수정하는 역할을 한다. 이는 윈도우나 리눅스 같은 운영체제가 PC 전원이 켜짐과 동시에 하드웨어를 인식하고 제어할 수 없기 때문이다. 메인보드에 탑재된 바이오스가 운영체제 진입 전 하드웨어의 상태를 파악하고 운영체제에서 정상적으로 인식될 수 있도록 중개 역할을 해준다.

바이오스는 PC의 전원을 넣으면 그 기능을 시작한다. 최초 설정된 대로 바이오스는 모든 하드웨어들을 체크하게 되며 모든 장비의 체크 및 초기화가 완료되면 윈도우나 리눅스 같은 운영체제에 모든 권한을 넘겨주고 자신의 역할을 끝내는 것이다. 전원을 넣었을 때 화면이 뜨면서 메모리 체크나 하드디스크, CD-ROM 체크를 하는 것을 쉽게 볼 수 있는데 이 화면이 바로 바이오스의 역할을 보여주는 단적인 예다.
 

메인보드의 두뇌라 할 수 있는 바이오스. PC를 좀 다룬다는 이들은 자신의 PC에 문제 발생 시 가장 먼저 바이오스를 찾게 된다. 

2. 골동품으로 전락해버린 바이오스
PC를 사용하다 보면 간혹 사소한 오류나 하드웨어 설정 때문에 시모스 설정을 변경해야 되는 경우가 있다. 비교적 간단한 부팅 순서 및 날짜, 시간 등의 기본 정보는 물론 각 하드웨어의 세부설정 값까지 조절할 수 있지만 PC 지식이 어느 정도 없다면 손대기조차 어렵다. 게다가 대부분 영어 혹은 중국어 등의 외국어만 지원하고 있어 외국어를 잘 구사할 줄 모르는 이들에겐 한국말이 이토록 그리울 때가 없다.

하지만, 이런 바이오스의 단점이 개선되고 이를 대신할 새로운 바이오스 형태 EFI(Extensible Firmware Interface)가 적용된 메인보드가 출시됐다. 기존 바이오스를 통해 어려움을 겪던 PC 사용자들에겐 분명 희소식이다. 게다가 EFI는 사용자가 알 수 없던 외국어를 한국어로 바꾼 단순 번역의 의미를 초월해 다양한 편의를 제공하니 더욱 그럴 것이다.

사실 바이오스가 처음 적용됐던 IBM PC가 등장한 이래 20년이 지난 현재까지도 바이오스에는 눈에 띌만한 변화가 없었다. 파랑색 바탕에 텍스트 기반의 펌웨어 방식, 제공되는 설정 메뉴들까지 하루에도 수십 번 바이오스를 들락날락하는 이들에겐 지루함까지 줄 정도다. PC 사용자 입장에서 봤을 때 과거 PC 제품들과의 호환성은 상당히 중요한 요소 중 하나다. 하지만 각 부품의 성능까지 깎아먹으면서 호환성을 두둔한다면, 미안하지만 노땡큐(No, Thank you)다.

불과 몇 년 전부터 빠르게 보급된 USB 방식, 익스프레스 카드 등 입출력 인터페이스에는 과거야 어째든 호환성은 뒤로한 채 새로운 규격을 접목시켜 획기적인 성능을 도모해올 수 있었다. 반면 전체 PC에 장착되는 하드웨어를 제어하고 정상 작동될 수 있도록 관리하는 펌웨어에 관해서는 소홀했던 것이 사실이다. 

인텔의 주요 기술 엔지니어 마크 도란이 지난 2004년 진행됐던 ‘IDF 2004’에서 바이오스를 현시대 PC에 절대 어울릴 수 없는 골동품이라고 언급한 적이 있다. 이 말은 즉 나날이 증가하고 빠른 속도로 향상되는 PC 하드웨어 기술에 반해 바이오스에서 받쳐주는 기능과 기술들이 과거 16비트 PC에서 적용되던 것들과 큰 차이가 없다는 것이다. 때문에 그는 이런 구식의 바이오스가 현재 PC 하드웨어가 구현할 수 있는 성능을 100% 구현하는데 역부족이라고 지적했다.
 

구형 16비트 PC. 텍스트 기반의 바이오스 설정 메뉴 화면. 과거에 것과 비교해 크게 달라진 점이 없다.

3. 최대 용량 18EB 까지 지원
그렇다면 도대체 과거 바이오스의 문제점은 무엇이고 EFI의 특징이 무엇인지 알아보자. 현재 메인보드에 탑재되는 바이오스를 제조하는 업체는 피닉스 테크놀러지(Phoenix Technologies)와 아메리칸 메가트렌드(American Megatrends Inc)로 일찍이 이 분야 최고로  자리매김했다. 특히 아메리칸 메가트렌드는 고성능의 PC 하드웨어와도 호환성이 높고 확장성이 용이해 메인보드 제조사와 사용자들로부터 높은 인기를 얻고 있다. 그러나 이런 바이오스들은 현재 출시되는 PC 하드웨어의 펌웨어로는 적합하지 않은 문제점이 있다.

우선 바이오스의 기능을 증설하는데 한계가 있다는 점이다. 과거 개인용 IBM PC 플랫폼에서 1MB의 메모리 공간을 640KB와 384KB에 분할시켜 640KB 용량을 메인 메모리에 그리고 384KB 용량은 바이오스에서 사용되는 구조다.

오랜 세월에 걸쳐 PC용 주변기기들의 종류는 증가했고 처음 부팅시 정상적으로 사용되기 위해 요구하는 사양이 현재 바이오스가 지원하기엔 부족하기에 이르렀다. 또 당시 인텔과 HP가 개발하려 했던 서버 플랫폼 ‘아이테니엄(Itanium)’에는 메모리 용량의 물리적 한계로 채용할 수 없다는 문제점이 노출되었다.   

이런 바이오스의 단점을 개선하기위해 설계된 것이 바로 EFI다. 첫 공개는 2000년 12월 12일에 인텔이 공개하면서다. 버전 1.02부터 몇 가지 상세한 기능 강화와 EFI 드라이버 모델이 기재되기 시작했고 이후 아이테니엄 시리즈 IA-64 플랫폼에 채용되며 이를 지원하는 64비트 운영체제에 적용되기 시작했다.

EFI는 EFI 변수, 시스템 시각의 관리, 시스템의 리셋 등의 조작을 실행하기 위한 런타임 함수라고 하는 기능을 제공한다. 부트 로더(Boot Loader)로서 기존의 MBR(Master Boot Record)을 대신해 128비트로 구성된 GUID(Globally Unique Identifier) 파티션 테이블(GPT)도 지원한다.

이 GUID 파티션 테이블은 64비트의 섹터 주소(Sector Address)를 이용할 수 있어 MBR의 기본 영역 4개와 2TB의 용량을 훌쩍 뛰어넘는 18EB(1EB=1,024TB)의 저장장치 용량을 장착할 수 있다. 또 이 저장용량을 128개의 파티션으로 구분 지을 수 있어 저장 공간으로 골머리 썩히던 문제에서 벗어날 수 있게 됐다.
 

바이오스 펌웨어 분야 최고로 인정받는 AMI와 피닉스사의 메인보드 바이오스. EFI를 통해 용량 무제한 시대에 접어들 것으로 예상된다. 

4. 또 하나의 운영체제 ‘Pre OS’
EFI는 오픈 소스 쉘 환경을 제공한다. 이것은 마이크로소프트의 윈도우 시리즈나 리눅스 등의 일반적인 운영체제에 진입하지 않더라도 연결된 장치 드라이버를 제어해 사용할 수 있는 것을 말한다.

쉽게 말하자면 설치된 운영체제 없이도 시스템 진단이나 설정, 시스템의 플래시 롬 업데이트 등 기존 바이오스에서 구현하기 힘든 다양한 기능을 제공한다. 특히 CD나 DVD 재생을 통해 음악 및 사진 감상은 물론 쉘의 명령어를 통해 EFI 탑재된 시스템 간 파일을 복사나 파일 이동이 가능하다. 또 네트워크 장치를 통해 인터넷 접속도 가능해 만약 설치된 운영체제가 손상돼 사용하지 못할 경우 상당히 유용하다.

이런 모든 기능들은 운영체제와 하드웨어 장치 드라이버 사이에 위치한 EFI가 Pre OS라는 기능을 제공하기 때문이다. 게다가 하드웨어 장치가 부팅시 정상적으로 인식됐는지 확인하는 초기 과정이 대폭 줄어 시스템의 부팅 시간을 크게 단축시킨 점도 눈에 띄는 특징이다. 그리고 윈도우 운영체제에서처럼 마우스를 지원하고 설정 창에 화려한 이미지(GUI 환경 기반)가 등장했다는 점도 빠질 수 없는 부분 중 하나다.

EFI의 장점

- GUI 인터페이스 지원
- EFI 상에서 마우스 사용 가능
- Pre-OS 소프트웨어 구동으로 운영체제 없이 시스템 복구 및 게임 등의 다양한 기능 구현
-  랜카드 인식 가능
-  다국어 지원 (한국어 지원)
 
운영체제와 하드웨어 사이에 존재하는 EFI . 예나 지금이나 운영체제의 부팅 속도는 절대 빠질 수 없는 요소 중 하나다.

5. 실제 EFI 접해보기
백문이 불여일견이라 했다. 앞서 설명한 EFI의 특징들을 직접 확인해보자. MSI가 최근 바이오스 방식의 펌웨어가 아닌 EFI를 실제 적용시킨 메인보드 EFINITY 시리즈를 출시했다. 텍스트 기반이 아닌 그래픽 유저 인터페이스 기반에 설정 메뉴와 한국어 포함 총 6개의 다국어를 지원하고 있는 것이 특징이다.

기존 바이오스 설정메뉴에서 볼 수 없던 GUI 기반에 EFI 설정 메뉴 화면. 메뉴 구성 자체는 기존의 바이오스와 크게 바뀌진 않았지만 한글 지원과 마우스 사용으로 국내 사용자들의 편의성을 높였다.
입력장치로는 키보드 외에도 마우스를 사용할 수 있고 랜카드 인식과 Pre-OS를 통해 라이브 업데이트, 게임 등 기존 바이오스에서 구현할 수 없던 한 단계 진보된 작업을 구현할 수 있다. 처음 전원을 입력하고 ‘EFI BIOS’로 불리는 설정 메뉴로 진입해봤다. 기존 바이오스에서 설정 메뉴 진입시 사용되던 DEL 또는 F2키를 사용했다. 바이오스를 탑재하는 기존의 메인보드 제품들과 유사한 모습의 ‘EFI BIOS’ 메뉴가 표시됐다. 
 
화면에 나타난 메뉴 항목 자체는 게임과 하드디스크 백업을 실행할 수 있는 ‘EFINITY Extras’를 제외하고 기존의 바이오스와 큰 차이는 없다. 다만 디자인적으로 그래픽 요소가 가미돼 사용자로 하여금 기존 바이오스의 거부감을 없앴다. 각 메뉴의 모든 설정은 마우스로 조작할 수 있어 윈도우를 사용하는 느낌을 준다. 참고로 마우스 왼쪽 클릭은 키보드의 엔터키와 동일하고 마우스 오른쪽 클릭은 ESC키에 해당된다.

전체 메뉴를 둘러보면 아직 EFI의 초기 버전이여서인지 크게 획기적이진 않다. 새롭게 추가된 EFINITY Extras 메뉴를 들어가 봤다. 현재 제공되는 기능에는 게임과 하드디스크의 백업 기능이 존재했다. 
 

하드디스크 백업 기능은 별도의 운영체제 없이도 하드디스크의 데이터를 백업하고 복원시킬 수 있다. 비록 그래픽 요소와 구성이 떨어지지만 주목해야할 부분은 게임이 아닌 EFI에서 CD 롬이나 DVD 롬 등의 광학 드라이브를 사용할 수 있다는 점이다.

각 기능을 구동시키기 위해 기본 제공되는 EXTRA CD를 삽입시켜 실행했다. 하드디스크 백업 기능은 파티션별로 나뉜 하드디스크 전체를 백업시키고 복원할 수 있었다. 이미 윈도우 XP나 윈도우 비스타에서도 제공하는 기능이지만 바이러스나 악성코드로 인해 운영체제 진입조차 못할 경우에는 유용한 기능 중 하나임에 틀림없다.

또 함께 지원하는 3종류의 게임은 게임 CD를 삽입시켜 실행시킬 수 있었다. 번들용 게임인 만큼 그래픽 요소와 구성이 형편없지만 주목해야할 부분은 게임이 아닌 펌웨어 방식의 EFI에서 CD 롬이나 DVD 롬 등의 광학드라이브를 지원한다는 점이다. 이는 기존 바이오스에서 구현할 수 없었던 기능으로 향후 EFI를 적용시킨 메인보드 제품들의 기술 혁신을 촉진시킬 것으로 예상된다.  
 

MSI의 독자 오버클럭 기능인 D.O.T다. 각 오버클럭의 향상 폭을 군대 계급으로 표기해 사용자가 쉽고 빠르게 오버클럭을 접해볼 수 있게 했다. 부팅 순서 설정 메뉴에서 볼 수 있는 ‘Built-in EFI Shell’. 리눅스의 텀(Term)과 윈도우의 DOS 콘솔과 유사하다.

이 외에도 특이했던 기능은 부팅 순서 설정 메뉴에서 볼 수 있는 ‘Built-in EFI Shell’다.  이 EFI Shell은 응용 프로그램을 실행하고 EFI 프로토콜과 장치 드라이버를 인식해 간단한 스크립트를 실행하는데 사용되는 콘솔 인터페이스다. 리눅스의 텀(Term)과 윈도우의 DOS 콘솔과 유사한 모습이다.

실행 가능한 명령어를 알고 있어야 하며 FAT16(VFAT)으로 포맷된 파티션만 사용 가능해 일반 사용자들이 접하기에는 다소 어려움이 따른다. 하지만 이 또한 기존 바이오스에서는 제공되지 않은 EFI만의 특징임은 분명하다.

사진 유정민 기자 artist@pcline.co.kr

[인터넷 웹 기사 발췌] 
원문 : http://www.ebuzz.co.kr/content/buzz_view.html?ps_ccid=56900