Unified Extensible Firmware Interface

Z Multimediaexpo.cz

Role Extensible Firmware Interface ve struktuře počítače

Unified Extensible Firmware Interface (UEFI, v překladu jednotné rozšiřitelné firmwarové rozhraní) je specifikace, která definuje softwarové rozhraní mezi operačním systémem a firmwarem použitého hardwaru. UEFI je určeno jako významně vylepšená náhrada zastaralého firmwarového rozhraní BIOS, které se používalo během celé historie IBM PC kompatibilních osobních počítačů.[1] Specifikace UEFI je spravována aliancí Unified EFI Forum, avšak původně byla vyvinuta společností Intel pod kratším názvem EFI.

Obsah

Charakteristika

UEFI je nový standard, který je oficiálně zaváděn z několika důvodů. Prvním a nejdůležitějším důvodem je podpora Secure boot (viz dále). Druhým důvodem je využití schopností nových procesorů a ukončení zpětné kompatibility s 16bitovými procesory 8086, které byly v prvních IBM PC kompatibilních počítačích. Třetím důvodem pak je podpora GPT, která umožňuje zavést operační systém z diskových oddílů (resp. pevných disků) větších než 2 TB (což je limit původního MBR).

Druhý a třetí výše uvedený důvod nemá reálný základ, protože již delší dobu existují varianty BIOSu, které tyto důvody řeší bez nutnosti zavádět zcela nekompatibilní UEFI standard (existuje 32bitový BIOS a existují BIOSy, které umí systém zavést z disků obsahujících GPT tabulku). Faktickým důvodem tak zřejmě je snaha prosadit Secure boot a omezit tak alternativní operační systémy (viz níže) a zavést do startu počítače podporu binárních ovladačů, kdy výrobce hardware nemusí nikomu sdělovat podrobnosti ovládání a nastavení hardware, což umožňuje lépe vynucovat DRM (Digital rights management) kvůli ochraně autorsky chráněného obsahu proti kopírování (písničky, filmy).

Secure boot

Secure boot je metoda, která umožňuje zajistit start počítače tak, že jsou použity jen „certifikované softwarové komponenty“. Fakticky jde o to, že při startu počítače jsou při zavádění do paměti kontrolovány elektronické podpisy (veřejný klíč musí být uložen v čipu UEFI nebo TPM), kterými musí být podepsán zavaděč, jádro systému, jaderné softwarové moduly a podobně (v Linuxu musí být například podobně chráněna i funkce kexec). V řadě Windows NT byla zavedena podpora secure bootu u Windows 8.

Přesto má UEFI kritické bezpečnostní problémy.[2] Obsahuje velká zadní vrátka (backdoor).[3]

Počítače, které jsou chráněny secure bootem, mohou zavést jen „certifikovaný“ operační systém, což působí problémy zejména alternativním systémům, jako je Linux. Proto Linux Foundation vytvořila vlastní UEFI Secure Boot system, který secure boot obchází.[4]

Historie

Původní záměr vytvořit EFI vznikl v počátcích vývoje prvních systémů Intel–HP Itanium v polovině 90. let 20. století. Pro platformu větších serverů, na které se Itanium zaměřovalo, byla považována omezení PC BIOSu (16–bitový režim procesoru, 1 MB adresovatelného místa aj.) za nepřijatelná. Pokus o řešení těchto problémů se nejprve nazýval Intel Boot Initiative a později byl přejmenován na Extensible Firmware Interface.[5]

EFI specifikace verze 1.02 byla vydána Intelem 12. prosince 2000. (Původní vydání 1.01 obsahovalo nesprávné právní údaje a informace o ochranné známce a bylo rychle staženo.[6])

EFI specifikace verze 1.10 byla vydána Intelem 1. prosince 2002. Oproti 1.02 zahrnovala ovladačový model EFI a mnoho menších vylepšení.

V roce 2005 Intel poskytl specifikaci UEFI Foru, které je nyní zodpovědné za vývoj[7] a propagaci EFI. To bylo přejmenováno na Unified EFI (UEFI), ale ve většině dokumentace jsou oba termíny zaměnitelné.

