Cum se actualizează BIOS, UEFI sau Microcode de pe Linux

Imagini sau micrografii ale unui Intel XEON E5

Tu stii cum se actualizează BIOS-ul de pe computer? Cu vulnerabilități precum Spectre, Meltdown și toate variantele sale și alte găuri de securitate detectate în hardware, în special în procesoare, cu siguranță ați citit de multe ori că multe dintre ele sunt rezolvate știind cum să actualizați BIOS-ul sau UEFI-ul computerului dvs. ., deoarece este necesară o actualizare sau un patch pentru microcodul utilizat de CPU și astfel modifică modul în care funcționează unitatea de control CPU astfel încât să nu fie vulnerabilă la amenințările menționate.

Pe lângă vulnerabilități, firmware-ul poate fi actualizat din multe alte motive, cum ar fi o defecțiune a unui dispozitiv hardware, erori constante în software într-un mod inexplicabil, actualizări pentru a adăuga unele funcționalități etc. Dar, așa cum am spus, în ultimele luni am auzit acest termen de prea multe ori din cauza problemelor de securitate care sunt destul de critice în unele cazuri și care au avut legătură cu modul în care microprocesoarele moderne gestionează unele salturi, cache, FPU și execuția speculativă, deși în alte cazuri au fost detectate în alte părți ale sistemului, cum ar fi chipset-uri sau anumite procesoare de securitate integrate în aceste platforme ...

Ce este firmware-ul?

Cipul BIOS al unei plăci de bază

Cu toții suntem destul de clari despre hardware (partea fizică și palpabilă a unui computer, adică electronica) și software-ul (acea parte logică care nu poate fi atinsă: programe). Dar între hardware și software, sau mai bine zis, între hardware și kernel-ul sistemului de operare există altceva: firmware-ul. Firmware-ul este prezent în toate dispozitivele și părțile unui computer, de la mouse, unitatea optică, la GPU și CPU care funcționează cu un microcod.

Dar ce este? Ei bine, puteți spune asta este cod, adică software și, prin urmare, o componentă logică, dar de data aceasta este inalterabil. Funcționează la un nivel scăzut și controlează direct funcționalitățile circuitelor electronice. Acest firmware, cu ajutorul controlerelor sau driverelor, permite ca atunci când nucleul sistemului de operare comandă hardware-ului să efectueze o sarcină, îl va executa. Acest program sau cod a fost înregistrat de producătorul dispozitivului într-o memorie care este de obicei flash sau într-un anumit tip de ROM, cum ar fi EEPROM.

Dar unul dintre firmware-urile care ne interesează cel mai mult în acest articol este BIOS sau UEFI unui sistem, deoarece este un firmware foarte important care are diverse funcții în timpul pornirii și funcționării echipamentului. De exemplu, acest cod este responsabil pentru activarea mașinii în timpul pornirii, detectarea unităților de hard disk sau a mediilor unde există un sistem de operare disponibil, efectuarea unor verificări care interferează cu alte firmware-uri ale componentelor și perifericelor și conferirea controlului kernel-ului la pornirea sistemului a începe ...

De ce actualizarea acestuia afectează procesorul?

Pinii CPU

... și asta are legătură cu procesorul, destul de bine. Se pare că CPU-urile au o unitate de control, Această unitate de control este un circuit care este responsabil pentru controlul restului părților microprocesorului sau CPU, cum ar fi decodarea instrucțiunilor și transformarea datelor cu operanzii în registrele corespunzătoare și apoi activarea unei unități funcționale, cum ar fi o ALU sau FPU și că efectuează o anumită operație asupra datelor în funcție de tipul de instrucțiune care se execută. Aceste instrucțiuni provin, la rândul lor, din codul de program sau software care este procesat în acel moment, deoarece, așa cum ar trebui să știți, programele sunt alcătuite dintr-o serie de instrucțiuni secvențiale.

După cum vă puteți imagina, această unitate de control funcționează într-un mod în care producătorul sau designerul a creat-o. În unele cazuri specifice, unitatea de control poate fi cablată, adică sunt de obicei destul de rapide, dar nu foarte flexibile, deoarece sunt implementate direct cu un circuit foarte specific. Pe de altă parte, există și cele programabile, adică un circuit ceva mai „deschis” care poate funcționa într-un fel sau altul în funcție de microcod sau firmware. Prin urmare, rezultă că, dacă schimbăm firmware-ul sau microcodul, putem face unitatea de control și, prin urmare, CPU-ul poate funcționa diferit sau poate corecta unele bug-uri sau vulnerabilități.

