Hvordan oppdatere BIOS, UEFI eller Microcode fra Linux

Die shot eller mikrografi av en Intel XEON E5

Du vet hvordan du oppdaterer BIOS fra PC-en din? Med sårbarheter som Spectre, Meltdown og alle dens varianter og andre sikkerhetshull oppdaget i maskinvaren, spesielt i CPU-ene, har du sikkert lest mange ganger at mange av dem blir løst ved å vite hvordan du oppdaterer BIOS eller UEFI på datamaskinen din ., siden det er nødvendig med en oppdatering eller oppdatering for mikrokoden som brukes av CPU og dermed endrer måten CPU-kontrollenheten fungerer på, slik at den ikke er sårbar for nevnte trusler.

I tillegg til sårbarhetene, firmware kan oppdateres av mange andre grunner, for eksempel en feil på en maskinvareenhet, konstante feil i programvaren på en uforklarlig måte, oppdateringer for å legge til noen funksjoner osv. Men som sagt, de siste månedene har vi hørt dette begrepet for mange ganger på grunn av sikkerhetsproblemer som i noen tilfeller er ganske kritiske, og som hadde å gjøre med måten moderne mikroprosessorer håndterer noen hopp, cache, FPU og spekulativ utførelse, selv om de i andre tilfeller er blitt oppdaget i andre deler av systemet, som brikkesett eller visse sikkerhetsprosessorer integrert i disse plattformene ...

Hva er firmware?

BIOS-brikke på hovedkortet

Vi er alle helt klare på hva maskinvare (fysisk og håndgripelig del av en datamaskin, det vil si elektronikk) og programvare (den logiske delen som ikke kan berøres: programmer) er. Men mellom maskinvaren og programvaren, eller rettere sagt, mellom maskinvaren og kjernen til operativsystemet er det noe annet: fastvaren. Firmware er tilstede på alle enhetene og delene på en datamaskin, fra musen, den optiske stasjonen, til GPU og CPU som fungerer med en mikrokode.

Men hva er det? Vel, du kan si det er kode, det vil si programvare og derfor en logisk komponent, men denne gangen er den umulig å endre. Den fungerer på et lavt nivå, og styrer direkte funksjonene til elektroniske kretser. Denne fastvaren, ved hjelp av kontrollere eller drivere, tillater at når operativsystemkjernen kommanderer maskinvaren til å utføre en oppgave, vil den utføre den. Dette programmet eller koden er spilt inn av produsenten av enheten i et minne som vanligvis blinker, eller på en eller annen type ROM, for eksempel EEPROM.

Men en av firmware som interesserer oss mest i denne artikkelen er BIOS eller UEFI av et system, siden det er en veldig viktig firmware som har forskjellige funksjoner under oppstart og drift av utstyret. For eksempel har denne koden ansvaret for å aktivere maskinen under oppstart, oppdage harddisker eller media der et operativsystem er tilgjengelig, utføre noen kontroller som forstyrrer annen fastvare av komponentene og periferiutstyret, og gir kontroll til kjernen når systemet begynner å starte ...

Hvorfor påvirker CPU det å oppdatere det?

CPU-pinner

... Og hva har dette med CPU å gjøre, vel nok. Det viser seg at CPU-er har en kontrollenhet, Denne kontrollenheten er et kretsløp som er ansvarlig for å kontrollere resten av delene av mikroprosessoren eller CPUen, for eksempel dekoding av instruksjonene og å få dataene med operandene til å gå til de aktuelle registerene og deretter aktivere en eller annen funksjonell enhet som en ALU eller FPU og at den utfører noen operasjoner på dataene avhengig av instruksjonstypen som blir utført. Disse instruksjonene kommer i sin tur fra programmet eller programvarekoden som behandles for øyeblikket, siden som du burde vite, består programmene av en serie sekvensielle instruksjoner.

Som du kan forestille deg, fungerer denne kontrollenheten på en måte som produsenten eller designeren opprettet den. I noen spesifikke tilfeller kan styreenheten være kablet, det vil si at de vanligvis er ganske raske, men ikke veldig fleksible, siden de er implementert direkte med en veldig spesifikk krets. På den annen side er det også programmerbare, det vil si et noe mer "åpent" kretsløp som kan fungere på en eller annen måte i henhold til en mikrokode eller fastvare. Det følger derfor at hvis vi endrer firmware eller mikrokode, kan vi lage kontrollenheten, og derfor kan CPU-en fungere annerledes eller korrigere noen feil eller sårbarheter.

