Til hovedinnhold
GuideUEFI: Unified Extensible Firmware Interface

Dette skjer egentlig når du starter PC-en

UEFI har gitt oss et pent grafisk grensesnitt, men er det andre endringer du bør vite om?

UEFI overtar for BIOS

IBM PCjr fra 1984, en av de første maskinene med BIOS-grensesnitt. Foto: Wikipedia

De fleste som pusler med datamaskiner er nok godt bekjent med BIOS-skjermen, og ikke rart er det når den har vært med oss i nesten uforandret form i over 30 år. BIOS-en – Basic Input Ouput System – er fastvare som ligger lagret på hovedkortet og som kjøres når datamaskinen starter.

Den har blant annet som oppgave å starte opp og teste komponentene i maskinen, for å så laste en «bootloader» fra en lagringsenhet som viderefører prosessen ved å laste et operativsystem – som Windows. I tillegg tilbyr BIOS-en et lag som kobler sammen operativsystemet og perifere enheter som mus, tastatur og skjerm for enklere kommunikasjon. PC-brukerne er nok best kjent med konfigurasjonsmenyen, hvor det er mulig diktere hvilken disk som laster først, konfigurering av komponentinnstillinger, overklokking og så videre.

BIOS-en er en såkalt de facto standard – det vil si den har fått sin utbredelse på grunn av popularitet, og ikke på grunn av at et kontrollerende organ har satt seg ned og bestemt hvordan fastvaren være og hvilke krav den bør oppfylle.

Nettopp på grunn av dette har selve BIOS-en hatt svært liten utvikling gjennom årene. Den har fått en del tilleggsutvidelser, som ACPI for strømstyring og andre utvidelser fra tredjeparts BIOS-utviklere til for eksempel overklokking.

Les mer om BIOS-en:
Derfor møter du denne skjermen hver gang maskinen starter (Ekstra)

Starten på en ny æra

BIOS-grensesnittet til en Award-BIOS.

Videreutviklede versjoner av den originale IBM BIOS-en har hatt en imponerende levetid, men har lenge vært moden for utskiftning. BIOS-en har ingen støtte for utvidelse med moduler, og det har vært vanskelig og kronglete å utvide funksjonaliteten for å imøtekomme nye krav.

På slutten av 90-tallet begynte Intel med utviklingen av et fastvare som senere fikk navnet EFI – Extensible Firmware Interface – og som var beregnet til å erstatte den gamle BIOS-en i større server-systemer. EFI ble tatt i bruk i Itanium-servere og Apple-maskiner, og i 2005 ga de over ansaret til UEFI-forumet, stiftet samme år som et samarbeid mellom nesten samtlige store aktører i PC-industrien. Forumet består av blant annet AMD, Apple, Intel, Microsoft og IBM, i tillegg til erfarne BIOS-utviklere som American Megatrends Inc. og Phoenix Technologies, som er firmaet bak Award BIOS-en.

Denne gjengen tok på seg oppgaven i å utvikle UEFI: Unified Extensible Firmware Interface, som skulle bli en moderne erstatning til BIOS-en og kunne brukes på en stor mengde forskjellige systemtyper.

UEFI-grensesnittet på et hovedkort fra Gigabyte.

Vi begynte å se hovedkort med UEFI komme i full fart i 2011, og det første vi la merke til var en real overhaling av grensesnittet. UEFI lar hovedkortprodusentene tilby pene grafiske grensesnitt hvor du kan bruke musen, og dette i seg selv var grunn nok til å hoppe i taket for entusiaster som ofte frekventerer innstillingsmenyen.

Men UEFI er langt mer enn et grafisk grensesnitt, og de mest relevante endringene er å finne under panseret. Det mest interessante er hvordan UEFI håndterer oppstart av operativsystemer, og hvorfor det har blitt mye enklere å ha kontroll over mange operativsystemer på samme disk eller maskin.

Oppstartsprosessen til UEFI

En ny måte å starte maskinen

Foto: UEFI

