Hur man uppdaterar BIOS, UEFI eller Microcode från Linux

Die shot eller mikrofotografi av en Intel XEON E5

Du vet det hur man uppdaterar BIOS från din dator? Med sårbarheter som Spectre, Meltdown och alla dess varianter och andra säkerhetshål upptäckta i hårdvaran, särskilt i CPU: erna, har du säkert läst många gånger att många av dem löses genom att veta hur man uppdaterar BIOS eller UEFI på din dator ., eftersom en uppdatering eller korrigering behövs för mikrokoden som används av CPU: n och därmed förändrar sättet CPU-styrenheten fungerar så att den inte är sårbar för nämnda hot.

Förutom sårbarheter, firmware kan uppdateras av många andra orsaker, såsom fel på en hårdvaruenhet, konstanta fel i programvaran på ett oförklarligt sätt, uppdateringar för att lägga till vissa funktioner osv. Men som sagt, de senaste månaderna har vi hört den här termen för många gånger på grund av säkerhetsproblem som är ganska kritiska i vissa fall och som hade att göra med det sätt på vilket moderna mikroprocessorer hanterar vissa hopp, cache, FPU och spekulativ körning, även om de i andra fall har upptäckts i andra delar av systemet som chipsets eller vissa säkerhetsprocessorer integrerade i dessa plattformar ...

Vad är firmware?

BIOS-chip på moderkortet

Vi är alla helt tydliga med vilken hårdvara (fysisk och påtaglig del av en dator, det vill säga elektronik) och programvara (den logiska delen som inte kan beröras: program) är. Men mellan hårdvaran och programvaran, eller snarare, mellan hårdvaran och kärnan i operativsystemet finns det något annat: firmware. Firmware finns i alla enheter och delar på en dator, från musen, den optiska enheten, till GPU och CPU som fungerar med en mikrokod.

Men vad är det? Du kan säga det är koddet vill säga programvara och därför en logisk komponent men den här gången är den oföränderlig. Den fungerar på låg nivå och styr direkt funktionerna hos elektroniska kretsar. Denna fasta programvara, med hjälp av styrenheterna eller drivrutinerna, gör att när operativsystemets kärna befaller hårdvaran att utföra en uppgift kommer den att utföra den. Det här programmet eller koden har spelats in av enhetstillverkaren i ett minne som vanligtvis blinkar eller på någon typ av ROM, t.ex. EEPROM.

Men en av den firmware som intresserar oss mest i den här artikeln är BIOS eller UEFI av ett system, eftersom det är en mycket viktig firmware som har olika funktioner under uppstart och drift av utrustningen. Till exempel ansvarar den här koden för att aktivera maskinen under start, upptäcka hårddiskar eller media där ett operativsystem är tillgängligt, utföra vissa kontroller som stör andra firmware för komponenterna och kringutrustningen och ger kontroll till kärnan när systemet börjar börja ...

Varför påverkar CPU: n uppdateringen?

CPU-stift

... Och vad har detta med CPU att göra, tillräckligt bra. Visar sig att processorer har en styrenhet, Denna styrenhet är en krets som är ansvarig för att kontrollera resten av mikroprocessorn eller CPU: n, såsom avkodning av instruktionerna och att data med operanderna går till lämpliga register och sedan aktiverar någon funktionell enhet såsom en ALU eller FPU och att den utför vissa operationer på data beroende på vilken typ av instruktion som utförs. Dessa instruktioner kommer i sin tur från programmet eller mjukvarukoden som bearbetas just nu, eftersom program, som du borde veta, består av en serie sekventiella instruktioner.

Som du kan föreställa dig fungerar denna styrenhet på ett sätt som tillverkaren eller designern skapade den. I vissa specifika fall kan styrenheten vara trådbunden, det vill säga de är vanligtvis ganska snabba men inte särskilt flexibla, eftersom de implementeras direkt med en mycket specifik krets. Å andra sidan finns det också programmerbara, det vill säga en något mer "öppen" krets som kan fungera på ett eller annat sätt enligt en mikrokod eller firmware. Det följer därför att om vi ändrar firmware eller mikrokod kan vi skapa styrenheten och därför kan processorn fungera annorlunda eller korrigera vissa fel eller sårbarheter.