UEFI Forum vydalo 7. ledna 2007 UEFI specifikaci verze 2.1. Ta přidala a vylepšila šifrování, síťovou autentizaci a architekturu uživatelského rozhraní.

Implementace

Intel Platform Innovation Framework pro EFI

Intel Platform Innovation Framework pro EFI (známé také jako „Framework“) je soubor specifikací vyvinutých Intelem v souvislosti s EFI. Zatímco EFI specifikuje rozhraní operačního systému a firmwaru, Framework specifikuje strukturu používanou k vytvoření firmwaru pod rozhraním EFI.

Platformy používající UEFI nebo Framework

První pracovní stanice a servery Itanium od Intelu, uvedené v roce 2000, podporovaly EFI 1.02.

První systémy Itanium 2 od Hewlett-Packard, uvedené v roce 2002, podporovaly EFI 1.10. Bylo na nich možné provozovat Windows, Linux, FreeBSD a HP-UX, v červnu 2003 byla doplněna podpora v OpenVMS.

V listopadu 2003 uvedla firma Gateway svůj počítač Gateway 610 Media Center. Šlo o první počítačový systém platformy x86 s Windows, který používal firmware založené na Frameworku – InsydeH2O od Insyde Software. Bootování Windows stále záviselo na BIOSu, implementovaném jako compatibility support module (CSM, modul pro podporu kompatibility).

V lednu 2006 začala společnost Apple Inc. prodávat své první počítače Macintosh s procesory Intel. Ty používají EFI a Framework namísto Open Firmware, který byl používán na předchozích Macích s procesory PowerPC.[8]5. dubna 2006 vydal Apple aplikaci Boot Camp, která umožňuje instalaci Windows XP nebo Vista bez nutnosti přeinstalovat Mac OS X. Také byla vydána aktualizace firmwaru doplňující k EFI podporu BIOSu. Pozdější modely Maců ji již obsahují. Všechny nyní prodávané Macintoshe (mimo Xserve) tedy umožňují provoz operačních systémů vyžadujících BIOS jako například Windows XP nebo Vista.

Převážná většina základních desek Intelu se prodává s firmwarem založeným na Frameworku. Během roku 2005 bylo prodáno více než milion systémů od Intelu obsahujících Framework.[9] V roce 2006 se začaly prodávat nové mobilní, desktopové a serverové produkty používající Framework, například desky obsahující čipovou sadu řady Intel 945. Jejich firmware ovšem neobsahuje podporu EFI a je omezen použitím BIOSu.[10]

Od roku 2005 se EFI implementuje také na jiné architektury než IBM PC jako například vestavěné systémy založené na jádrech XScale.[11]

V roce 2007 uvedla společnost Hewlett-Packard multifunkční tiskárny série 8000 s firmwarem vyhovujícím specifikaci EFI.[12]

V roce 2008 přešlo na technologii UEFI mnoho systémů platformy x64. Ačkoli některé z nich stále podporují pouze bootování systémů vyžadujících BIOS pomocí CSM, jiné začaly podporovat bootování operačních systémů založených na UEFI. Jsou to například: server IBM x3450, základní desky MSI s ClickBIOSem, všechny notebooky a Microsoft Tablet PC řady HP EliteBook nebo novější notebooky HP Compaq (6730b, 6735b aj.) Plánuje se, že na přelomu let 2009 a 2010 bude více než 50 % počítačů platformy x86-64 založeno na UEFI.

Operační systémy