Med BIOS er vi vant til å sette opp en prioriteringsliste med disker, CD-stasjoner og eksterne lagringsenheter som bestemmer rekkefølgen på hva BIOS-en prøver å starte. Normalt vil du at harddisken der operativsystemet ligger starter først, med i gode gamle dager måtte du bytte om på dette når du for eksempel skulle installere Windows.

Lagringsenheten med operativsystemet på seg må ha en MBR – Master Boot Record – som ligger helt i starten av disken og som inneholder «bootloaderen» til operativsystemet. Bootloaderen er en liten snipp med kode som BIOS-en kan kjøre, og som igjen har oppgaven å laste operativsystemet. Den er med andre ord et slags bindeledd som får hjulene til å spinne, slik at maskinen kan starte.

Dette er et kronglete system, spesielt om du har flere operativsystemer på maskinen. Da kan du enten bytte oppstartsprioritet hver gang du vil starte et annet operativsystem, alternativt må du bruke en bootloader som selv kan holde kontroll på og starte bootloaderene til operativsystemene.

BIOS-en har ingen oversikt over tilgjengelige partisjoner eller operativsystem, og laster dermed MBR-en helt i blinde i håp om at bootloaderen har kontrollen.

Slik fungerer den

Med UEFI har mye av dette ansvaret blitt flyttet fra bootloaderen på MBR-en og over til den innebygde «boot manageren» til fastvaren som ligger på hovedkortet. I denne boot manageren finnes liste over operativsystemer som kan lastes, i motsetning til med BIOS hvor prioriteringslisten består av lagringsenheter.

Dette er mulig fordi UEFI kan lese noe som heter GPT – en GUID Partition Table – på lagringsenheten din, og da starte bootloadere fra bestemte partisjoner. Boot manageren vet altså hvilken disk og partisjon som inneholder hvilken bootloader til hvilket operativsystem, noe som gjør det veldig mye enklere å ha flere operativsystemer på samme maskin.

Strukturell forskjell på BIOS-oppstart og UEFI-GPT-oppstart med flere operativsystemer.

For at et operativsystem skal være støttet av UEFI, må det ha en kompatibel bootloader som ligger på en dedikert EFI-partisjon. Men i motsetning til MBR kan partisjonen være plassert hvor som helst på disken, og inneholde så mange og så store bootloadere som ønskelig.

Du har sikkert sett at Windows oppretter en egen systempartisjon under installasjonen, og dette er en EFI-partisjon hvor Windows legger sin egen bootloader. Installerer du en Linux-distribusjon i etterkant, kan bootloaderen plasseres på samme systempartisjon, og Linux sier da ifra til UEFI hvor bootloaderen ligger. Da vil UEFI føre opp Linux-distribusjonen i listen over oppstartsalternativer, med referanse til navnet på bootloaderen og en identifikator til EFI-partisjonen den ligger på.

Oppstartsprosedyren til UEFI har fått en veldefinert spesifikasjon som operativsystemene må overholde, og som en konsekvens av dette er det lettere for avanserte sluttbrukere å kontrollere og endre på oppstartskonfigurasjonen. For vanlige brukere betyr dette at sannsynligheten for at noe går galt når du installerer flere operativsystemer er betraktelig mindre.

Enklere konfigurasjon

Det er fortsatt mulig å laste operativsystemer på den gamle MBR-måten, ved hjelp av noe som heter CSM – Compability Support Module. Denne er ofte kjent som BIOS Compability Mode i UEFI-menyen, og fungerer ved at en spesifisert disk legges inn i boot manageren. Velger du denne disken som oppstartsenhet vil UEFI starte på samme måte som BIOS, ved at den kjører koden i MBR-området på disken.

Går du i CMD og skriver "diskpart" etterfulgt av "list disk", kan du sjekke om en disk bruker GPT.

Vi anbefaler at du bruker samme metode på alle operativsystemene du har installers, enten det er BIOS med MBR eller UEFI med GPT, men sistnevnte er definitivt å foretrekke. GPT gjør det også mulig for Windows å starte fra partisjoner som er større enn 2 TB – faktisk kan partisjonen være opptil 8 zettabytes, og du kan ha 128 primærpartisjoner, i motsetning til grensen på 4 med MBR.