Jag vill inte bli för teknisk, jag vill att den här artikeln ska nå så många människor som möjligt och att allt jag vill säga är lätt att förstå ... Och i många maskiner visar det sig att den här koden vanligtvis är integrerad i BIOS eller UEFI , även om mikrokoden ibland kan uppdateras genom kärnan under varje start, vilket sparar uppdateringen eller korrigeringen i det flyktiga minnet, det vill säga i RAM, så att man inte behöver ändra BIOS / UEFI.

Hur uppdaterar jag BIOS / UEFI från Linux?

UEFI ASUS-gränssnitt

För att uppdatera BIOS / UEFI från Linux eller mikrokod, låt oss bryta ner båda förfarandena.

Innan du utför en mikrokoduppdatering är det mycket viktigt att du har uppdaterad BIOS / UEFI-firmwareeftersom det annars inte fungerar. Så kolla webbplatsen för din firmwre-leverantör som Phoenix, Award, etc., eller webbplatsen för teknisk support på din moderkortsmodell, som vanligtvis har paket för att uppdatera dessa system.

Uppdatering av BIOS / UEFI är något känsligt som du kan se i det sista avsnittet om risker. Det är därför jag råder dig att inte göra det om du inte är säker på vad du gör och om du vill uppdatera eller behöver du det, men du har inte tillräckligt med kunskap, kontakta alltid en professionell. Dessutom skulle jag rekommendera att du tittar på projekt som fwupd, BIOSDisck, Flashrom, etc., som är mycket praktiska verktyg som hjälper oss i processen.

En av de jag gillar mest är flashrom, är om ett paket som ger oss ett verktyg som gör det möjligt att identifiera, läsa, skriva, verifiera och radera flashchips. Detta tjänar inte bara till att flasha en BIOS / UEFI / CoreBoot, det tjänar också till att modifiera andra flashminnen från nätverkskort, GPU, etc., i andra enheter med modifierbar firmware. Den stöder också olika operativsystem och en mängd växlar och modeller av enheter och kort.

  • Installera flashrom-paketet i din distribution med hjälp av den pakethanterare som du normalt använder, eftersom det är ett verktyg som är bland arkiv för de viktigaste distributionerna.
  • USA rot eller sudo, eftersom du behöver privilegier för att kunna använda det för att vara något känsligt.
  • Identifiera firmware som vi använder genom att helt enkelt utföra kommandot:
flashrom

  • Jag rekommenderar att du gör en säkerhetskopiera din nuvarande ROM, om du upptäcker att den nya uppdateringen inte fungerar och du vill gå tillbaka. För det:
flashrom -r copia_seguridad.bin

  • Ja jag vet vi har den nya ROM-skivan som vi har laddat ner från en PÅLITLIG källa kan vi använda följande kommando för att blinka, till exempel om vår nya uppdatering heter uefi-sm.bin:
flashrom -wv uefi-sm.bin

Mer information finns i handboken med man flash rom.

Uppdatera mikrokod:

För att uppdatera mikrokoden på vår CPU utan att röra vid BIOS / UEFI, det vill säga med en enkel modifiering i Linux-kärnan, kan du välja att installera nödvändiga paket för din CPU. Till exempel, om du har en modern AMD-processor, är det normala det installera paketet kallade amd64-mikrokod, och för en Intel paketet intel-mikrokod (om du använder openSUSE, SUSE, RHEL, CentOS, etc., kallas paketet microcode_ctl, och för Arch intel-ucode eller amd-ucode ...) som du kan hitta på betrodda webbplatser ... (att om det är en x86-maskin, om den är ARM eller annorlunda, gå till tillverkarens webbplats). 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 dessa paket installerade och systeminställningarna som refererar till uppdateringar är väl konfigurerade, legna säkerhetsuppdateringar som installerar operativsystemet kommer redan att inkludera denna typ av mikrokodkorrigeringar om någon allvarlig sårbarhet har upptäckts, till exempel Spectre, Meltdown, etc.