Nu vreau să devin prea tehnic, vreau ca acest articol să ajungă la cât mai mulți oameni posibil și ca tot ce vreau să spun să fie ușor de înțeles ... BIOS sau UEFI , deși uneori microcodul poate fi actualizat de nucleu în timpul fiecărui boot, salvând actualizarea sau patch-ul în memoria volatilă, adică în RAM, evitând necesitatea modificării BIOS / UEFI.

Cum se actualizează BIOS / UEFI de pe Linux?

Interfață UEFI ASUS

Pentru a actualiza BIOS / UEFI de la Linux sau microcod, să ne descompunem ambele proceduri.

Înainte de a efectua o actualizare a microcodului, este foarte important să aveți firmware actualizat BIOS / UEFIca altfel s-ar putea să nu funcționeze. Deci, verificați site-ul web al furnizorului dvs. de firmă, cum ar fi Phoenix, Award etc. sau site-ul web de asistență tehnică al modelului plăcii dvs. de bază, care de obicei au pachete pentru actualizarea acestor sisteme.

Actualizarea BIOS / UEFI este ceva delicat, după cum puteți vedea în ultima secțiune despre riscuri. De aceea te sfătuiesc să nu o faci dacă nu ești sigur ce faci și dacă doriți să actualizați sau aveți nevoie, dar nu aveți suficiente cunoștințe, consultați întotdeauna un profesionist. În plus, v-aș recomanda să aruncați o privire la proiecte precum fwupd, BIOSDisck, Flashrom etc., care sunt instrumente foarte practice care ne vor ajuta în acest proces.

Una dintre cele care îmi plac cel mai mult este flashrom, este cam un pachet care ne oferă un instrument care permite identificarea, citirea, scrierea, verificarea și ștergerea cipurilor flash. Aceasta servește nu numai pentru a bloca un BIOS / UEFI / CoreBoot, ci servește și pentru a modifica alte memorii flash ale plăcilor de rețea, GPU-urilor etc., pe alte dispozitive cu firmware modificabil. De asemenea, suportă mai multe sisteme de operare și o multitudine de unelte și modele de dispozitive și plăci.

  • Instalați pachetul flashrom în distribuția dvs. folosind managerul de pachete pe care îl utilizați în mod normal, deoarece este un instrument care se află printre depozitele celor mai importante distribuții.
  • Folosi rădăcină sau sudo, deoarece pentru a-l folosi aveți nevoie de privilegii pentru a fi ceva delicat.
  • Identificați firmware-ul pe care le folosim prin simpla executare a comenzii:
flashrom

  • Vă recomand să faceți un faceți backup ROM-ului curent, în cazul în care constatați că noua actualizare nu funcționează și doriți să reveniți. Pentru asta:
flashrom -r copia_seguridad.bin

  • da, stiu avem noul ROM pe care le-am descărcat dintr-o sursă FIABILĂ, putem folosi următoarea comandă pentru a clipi, de exemplu, dacă noua noastră actualizare se numește uefi-sm.bin:
flashrom -wv uefi-sm.bin

Pentru mai multe informații consultați manualul cu om flashrom.

Actualizați microcodul:

Pentru a actualiza microcodul procesorului nostru, fără a atinge BIOS / UEFI, adică cu o simplă modificare în kernel-ul Linux, puteți alege să instalați pachetele necesare pentru procesorul dvs. De exemplu, dacă aveți un procesor AMD modern, normal este că instalați pachetul denumit amd64-microcod, iar pentru un Intel pachetul intel-microcod (dacă utilizați openSUSE, SUSE, RHEL, CentOS etc., pachetul se numește microcode_ctl, și pentru Arch intel-ucode sau amd-ucode ...) pe care îl puteți găsi pe site-uri web de încredere ... (adică, dacă este o mașină x86, dacă este ARM sau diferită, accesați site-ul producătorului). 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…

Cu acele pachete instalate și cu setările de sistem referitoare la actualizări bine configurate, lactualizări de securitate proprii care instalează sistemul de operare va include deja acest tip de patch-uri de microcod dacă a fost detectată o vulnerabilitate gravă, cum ar fi Spectre, Meltdown etc.

Dacă doriți, puteți obține informații despre microcod din distribuția dvs. folosind:

dmesg | grep microcode