Siden boot manageren til UEFI har større ansvar og kontroll over oppstartsprosessen, er det nå mye enklere å konfigurere denne manuelt hvis det skulle være nødvendig. Listen til boot manageren er lagret i et minne på hovedkortet, men kan også konfigureres når du har lastet et operativsystem. I Linux kan du bruke efibootmgr i terminalen, og i Windows er det enklest å bruke et tredjepartsprogram som for eksempel Visual BCD Editor, eller om ønskelig i CMD-terminalen med kommandoen bcdedit.

Store utvidelsesmuligheter

UEFI er modulbasert

UEFI-implementasjonen til MSI.

UEFI har også fått mye bedre støtte for å laste inn forskjellig kode enn det BIOS har. Det kan for eksempel laste inn drivere til enheter som nettverk, grafikk og lydkort, og operativsystemet kan bruke tjenestene som tilbys fra fastvare-laget. Dette kan for eksempel tas i bruk ved at UEFI-grensesnittet inkluderer en nettleser og lynmeldingsklient du kan bruke når operativsystemet laster, noe vi blant annet har sett hos UEFI-implementeringen til MSI Click Bios. En annen mulighet er automatisk oppdatering av fastvaren fra Internett, som gjør at du slipper å lete på nettsider etter nyeste versjon.

Det betyr også en enormt mye bedre støtte for feilsøkingsprogrammer for komponenttesting som kan brukes uten operativsystem. Dette er noe mange hovedkortprodusenter allerede har tatt i bruk, men det er fortsatt et ubrukt potensial for UEFI-implementasjoner av tilsvarende reparasjonsdisker som SystemRescueCD, Hirens Boot CD og lignende.

Med UEFI kan hovedkort- og fastvareprodusenter enkelt legge inn sine egne moduler skrevet i det tradisjonelle programmeringsspråket C. Her er det mange muligheter – spill, notatblokk og avanserte programmer for automatisk overklokking, viftestyring og temperaturovervåking. Leter du på nett finner du en UEFI-basert Python-oversetter, og kan du programmere er det faktisk fullt mulig å legge til egne utvidelser.

Det at UEFI er modulbasert kan ha store innvirkninger på oppstartstiden. UEFI-systemet bruker i seg selv som regel lenger tid enn BIOS, men fastvaren kan unnlate å starte enheter som ikke er nødvendig. I tillegg kan drivere til enhetene lastes når de trengs av operativsystemet, noe som i praksis betyr raskere oppstart.

Grafisk grensesnitt, bedre oppstartsprosedyre og store muligheter for utvidelsesprogrammer er de tre mest merkbare punktene som har endret seg fra UEFI til BIOS. Dette er bare en knapp brøkdel av hva UEFI-spesifikasjonen innebærer, men mye av de andre forbedringene dreier seg om hvordan fastvaren tilbyr et omfattende grensesnitt slik at operativsystemet og komponentene i datamaskinen kan kommunisere sammen.

Selv avanserte sluttbrukere kan nyte godene til UEFI, og vi tror det er enda mer å vente i fremtiden. Når hovedkortprodusentene begynner å bli mer erfarne med sine UEFI-implementasjoner, ser vi for oss nyttige og funksjonsrike tillegg, som for eksempel et komplett overklokkingsmiljø med stabilitetstest, overklokkingstips og lignende.

Les mer om BIOS-en:
Derfor møter du denne skjermen hver gang maskinen starter (Ekstra)

Møt nordmannen som er sjef for et stort IT-selskap i Taiwan:
Du bruker trolig programvaren hans hver dag » (Eklstra)

(Kilder: Happyassasin.net: UEFI Boot, Wikipedia: UEFI, Wikipedia: BIOS, UEFI.org )

Les også
Blås nytt liv i skjermkortet
Les også
Nordmann snudde opp ned på asiatisk arbeidskultur
Les også
Derfor møter du denne hver gang maskinen starter
annonse