Om du vill kan du få mikrokodinformation från din distro med:

dmesg | grep microcode

Och med det kommer vi att få mikrokoddetaljerFaktum är att om vi har kört det här kommandot innan vi installerade paketen som jag nämnde tidigare (efter installationen är det nödvändigt att starta om) och efteråt kommer vi att se att det visar oss förändringar om det fanns en tillgänglig uppdatering som har installerats.

Ibland tillhandahåller AMD, Intel och andra CPU-tillverkare eller designers tarbollar med binära blobs för att uppdatera mikrokod eller firmware. Om du har laddat ner ett av dessa paket från en tillförlitlig plats, följ instruktionerna från distributören eller se README-filerna.

Faror och tips innan du uppdaterar BIOS

Moderkort för återvinning

En uppdatering av firmware eller mikrokod av CPU: n antar i de flesta fall att uppdatera stängda koder som tillhandahåller leverantörer av CPU: n som vi har, stängda kärndrivrutiner (binära blobbar) etc. Jag vill klargöra detta, eftersom dess innehåll och sätt att fungera är okänt och det verkar logiskt att du borde veta. I princip, om du inte använder gratis hårdvara har du inget annat val än att lita på tillverkaren eller designern av din CPU eller moderkort, men ja, ladda aldrig ner mikrokod eller firmware från inofficiella webbplatser, eftersom det är något mycket känsligt.

I själva verket inte bara det är känsligt av säkerhetsskäl, eftersom du också kan göra utrustningen helt oanvändbar. Även om du har laddat ner firmware från en ansedd webbplats kan något gå fel under processen, till exempel ett strömavbrott, vilket gör att uppdateringsinstallationen och firmware är helt skadad, vilket innebär att du kanske redan funderar på att spendera pengar för att köpa ett nytt moderkort.

Detta är vad som är känt av termen tegel i hårdvaruslang, det vill säga, lämna din hårdvara som en tegelsten, utan någon form av verktyg. Med detta vill jag säga att du ska vara försiktig och att vi inte ansvarar för vad som kan hända om du bestämmer dig för att uppdatera en firmware eller blinka BIOS / EFI. Men se upp, detta innebär inte alltid risker, som jag har sagt dig tidigare, det är inte alltid nödvändigt att "röra" BIOS / EFI, det finns också uppdateringar som bara finns på OS-nivå och inte innebär dessa risker .. .

Jag hoppas att den här guiden har varit användbar, några frågor eller förslag, glöm inte att lämna din kommentarer.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Ruben Horace Specogna sade

    hej god morgon Jag ville installera xubuntu 14 på min bärbara dator och ladda ner filerna, installera dem men när den ber om att starta om från usb-tangenten går jag in i bios och jag kan inte hitta flashminnet i startmenyn, någon kan hjälpa mig Från redan tack så mycket.

  2.   Joseph Louis Matthew sade

    Hej vänner:

    Artikeln verkar för mig, utmärkt men "farlig" för oss som är mer nybörjare och rädda.

    Jag har saknat en bra artikel under lång tid som får oss att förstå hur man använder ett multifunktionsskrivarsystem som mitt, (Canon MG 7150) via Wifi.

    Med Linux har jag aldrig fått det att fungera helt. Jag har lyckats få skrivaren ansluten via USB till att fungera, men aldrig skannern, varken via Wi-Fi eller via kabel.

    Det är därför jag idag tar upp ämnet och samtidigt tackar jag er för att ni förser oss med artiklar av sådan kvalitet som den nuvarande; men samtidigt vill jag att någon som vet hur man gör det, gör det lättare för oss att få det ovannämnda systemet att fungera.

    Tack och vänliga hälsningar

  3.   Gabriel sade

    Titta först i BIOS om det finns MULTIBOOT-alternativet (där du måste aktivera det), om det inte finns, för att starta med en USB i allmänhet när du slår på datorn måste du hålla ned F8-tangenten en stund (i andra datorer är det vanligtvis F12) och där hoppar startmenyn som visar alternativen: hårddisk, CD, USB. Om du har UEFI måste USB genereras med UEFI-alternativet, annars känns det inte igen