Jak zaktualizować BIOS, UEFI lub Microcode z systemu Linux

Ujęcie lub mikrografia Intel XEON E5

Wiesz jak zaktualizować BIOS z komputera? W przypadku luk w zabezpieczeniach, takich jak Spectre, Meltdown i wszystkich jego wariantów oraz innych luk w zabezpieczeniach wykrytych w sprzęcie, zwłaszcza w procesorach, z pewnością wielokrotnie czytałeś, że wiele z nich można rozwiązać, wiedząc, jak zaktualizować BIOS lub UEFI komputera. ., ponieważ wymagana jest aktualizacja lub łatka mikrokodu używanego przez procesor, a tym samym zmiana sposobu działania jednostki sterującej procesora, tak aby nie była podatna na wspomniane zagrożenia.

Oprócz luk w zabezpieczeniach można zaktualizować oprogramowanie układowe z wielu innych powodów, takich jak awaria urządzenia sprzętowego, ciągłe błędy w oprogramowaniu w niewytłumaczalny sposób, aktualizacje w celu dodania funkcjonalności itp. Ale jak powiedziałem, w ostatnich miesiącach słyszeliśmy ten termin zbyt wiele razy z powodu problemów bezpieczeństwa, które są dość krytyczne w niektórych przypadkach i mają związek ze sposobem, w jaki nowoczesne mikroprocesory radzą sobie z niektórymi skokami, pamięcią podręczną, FPU i spekulacyjnymi wykonaniami, chociaż w innych przypadkach zostały wykryte w innych częściach systemu, takich jak chipsety lub niektóre procesory bezpieczeństwa zintegrowane z tymi platformami ...

Co to jest oprogramowanie sprzętowe?

Układ BIOS płyty głównej

Wszyscy wiemy, czym jest sprzęt (fizyczna i namacalna część komputera, to znaczy elektronika) i oprogramowanie (ta logiczna część, której nie można dotknąć: programy). Ale między sprzętem a oprogramowaniem, a raczej między sprzętem a jądrem systemu operacyjnego jest coś jeszcze: oprogramowanie układowe. Oprogramowanie układowe jest obecne we wszystkich urządzeniach i częściach komputera, od myszy, napędu optycznego, po GPU i procesor, które działają z mikrokodem.

Ale co to jest? Możesz tak powiedzieć jest kodemczyli oprogramowanie, a zatem składnik logiczny, ale tym razem jest niezmienny. Działa na niskim poziomie i bezpośrednio steruje funkcjonalnościami układów elektronicznych. To oprogramowanie układowe, z pomocą kontrolerów lub sterowników, umożliwia wykonanie zadania przez jądro systemu operacyjnego, które nakazuje sprzętowi wykonanie zadania. Ten program lub kod został zapisany przez producenta urządzenia w pamięci, która zwykle jest typu flash lub w jakiejś pamięci ROM, takiej jak EEPROM.

Ale jednym z oprogramowania, które najbardziej nas interesuje w tym artykule, jest BIOS lub UEFI systemu, ponieważ jest to bardzo ważny firmware, który pełni różne funkcje podczas uruchamiania i pracy sprzętu. Na przykład ten kod jest odpowiedzialny za aktywację maszyny podczas uruchamiania, wykrywanie dysków twardych lub nośników, na których jest dostępny system operacyjny, przeprowadzanie niektórych kontroli zakłócających inne oprogramowanie sprzętowe komponentów i urządzeń peryferyjnych oraz przekazywanie kontroli jądru podczas uruchamiania systemu zacząć ...

Dlaczego aktualizacja wpływa na procesor?

Piny procesora

... i to ma związek z procesorem, wystarczająco dobrze. Okazuje się, że procesory mają jednostka sterująca, Ta jednostka sterująca jest obwodem odpowiedzialnym za sterowanie pozostałymi częściami mikroprocesora lub procesora, na przykład dekodowanie instrukcji i przesyłanie danych z argumentami do odpowiednich rejestrów, a następnie aktywowanie pewnej jednostki funkcjonalnej, takiej jak ALU lub FPU i wykonuje pewne operacje na danych w zależności od typu wykonywanej instrukcji. Te instrukcje z kolei pochodzą z programu lub kodu oprogramowania, który jest przetwarzany w tym czasie, ponieważ jak powinieneś wiedzieć, programy składają się z serii sekwencyjnych instrukcji.

Jak możesz sobie wyobrazić, ta jednostka sterująca działa w sposób, który stworzył jej producent lub konstruktor. W niektórych szczególnych przypadkach jednostka sterująca może być okablowana, to znaczy są one zwykle dość szybkie, ale niezbyt elastyczne, ponieważ są realizowane bezpośrednio z bardzo specyficznym obwodem. Z drugiej strony istnieją również układy programowalne, to znaczy nieco bardziej „otwarte” obwody, które mogą działać w taki czy inny sposób zgodnie z mikrokod lub oprogramowanie układowe. Wynika z tego, że jeśli zmienimy oprogramowanie układowe lub mikrokod, możemy zrobić jednostkę sterującą, a tym samym procesor może działać inaczej lub poprawić niektóre błędy lub luki.