Jeg vil ikke bli for teknisk, jeg vil at denne artikkelen skal nå så mange mennesker som mulig, og at alt jeg vil si er lett forståelig ... Og i mange maskiner viser det seg at denne koden vanligvis er integrert i BIOS eller UEFI , selv om mikrokoden noen ganger kan oppdateres av kjernen under hver oppstart, og lagrer oppdateringen eller oppdateringen i flyktig minne, det vil si i RAM, og unngår behovet for å endre BIOS / UEFI.

Hvordan oppdaterer jeg BIOS / UEFI fra Linux?

UEFI ASUS-grensesnitt

For å oppdatere BIOS / UEFI fra Linux eller mikrokode, la oss bryte sammen begge prosedyrene.

Før du utfører en mikrokodeoppdatering, er det veldig viktig at du har det oppdatert BIOS / UEFI firmwareellers fungerer det kanskje ikke. Så sjekk nettsiden til din firmwre-leverandør som Phoenix, Award osv., Eller nettstedet for teknisk support til hovedkortmodellen din, som vanligvis har pakker for å oppdatere disse systemene.

Oppdatering av BIOS / UEFI er noe delikat som du kan se i den siste delen om risiko. Derfor anbefaler jeg deg å ikke gjøre det hvis du ikke er sikker på hva du gjør og hvis du vil oppdatere eller du trenger det, men du har ikke nok kunnskap, kontakt alltid en profesjonell. I tillegg vil jeg anbefale deg å ta en titt på prosjekter som fwupd, BIOSDisck, Flashrom, etc., som er veldig praktiske verktøy som vil hjelpe oss i prosessen.

En av de jeg liker aller best er flashrom, det handler om en pakke som gir oss et verktøy som gjør det mulig å identifisere, lese, skrive, verifisere og slette flash-brikker. Dette tjener ikke bare til å blinke en BIOS / UEFI / CoreBoot, det tjener også til å modifisere andre flashminner fra nettverkskort, GPUer, etc., i andre enheter med modifiserbar fastvare. Den støtter også forskjellige operativsystemer og en rekke gir og modeller av enheter og kort.

  • Installer flashrom-pakken i distribusjonen din ved hjelp av pakkebehandling som du vanligvis bruker, siden det er et verktøy som er blant repositoriene til de viktigste distribusjonene.
  • Usa rot eller sudo, siden for å bruke den trenger du privilegier for å være noe delikat.
  • Identifiser fastvaren som vi bruker ved å bare utføre kommandoen:
flashrom

  • Jeg anbefaler at du gjør en ta sikkerhetskopi av din nåværende ROM, i tilfelle du finner ut at den nye oppdateringen ikke fungerer, og du vil gå tilbake. For det:
flashrom -r copia_seguridad.bin

  • Ja jeg vet vi har den nye ROM-en som vi har lastet ned fra en PÅLITELIG kilde, kan vi bruke følgende kommando til å blinke, for eksempel hvis den nye oppdateringen kalles uefi-sm.bin:
flashrom -wv uefi-sm.bin

For mer informasjon, se håndboken med mann flashrom.

Oppdater mikrokode:

For å oppdatere mikrokoden til CPUen vår, uten å berøre BIOS / UEFI, det vil si med en enkel modifisering i Linux-kjernen, kan du velge å installere de nødvendige pakkene for CPU-en din. For eksempel, hvis du har en moderne AMD-prosessor, er det normale det installer pakken kalt amd64-mikrokode, og for en Intel pakken intel-mikrokode (hvis du bruker openSUSE, SUSE, RHEL, CentOS, etc., kalles pakken microcode_ctl, og for Arch intel-ucode eller amd-ucode ...) som du kan finne på pålitelige nettsteder ... (at hvis det er en x86-maskin, hvis den er ARM eller en annen, kan du gå til produsentens nettsted). Insisto a pesar de parecer un pesado, no descargues este tipo de paquetes desde fuentes desconocidas, es muy importante. Bien, ahora que ya lo tenemos descargado e instalado, puede que el procedimiento sea diferente en cada distribución y que implique activar algunos paquetes o actualizaciones restringidos como los propietarios…

Med disse pakkene installert og systeminnstillingene som refererer til oppdateringer godt konfigurert, legne sikkerhetsoppdateringer som installerer operativsystemet, vil allerede inneholde denne typen mikrokodeplaster hvis det er oppdaget noe alvorlig sårbarhet, for eksempel Spectre, Meltdown, etc.