Operační systém, který podporuje bootování z (U)EFI, je podle (U)EFI specifikace nazýván (U)EFI-aware OS (tj. OS uvědomující si UEFI). Termín bootování z (U)EFI označuje přímé bootování systému s použitím (U)EFI OS loaderu uloženého na jakémkoli nosiči dat.

  • Linuxové systémy jsou schopné používat EFI pro bootování již od roku 2000 pomocí EFI bootloaderu ELILO nebo později EFI verzí GRUBu.[13]
  • HP-UX používá od roku 2002 (U)EFI jako způsob bootování na systémech IA-64.
  • HP OpenVMS používá (U)EFI od svého počátečního ověřovacího vydání v prosinci 2003 a pro produkční vydání od ledna 2005.[14]
  • Apple adoptoval EFI pro svoji linii počítačů Macintosh používající procesory Intel. Mac OS X verze 10.4 Tiger pro Intel a Mac OS X verze 10.5 Leopard podporují EFI verze 1.10 ve 32bitovém režimu, i s 64bitovými procesory. (Novější Macy mají 64bitové EFI.)[15]
  • Itanium ve verzích pro Windows 2000 (Advanced Server Limited Edition a Datacenter Server Limited Edition) podporovalo v roce 2002 EFI 1.10. Jako požadavek platformy podle specifikace DIG64 podporují EFI Windows Server 2003 pro IA-64, Windows XP 64-bit Edition a Windows 2000 Advanced Server Limited Edition, vydané pro rodinu procesorů Intel Itanium.[16]
  • Microsoft zavedl podporu UEFI pro operační systém Windows na platformě x64 ve verzích Windows Server 2008 a Windows Vista Service Pack 1.

Grafické funkce

EFI podporuje grafická menu a funkce. Tyto možnosti využívá například Aptio nebo Great Wall UEFI.[17]

Pro grafický výstup jsou v EFI specifikovány dva protokoly. První z nich je UGA, Universal Graphic Adapters. Druhý je GOP, Graphic Output Protocol. Tyto protokoly jsou si podobné. UGA je podporován pouze v EFI verze 1.1 a starší. EFI nedefinuje, jak má systém vypadat. To zcela závisí na implementaci jednotlivých výrobců. Zatím má většina strojů používajících EFI uživatelské rozhraní podobné klasickému BIOSu, výjimku tvoří počítače Macintosh.

Kritika

EFI je silně kritizováno kvůli tomu, že zavádí do systému mnohem větší komplikovanost, aniž by přineslo významné výhody. [18]

Staví se zcela proti open-source náhradám BIOSu jako OpenBIOS a Coreboot.[19]

Obsahuje velká zadní vrátka (backdoor) !

Související články

Reference

  1. Michael Kinney. “Solving BIOS Boot Issues with EFI”. Intel DeveloperUPDATEMagazine. September 2000, p. 1.
  2. https://www.novinky.cz/internet-a-pc/bezpecnost/411712-chyba-ohrozuje-stovky-milionu-uzivatelu-windows-oprava-je-v-nedohlednu.html - Chyba ohrožuje stovky miliónů uživatelů Windows. Oprava je v nedohlednu
  3. http://appleinsider.com/articles/16/08/10/oops-microsoft-leaks-its-golden-key-unlocking-windows-secure-boot-and-exposing-the-danger-of-backdoors - Oops: Microsoft leaks its Golden Key, unlocking Windows Secure Boot and exposing the danger of backdoors
  4. http://www.phoronix.com/scan.php?page=news_item&px=MTI5NzQ – Linux Foundation Releases Secure Boot System
  5. Dong Wei, Beyond BIOS (foreword), Intel Press, 2006, ISBN 978-0-9743649-0-2
  6. See the Revision History section of specification version 1.10
  7. Unified EFI Forum. “UEFI - About UEFI"
  8. Apple Computer. “Universal Binary Programming Guidelines, Second Edition: Extensible Firmware Interface (EFI)"
  9. Intel, Framework Overview
  10. An Intel pdf with information about EFI on their boards [1]
  11. Overview of the Intel Platform Innovation Framework
  12. HP Printer’s site [2]
  13. EFI version of Grub (Debian Linux) - Retrieved on 1 May 2008.
  14. HP OpenVMS Release History - Retrieved on 16 September 2008
  15. rEFIt - Windows Vista and EFI
  16. Microsoft Windows Server TechCenter. “Extensible Firmware Interface"
  17. Intel shows PC booting Windows with UEFI firmware
  18. Linux: Linus On The Extensible Firmware Interface
  19. Interview: Ronald G Minnich

Externí odkazy (anglicky)


Flickr.com nabízí fotografie, obrázky a videa k tématu
Unified Extensible Firmware Interface