Nie chcę być zbyt techniczny, chcę, aby ten artykuł dotarł do jak największej liczby osób i aby wszystko, co chcę powiedzieć, było zrozumiałe ... A na wielu maszynach okazuje się, że ten kod jest zwykle zintegrowany BIOS lub UEFI chociaż czasami mikrokod może być aktualizowany przez jądro podczas każdego rozruchu, zapisując aktualizację lub poprawkę w pamięci ulotnej, czyli w pamięci RAM, unikając konieczności zmiany BIOS / UEFI.

Jak zaktualizować BIOS / UEFI z systemu Linux?

Interfejs UEFI ASUS

Aby zaktualizować BIOS / UEFI z Linuksa lub mikrokodu, załóżmy obie procedury.

Przed wykonaniem aktualizacji mikrokodu bardzo ważne jest, aby to zrobić zaktualizowane oprogramowanie układowe BIOS / UEFIw przeciwnym razie może nie działać. Sprawdź więc witrynę internetową dostawcy oprogramowania sprzętowego, takiego jak Phoenix, Award itp., Lub witrynę pomocy technicznej modelu płyty głównej, która zwykle zawiera pakiety do aktualizacji tych systemów.

Aktualizacja BIOS / UEFI jest delikatna, jak widać w ostatniej sekcji dotyczącej zagrożeń. Dlatego radzę ci tego nie robić, jeśli nie jesteś pewien, co robisz i jeśli chcesz zaktualizować lub potrzebujesz, ale nie masz wystarczającej wiedzy, zawsze skonsultuj się z profesjonalistą. Ponadto polecam przyjrzeć się projektom takim jak fwupd, BIOSDisck, Flashrom itp., Które są bardzo praktycznymi narzędziami, które pomogą nam w tym procesie.

Jedną z tych, które lubię najbardziej, jest flashrom, jest o pakiet, który daje nam narzędzie który pozwala na identyfikację, odczyt, zapis, weryfikację i kasowanie chipów flash. Służy to nie tylko do flashowania systemu BIOS / UEFI / CoreBoot, ale służy również do modyfikowania innych pamięci flash kart sieciowych, procesorów graficznych itp. W innych urządzeniach z modyfikowalnym oprogramowaniem układowym. Obsługuje również kilka systemów operacyjnych oraz wiele narzędzi i modeli urządzeń i płyt.

  • Zainstaluj pakiet flashrom w swojej dystrybucji za pomocą menedżera pakietów, którego zwykle używasz, ponieważ jest to narzędzie, które znajduje się wśród repozytoriów najważniejszych dystrybucji.
  • Korzystać root lub sudoponieważ aby go używać, potrzebujesz przywilejów, aby być czymś delikatnym.
  • Zidentyfikuj oprogramowanie sprzętowe którego używamy, po prostu wykonując polecenie:
flashrom

  • Polecam zrobić wykonaj kopię zapasową aktualnej pamięci ROM, jeśli okaże się, że nowa aktualizacja nie działa i chcesz wrócić. Dla tego:
flashrom -r copia_seguridad.bin

  • tak, wiem mamy nowy ROM które pobraliśmy z NIEZAWODNEGO źródła, możemy użyć następującego polecenia do flashowania, na przykład jeśli nasza nowa aktualizacja nazywa się uefi-sm.bin:
flashrom -wv uefi-sm.bin

Aby uzyskać więcej informacji, zapoznaj się z instrukcją z człowiek flashrom.

Zaktualizuj mikrokod:

Aby zaktualizować mikrokod naszego procesora, bez dotykania BIOS / UEFI, to znaczy za pomocą prostej modyfikacji w jądrze Linuksa, możesz zainstalować niezbędne pakiety dla swojego procesora. Na przykład, jeśli masz nowoczesny procesor AMD, normalne jest to zainstaluj pakiet nazywa amd64-mikrokod, a dla Intel pakiet intel-mikrokod (jeśli używasz openSUSE, SUSE, RHEL, CentOS itp., pakiet nosi nazwę mikrokod_ctl, i dla Arch intel-ucode lub amd-ucode ...), które można znaleźć na zaufanych stronach internetowych ... (to znaczy, jeśli jest to maszyna x86, jeśli jest to ARM lub inna, przejdź na stronę producenta). 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…

Po zainstalowaniu tych pakietów i dobrze skonfigurowanych ustawieniach systemu odnoszących się do aktualizacji, lwłasne aktualizacje zabezpieczeń który instaluje system operacyjny, będzie już zawierał tego typu łaty mikrokodu, jeśli zostanie wykryta poważna luka w zabezpieczeniach, taka jak Spectre, Meltdown itp.

Jeśli chcesz, możesz uzyskać informacje o mikrokodzie ze swojej dystrybucji za pomocą:

