UEFI

**Unified Extensible Firmware Interface** (**UEFI**) on standardi, joka määrittelee rajapinnan alustan firmwaren ja käyttöjärjestelmän välillä.  UEFI on tarkoitettu korvaamaan alkuperäisestä IBM PC -tietokoneesta periytyvä BIOS, jonka asettamat rajoitukset haittaavat henkilökohtaisten tietokoneiden kehitystä. Käytännössä Windows 8:n jälkeen markkinoille tulleet tietokoneet käyttävät BIOSin tilalla UEFIa (joskus nimellä "*uefi bios*").

## Historia
Vuonna 1998 Intel aloitti nimellä **Intel Boot Initiative** (IBI) tunnetun projektin, josta tuli Itanium-järjestelmiä varten **EFI** (Extensible Firmware Interface) ja lopulta UEFI. IBM PC -yhteensopivien BIOS ei soveltunut uusiin koneisiin, koska se oli sidottu x86-arkkitehtuurin 16-bittiseen *real mode* -tilaan.

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.

Unified EFI Forum julisti EFI 1.10:n vanhentuneeksi vuonna 2005.

## Toiminta

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.

### Etuja
UEFI:n etuihin BIOS:iin verrattuna kuuluvat:
* kyky käynnistää käyttöjärjestelmä yli 2 teratavun osioilta
* tuki useammalle kuin neljälle osiolle levyllä
* parempi energian käytön ja järjestelmän hallinta

### Secure Boot
Secure Boot on tarkoitettu estämään BIOSin haavoittuvuuksien ohi yrittävien murtautumistyökalujen ja haittaohjelmien pääsyn koneeseen. Secure Bootin toteutuksesta on löydetty useita virheitä, jotka rajoittavat sen tarjoamaa suojaa.
Heinäkuussa 2024 kerrottiin, että Secure Boot on täysin turvaton yli 200 laitemallissa, koska niiden käyttämä salausavain on turvaton. Eräs käytetty avain on vuotanut julkisuuteen ja joissakin laitteissa on käytössä epäluotettava koekäyttöön tarkoitettu avain.

### GUID Partition Table
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).

### EFI System partition
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

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.

### Verkkokäynnistys
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.

## Käyttöjärjestelmien tuki
### EFI
* Linux (x86, x86-64 & IA-64)
* HP-UX (IA-64)
* OpenVMS (IA-64)
* Mac OS X (x86 & x86-64)
* FreeBSD (x86, x86-64 & IA-64)
* Windows 2000 Advanced Server Limited Edition ja Datacenter Server Limited Edition (IA-64)
* Windows Server 2003 (IA-64)
* Windows Server 2008 (IA-64)

### UEFI
* Linux (x86-64)
* Windows Server 2008 (x86-64)
* Windows Vista jossa Service Pack 1 (x86-64)
:*Huom. Windows Vista ei tue EFI-järjestelyä, mutta ensimmäisen Service Packin mukana Microsoft lisäsi Vistaan tuen 64-bittisille UEFI-järjestelmille.*
* Windows 7, 8, 10, 11

## Haittaohjelmat
Eräät haittaohjelmat (bootkit ja rootkit-tyyppiset) asentuvat UEFI-ohjelmistoon, jolloin ne saastuttavat Windowsin ytimen tämän käynnistyessä. Haittaohjelmasta ei tällöin pääse eroon käyttöjärjestelmän uudelleen asentamisella.

UEFI:n saastuttavia haittaohjelmia on ollut ainakin vuosien 2016 ja 2017 aikana ja aktiviteettia on havaittu vuonna 2020. UEFI:n saastuttavasta haittaohjelmasta on raportoitu vuonna 2020. UEFI:in asentuvasta rootkitistä nimeltä BlackLotus kerrottiin vuonna 2023. Ohjelma voi kytkeä pois päältä Secure Bootin ja käyttöjärjestelmän turvaominaisuuksia.

## Vaihtoehdot
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. 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.

## Katso myös
* coreboot

## Lähteet

## Aiheesta muualla

* UEFI:n virallinen sivusto 
* Open Source Community of UEFI 
* Intelin EFI- ja UEFI-sivusto 
* Microsoftin UEFI-sivusto