Și cu asta vom obține detalii microcodDe fapt, dacă am executat această comandă înainte de a instala pachetele pe care le-am menționat anterior (după instalare este necesar să repornim) și ulterior, vom vedea că ne arată modificări dacă a fost instalată o actualizare disponibilă.

Uneori, AMD, Intel și alți producători sau designeri de CPU furnizează tarballs cu bloburi binare pentru a actualiza microcodul sau firmware-ul. Dacă ați descărcat unul dintre aceste pachete dintr-un loc de încredere, urmați instrucțiunile furnizate de distribuitor sau consultați fișierele README.

Pericole și sfaturi înainte de actualizarea BIOS-ului

Plăci de bază pentru reciclare

O actualizare de firmware sau microcod a procesorului înseamnă, în majoritatea cazurilor, actualizarea codurilor închise furnizate de furnizorii de CPU pe care îi avem, drivere de nucleu închise (bloburi binare) etc. Vreau să clarific acest lucru, deoarece conținutul și modul de operare al acestuia sunt necunoscute și pare logic să știți. În principiu, dacă nu utilizați hardware gratuit, nu aveți de ales decât să aveți încredere în producătorul sau proiectantul procesorului sau plăcii dvs. de bază, dar da, nu descărcați niciodată microcod sau firmware de pe site-uri neoficiale, deoarece este ceva foarte delicat.

De fapt nu numai este delicat din motive de securitate, deoarece ați putea face și echipamentul total inutilizabil. Chiar dacă ați descărcat firmware-ul de pe un site web de încredere, este posibil ca ceva să nu funcționeze în timpul procesului, cum ar fi o întrerupere a curentului electric și care lasă instalarea actualizării și firmware-ul complet corupte, ceea ce înseamnă că s-ar putea să vă gândiți deja la cheltuirea banilor pentru a cumpăra o nouă placă de bază.

Aceasta este ceea ce se cunoaște prin termen cărămidă în argou hardware, adică, lăsați-vă hardware-ul ca o cărămidă, fără niciun fel de utilitate. Cu aceasta, vreau să vă spun să fiți precauți și că nu suntem responsabili pentru ceea ce se poate întâmpla dacă decideți să actualizați un firmware sau să blocați BIOS / EFI. Dar atenție, acest lucru nu implică întotdeauna riscuri, așa cum v-am spus mai devreme, nu este întotdeauna necesar să „atingeți” BIOS / EFI, există și actualizări care sunt doar la nivel de sistem de operare și nu implică aceste riscuri .. .

Sper că acest tutorial a fost util, orice întrebări sau sugestii, nu uitați să părăsiți comentarii...


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ruben Horace Specogna el a spus

    salut buna dimineata am vrut sa instalez xubuntu 14 pe notebook-ul meu si sa descarc fisierele, sa le instalez dar cand imi cere sa repornesc de pe cheia USB, intru in BIOS si nu gasesc memoria flash in meniul de boot, cineva poate ajuta eu, De deja mulțumesc foarte mult.

  2.   Joseph Louis Mateo el a spus

    Salut prieteni:

    Articolul mi se pare excelent, deși „periculos” pentru cei dintre noi care sunt mai noi și mai temători.

    Îmi lipsește de mult un articol bun care ne face să înțelegem cum funcționează un sistem de imprimantă multifuncțional ca al meu (Canon MG 7150) prin Wifi.

    Cu Linux, nu l-am făcut niciodată să funcționeze pe deplin. Am reușit să fac imprimanta conectată prin USB să funcționeze, dar niciodată scanerul, nici prin wifi, nici prin cablu.

    De aceea, astăzi aduc în discuție subiectul și, în același timp, vă mulțumesc că ne-ați furnizat articole de o asemenea calitate precum cea prezentă; dar, în același timp, aș dori ca cineva care știe cum să o facă, să ne fie mai ușor să funcționăm sistemul menționat anterior.

    Mulțumesc și salutări

  3.   Gabriel el a spus

    Mai întâi căutați în BIOS dacă există opțiunea MULTIBOOT (unde trebuie să o activați), dacă nu, există, pentru a porni cu un USB, în general la pornirea computerului, trebuie să țineți apăsată tasta F8 pentru o vreme (în alte PC-uri este de obicei F12) și acolo meniul de pornire sare afișând opțiunile: hard disk, CD, USB. În cazul în care aveți UEFI, USB-ul trebuie generat cu opțiunea UEFI, altfel nu este recunoscut.