dmesg | grep microcode

I dzięki temu uzyskamy szczegóły mikrokoduW rzeczywistości, jeśli wykonaliśmy to polecenie przed zainstalowaniem pakietów, o których wspomniałem wcześniej (po zainstalowaniu konieczne jest ponowne uruchomienie) i później, zobaczymy, że pokazuje nam zmiany, jeśli była dostępna aktualizacja, która została zainstalowana.

Czasami AMD, Intel i inni producenci lub projektanci procesorów dostarczają paczki z binarnymi obiektami blob do aktualizacji mikrokodu lub oprogramowania układowego. Jeśli pobrałeś jeden z tych pakietów z wiarygodnego miejsca, postępuj zgodnie z instrukcjami dostarczonymi przez dystrybutora lub zapoznaj się z plikami README.

Zagrożenia i wskazówki przed aktualizacją systemu BIOS

Płyty główne do recyklingu

Aktualizacja oprogramowania układowego lub mikrokodu procesora oznacza w większości przypadków aktualizację zamkniętych kodów dostarczonych przez dostawców procesora, które posiadamy, zamknięte sterowniki jądra (binarne bloby) itp. Chcę to wyjaśnić, ponieważ jego treść i sposób działania są nieznane i wydaje się logiczne, że powinieneś o tym wiedzieć. Zasadniczo, jeśli nie korzystasz z bezpłatnego sprzętu, nie masz innego wyjścia, jak zaufać producentowi lub projektantowi swojego procesora lub płyty głównej, ale tak, nigdy, przenigdy nie pobieraj mikrokodu ani oprogramowania układowego z nieoficjalnych witryn internetowych, ponieważ jest to coś bardzo delikatnego.

Właściwie nie tylko to jest delikatne ze względów bezpieczeństwa, ponieważ możesz również spowodować, że sprzęt będzie całkowicie bezużyteczny. Nawet jeśli pobrałeś oprogramowanie układowe z renomowanej witryny internetowej, coś może pójść nie tak podczas procesu, na przykład przerwa w zasilaniu, co powoduje, że instalacja aktualizacji i oprogramowanie układowe są całkowicie uszkodzone, co oznacza, że ​​możesz już myśleć o wydaniu pieniędzy na zakup nowa płyta główna.

To jest to, co jest znane pod pojęciem cegła w slangu sprzętowymczyli zostaw swój sprzęt jak cegłę, bez żadnego narzędzia. W związku z tym chcę Ci powiedzieć, abyś był ostrożny i nie odpowiadamy za to, co może się stać, jeśli zdecydujesz się zaktualizować oprogramowanie układowe lub zaktualizować BIOS / EFI. Ale uwaga, nie zawsze wiąże się to z ryzykiem, jak już mówiłem, nie zawsze trzeba „dotykać” BIOS / EFI, są też aktualizacje, które są tylko na poziomie systemu operacyjnego i nie wiążą się z tym ryzykiem. .

Mam nadzieję, że ten samouczek był przydatny, wszelkie pytania lub sugestie, nie zapomnij zostawić swojego komentarze...


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Ruben Horacy Specogna powiedział

    witam dzień dobry chciałem zainstalować xubuntu 14 na swoim notebooku i pobrać pliki, zainstalować je ale jak prosi o restart z klucza usb to wpisuję bios i nie mogę znaleźć pamięci flash w menu startowym, czy ktoś może pomóc ja, od już bardzo dziękuję.

  2.   Józef Ludwik Mateo powiedział

    Witaj przyjaciele:

    Artykuł wydaje mi się doskonały, choć „niebezpieczny” dla tych z nas, którzy są bardziej nowi i bardziej przerażeni.

    Przez długi czas brakowało mi dobrego artykułu, który pozwala nam zrozumieć, jak system drukarki wielofunkcyjnej, taki jak mój (Canon MG 7150), działa przez Wi-Fi.

    Z Linuksem nigdy nie udało mi się w pełni działać. Udało mi się sprawić, by drukarka podłączona przez USB działała, ale skaner nigdy nie był, ani przez wifi, ani przez kabel.

    Dlatego dziś podejmuję ten temat i jednocześnie dziękuję za dostarczenie nam artykułów o takiej jakości jak niniejsza; ale jednocześnie chciałbym, żeby ktoś, kto wie jak to zrobić, ułatwił nam działanie wyżej wymienionego systemu.

    Dziękuje i pozdrawiam

  3.   Gabriel powiedział

    Najpierw zajrzyj do BIOSu, jeśli jest opcja MULTIBOOT (gdzie musisz ją aktywować), jeśli nie, istnieje, aby uruchomić z USB, generalnie podczas włączania komputera musisz przytrzymać klawisz F8 przez chwilę (w inne komputery to zwykle F12) i tam menu startowe przeskakuje pokazując opcje: dysk twardy, CD, USB. W przypadku posiadania UEFI, USB musi zostać wygenerowane z opcją UEFI, jeśli go nie rozpoznaje.