Hvis du vil, kan du få informasjon om mikrokoder fra distribusjonen din ved å bruke:

dmesg | grep microcode

Og med det vil vi oppnå mikrokodedetaljerFaktisk, hvis vi har utført denne kommandoen før vi installerte pakkene som jeg nevnte før (etter installasjon er det nødvendig å starte på nytt) og etterpå, vil vi se at den viser oss endringer hvis det var en tilgjengelig oppdatering som er installert.

Noen ganger gir AMD, Intel og andre CPU-produsenter eller designere tarballs med binære blobs for å oppdatere mikrokode eller firmware. Hvis du har lastet ned en av disse pakkene fra et pålitelig sted, følg instruksjonene fra distributøren eller se README-filene.

Farer og tips før du oppdaterer BIOS

Hovedkort for resirkulering

En firmware- eller mikrokodeoppdatering av CPU betyr i de fleste tilfeller oppdatering av lukkede koder levert av CPU-leverandørene som vi har, lukkede kjernedrivere (binære blobs), etc. Jeg vil gjøre dette klart, siden innholdet og måten å operere er ukjent og det virker logisk at du bør vite. I prinsippet, hvis du ikke bruker gratis maskinvare, har du ikke noe annet valg enn å stole på produsenten eller designeren av CPUen eller hovedkortet, men ja, aldri last ned mikrokode eller firmware fra uoffisielle nettsteder, siden det er noe veldig delikat.

Faktisk ikke bare det er delikat av sikkerhetsmessige årsaker, siden du også kan gjøre utstyret totalt ubrukelig. Selv om du har lastet ned fastvaren fra et anerkjent nettsted, kan det gå galt i løpet av prosessen, for eksempel strømbrudd, og installasjonen av oppdateringen og firmwaren blir fullstendig ødelagt, noe som betyr at du kanskje allerede tenker å bruke penger å kjøpe et nytt hovedkort.

Dette er det som er kjent under begrepet murstein i maskinvare slang, det vil si, la maskinvaren være som en murstein, uten noen form for verktøy. Med dette vil jeg fortelle deg å være forsiktig og at vi ikke er ansvarlige for hva som kan skje hvis du bestemmer deg for å oppdatere firmware eller blinke BIOS / EFI. Men pass på, dette innebærer ikke alltid risiko, som jeg har fortalt deg før, det er ikke alltid nødvendig å "berøre" BIOS / EFI, det er også oppdateringer som bare er på operativsystemnivå og ikke innebærer disse risikoene .. .

Jeg håper denne veiledningen har vært nyttig, eventuelle spørsmål eller forslag, ikke glem å legge igjen din kommentarer...


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Ruben Horace Specogna sa

    hei god morgen Jeg ønsket å installere xubuntu 14 på notatboka mi, og laste ned filene, installere dem, men når den ber om å starte på nytt fra usb-tasten, går jeg inn i bios og jeg finner ikke flashminnet i oppstartsmenyen, noen kan hjelpe meg, Fra allerede tusen takk.

  2.   Joseph Louis Mateo sa

    Hei venner:

    Artikkelen virker for meg, utmerket selv om den er "farlig" for de av oss som er mer nybegynnere og redd.

    Jeg har savnet en god artikkel i lang tid som får oss til å forstå hvordan et multifunksjonsskriversystem som mitt (Canon MG 7150) fungerer over Wifi.

    Med Linux har jeg aldri fått det til å fungere helt. Jeg har klart å få skriveren koblet til via USB til å fungere, men aldri skanneren, verken via Wi-Fi eller kabel.

    Det er grunnen til at jeg i dag tar opp temaet, og samtidig takker jeg for at du har gitt oss artikler av en slik kvalitet som denne; men samtidig vil jeg at noen som vet hvordan de skal gjøre det, gjøre det lettere for oss å få det nevnte systemet til å fungere.

    Takk og vennlig hilsen

  3.   Gabriel sa

    Se først i BIOS hvis det er MULTIBOOT-alternativet (hvor du må aktivere det), hvis ikke, eksisterer det, for å starte med USB generelt når du slår på PCen, må du holde F8-tasten nede en stund (i andre PCer er det vanligvis F12) og der hopper oppstartsmenyen som viser alternativene: harddisk, CD, USB. Hvis du har UEFI, må USB genereres med UEFI-alternativet hvis den ikke gjenkjenner den.