Unified Extensible Firmware Interface (UEFI) on standardi, joka määrittelee rajapinnan alustan firmwaren ja käyttöjärjestelmän välillä.[1] UEFI on tarkoitettu korvaamaan alkuperäisestä IBM PC -tietokoneesta periytyvä BIOS, jonka asettamat rajoitukset haittaavat henkilökohtaisten tietokoneiden kehitystä.[1][2] Käytännössä Windows 8:n jälkeen markkinoille tulleet tietokoneet käyttävät BIOSin tilalla UEFIa (joskus nimellä "uefi bios").[3]
Vuonna 1998 Intel aloitti nimellä Intel Boot Initiative (IBI) tunnetun projektin, josta tuli Itanium-järjestelmiä varten EFI (Extensible Firmware Interface) ja lopulta UEFI.[4] IBM PC -yhteensopivien BIOS ei soveltunut uusiin koneisiin, koska se oli sidottu x86-arkkitehtuurin 16-bittiseen real mode -tilaan.[5]
Intel julkaisi EFIn version 1.02 12. joulukuuta 2000 ja EFI:n viimeinen versio, 1.10 julkaistiin 1. joulukuuta 2002. Intel siirsi projektin Unified EFI Forum -konsortion kehitettäväksi. UEFI 2.1 julkaistiin tammikuussa 2007 ja viimeisin versio 2.10 elokuussa 2022.[6]
Unified EFI Forum julisti EFI 1.10:n vanhentuneeksi vuonna 2005.
UEFI osaa vanhemmasta BIOS-järjestelmistä tutut toimenpiteet, kuten suorittimen ja muistin kellotaajuuksien säätämisen, prosessorin ja emolevyn ominaisuuksien ja liitäntöjen kytkemisen päälle ja pois, lämpötilojen valvonnan ja monen muun oleellisen asetuksen säätämisen.[3]
UEFI:n etuihin BIOS:iin verrattuna kuuluvat:[7]
Secure Boot estää biosin haavoittuvuuksien ohi yrittävien murtautumistyökalujen ja haittaohjelmien pääsyn koneeseen.[3]
Osioinnilla voidaan jakaa kiintolevy osioihin (partitio), jotka näkyvät esim. Windows-käyttöjärjestelmässä omina levyasemakirjaiminaan.
GUID Partition Table (GPT) on UEFI:n määrittämä uusi osiointi (partitionti) kiintolevyille. Tämä korvaa aiemmin käytetyn MBR-osioinnin ja poistaa sen rajoitukset. GPT käyttää osioiden tunnistukseen GUID-koodeja.
UEFI osaa myös käynnistää koneen vanhoilta MBR-osioiduilta levyiltä. Tällöin ladataan erityinen Compatibility Support Module (CSM).
Suurin osa UEFI:sta on tallennettu kiintolevylle. Se vaatii kiintolevyllä oman osionsa, joka sisältää sen käyttämät tiedostot. Osion on oltava FAT32-muodossa.
Graphics Output Protocol (GOP) korvaa vanhan VESA-BIOSin. Se mahdollistaa näytön tarjoamien grafiikkatilojen luetteloinnin ja niihin vaihtamisen. GOP antaa käyttöön kuvapuskurin grafiikan piirtämistä varten.
UEFI osaa käynnistää tietokoneen verkosta ladattavien tiedostojen avulla käyttäen Preboot eXecution Environment (PXE) -protokollaa. Se käyttää olemassa olevia verkkoprotokollia kuten IPv4 tai IPv6, UDP, DHCP ja TFTP.
Eräät haittaohjelmat (bootkit ja rootkit-tyyppiset) asentuvat UEFI-ohjelmistoon, jolloin ne saastuttavat Windowsin ytimen tämän käynnistyessä.[8] Haittaohjelmasta ei tällöin pääse eroon käyttöjärjestelmän uudelleen asentamisella.[8]
UEFI:n saastuttavia haittaohjelmia on ollut ainakin vuosien 2016 ja 2017 aikana ja aktiviteettia on havaittu vuonna 2020.[8] UEFI:n saastuttavasta haittaohjelmasta on raportoitu vuonna 2020.[9]
Joukko insinöörejä Googlella ja Ciscolla ehdottavat Linux-ytimen käyttöä UEFI:n tilalla, joka voi nopeuttaa laitteen käynnistymistä huomattavasti ja tarjota turvallisemman vaihtoehdon.[10] UEFI on monimutkainen (sisältää miljoonia koodirivejä), sisältää tunnettuja haavoittuvuuksia ja on aktiivinen vielä varsinaisen käyttöjärjestelmän latauduttua, joka antaa tunkeilijalle mahdollisuuden sen hyväksikäyttöön.[10]