Як оновити BIOS, UEFI або Microcode з Linux

Знімок чи мікрофотографія Intel XEON E5

Ти знаєш Як оновити BIOS - - з вашого ПК? З такими вразливими місцями, як Spectre, Meltdown та всі їх варіанти та інші діри в безпеці, виявлені в апаратному забезпеченні, особливо в центральних процесорах, ви, безсумнівно, не раз читали, що багато з них вирішуються, знаючи, як оновити BIOS або UEFI вашого комп’ютера ., оскільки для мікрокоду, що використовується центральним процесором, потрібне оновлення або виправлення, і таким чином змінити спосіб роботи блоку управління процесором, щоб він не був вразливим до зазначених загроз.

На додаток до вразливостей, прошивку можна оновити з багатьох інших причин, таких як несправність апаратного пристрою, постійні помилки в програмному забезпеченні незрозумілим чином, оновлення для додавання деяких функціональних можливостей тощо. Але, як я вже казав, за останні місяці ми занадто багато разів чули цей термін через проблеми безпеки, які в деяких випадках є досить критичними і пов'язані з тим, як сучасні мікропроцесори обробляють деякі стрибки, кеш, FPU та спекулятивне виконання, хоча в інших випадках вони були виявлені в інших частинах системи, таких як набори мікросхем або певні процесори безпеки, інтегровані в ці платформи ...

Що таке прошивка?

Мікросхема BIOS материнської плати

Ми всі чітко розуміємо, що таке апаратне забезпечення (фізична та відчутна частина комп’ютера, тобто електроніка) та програмне забезпечення (та логічна частина, яку не можна торкнутися: програми). Але між апаратним забезпеченням та програмним забезпеченням, точніше, між апаратним забезпеченням та ядром операційної системи є щось інше: прошивку. Прошивка присутня на всіх пристроях та частинах комп'ютера, починаючи від миші, оптичного приводу, закінчуючи графічним та центральним процесорами, які працюють з мікрокодом.

Але що це таке? Ну, це можна сказати є кодом, тобто програмне забезпечення і, отже, логічний компонент, але цього разу він незмінний. Він працює на низькому рівні і безпосередньо контролює функціональність електронних схем. Ця прошивка за допомогою контролерів або драйверів дозволяє, коли ядро ​​операційної системи наказує апаратному забезпеченню виконувати завдання, воно виконуватиме його. Цю програму або код було записано виробником пристрою в пам'ять, яка зазвичай є флеш-пам'яттю, або в якийсь тип ПЗУ, такий як EEPROM.

Але однією з прошивок, яка нас найбільше цікавить у цій статті, є BIOS або UEFI системи, оскільки це дуже важлива прошивка, яка виконує різні функції під час запуску та експлуатації обладнання. Наприклад, цей код відповідає за активацію машини під час запуску, виявлення жорстких дисків або носіїв, де доступна операційна система, проведення деяких перевірок, що втручаються в інше програмне забезпечення компонентів та периферійних пристроїв, та надання контролю ядру, коли система починає починати ...

Чому його оновлення впливає на центральний процесор?

Шпильки процесора

... І яке відношення це має до центрального процесора, досить добре. Виявляється, процесори мають блок управління, Цей блок управління - це схема, яка відповідає за управління рештою частинами мікропроцесора або центрального процесора, наприклад, за декодування інструкцій та перетворення даних з операндами у відповідні регістри, а потім активацію деякого функціонального блоку, такого як ALU або FPU і що він виконує певну операцію з даними залежно від типу інструкції, яка виконується. Ці вказівки, в свою чергу, походять від програмного або програмного коду, який обробляється на той момент, оскільки, як вам слід було знати, програми складаються з серії послідовних інструкцій.

Як ви можете собі уявити, цей блок управління працює таким чином, що його створили виробник або дизайнер. У деяких конкретних випадках блок управління може бути дротовим, тобто вони, як правило, досить швидкі, але не дуже гнучкі, оскільки реалізуються безпосередньо з дуже специфічною схемою. З іншого боку, є також програмовані, тобто дещо більш «відкрита» схема, яка може працювати так чи інакше відповідно до мікрокод або прошивка. Отже, з цього випливає, що якщо ми змінимо прошивку або мікрокод, ми можемо зробити блок управління, і тому центральний процесор може працювати по-різному або виправляти деякі помилки чи уразливості.

Я не хочу бути занадто технічним, я хочу, щоб ця стаття охопила якомога більше людей і щоб все, що я хочу сказати, було легко зрозумілим ... І на багатьох машинах виявляється, що цей код, як правило, інтегрований в BIOS або UEFI , хоча іноді мікрокод може оновлюватись ядром під час кожного завантаження, зберігаючи оновлення або виправлення у енергозалежній пам'яті, тобто в оперативній пам'яті, уникаючи необхідності змінювати BIOS / UEFI.

Як оновити BIOS / UEFI з Linux?

Інтерфейс UEFI ASUS

Щоб оновити BIOS / UEFI з Linux або мікрокоду, давайте розберемо обидві процедури.

Перш ніж виконувати оновлення мікрокоду, дуже важливо, щоб він був оновлене програмне забезпечення BIOS / UEFIінакше це може не спрацювати. Тож перевірте веб-сайт провайдера, як Phoenix, Award тощо, або веб-сайт технічної підтримки вашої моделі материнської плати, на якому зазвичай є пакети для оновлення цих систем.

Оновлення BIOS / UEFI - щось делікатне, як ви можете бачити в останньому розділі про ризики. Ось чому я раджу вам цього не робити, якщо ви не впевнені, що робите і якщо ви хочете оновити або вам це потрібно, але у вас недостатньо знань, завжди звертайтесь до професіонала. Крім того, я рекомендую вам поглянути на такі проекти, як fwupd, BIOSDisck, Flashrom тощо, які є дуже практичними інструментами, які допоможуть нам у процесі.

Одне з тих, що мені найбільше подобається - це Флешром, є про пакет, який дає нам інструмент що дозволяє ідентифікувати, читати, писати, перевіряти та стирати флеш-чіпи. Це не тільки для прошивки BIOS / UEFI / CoreBoot, але і для модифікації іншої флеш-пам'яті мережевих карт, графічних процесорів тощо на інших пристроях із модифікованою прошивкою. Він також підтримує різні операційні системи та безліч передач та моделей пристроїв та плат.

  • Встановіть пакет flashrom у вашому розподілі за допомогою диспетчера пакетів, який ви зазвичай використовуєте, оскільки це інструмент, який є одним із сховищ найважливіших дистрибутивів.
  • США корінь або судо, оскільки для його використання потрібні привілеї, щоб бути чимось делікатним.
  • Визначте прошивку який ми використовуємо, просто виконавши команду:
flashrom

  • Я рекомендую вам зробити a створити резервну копію поточного ПЗУ, якщо ви виявите, що нове оновлення не працює, і ви хочете повернутися назад. Для нього:
flashrom -r copia_seguridad.bin

  • так, я знаю ми маємо новий ПЗУ яке ми завантажили з НАДІЙНОГО джерела, ми можемо використовувати таку команду для прошивки, наприклад, якщо наше нове оновлення називається uefi-sm.bin:
flashrom -wv uefi-sm.bin

Для отримання додаткової інформації зверніться до керівництва з людина флешром.

Оновити мікрокод:

Щоб оновити мікрокод нашого процесора, не торкаючись BIOS / UEFI, тобто за допомогою простої модифікації в ядрі Linux, ви можете встановити необхідні пакети для вашого центрального процесора. Наприклад, якщо у вас сучасний процесор AMD, то звичайно це встановити пакет званий amd64-мікрокод, а для Intel - пакет Intel-мікрокод (якщо ви використовуєте openSUSE, SUSE, RHEL, CentOS тощо), пакет викликається microcode_ctl, а для Arch intel-ucode або amd-ucode ...), які ви можете знайти на надійних веб-сайтах ... (якщо це машина x86, якщо вона ARM або інша, перейдіть на веб-сайт виробника). 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…

За умови встановлення цих пакетів та встановлених системних налаштувань, що посилаються на оновлення, lвласні оновлення безпеки що встановлює операційну систему, вже включатиме цей тип виправлень мікрокоду, якщо було виявлено якусь серйозну вразливість, таку як Spectre, Meltdown тощо.

Якщо ви хочете, ви можете отримати інформацію про мікрокоди з дистрибутива, використовуючи:

dmesg | grep microcode

І з цим ми отримаємо деталі мікрокодуНасправді, якщо ми виконали цю команду до встановлення пакунків, про які я згадав раніше (після встановлення необхідно перезапустити), а потім, ми побачимо, що вона показує нам зміни, якщо було встановлене доступне оновлення.

Іноді AMD, Intel та інші виробники процесорів або дизайнери надають tarballs двійкові краплі для оновлення мікрокоду або прошивки. Якщо ви завантажили один із цих пакетів із надійного місця, дотримуйтесь інструкцій дистриб’ютора або зверніться до файлів README.

Небезпеки та поради перед оновленням BIOS

Материнські плати для переробки

Оновлення мікропрограми або мікрокоду CPU означає в більшості випадків оновлення закритих кодів, наданих постачальниками CPU, які ми маємо, закриті драйвери ядра (двійкові краплі) тощо. Я хочу це пояснити, оскільки його зміст та спосіб роботи невідомі, і логічно, що ви повинні це знати. В принципі, якщо ви не використовуєте безкоштовне обладнання, вам нічого не залишається, як довіритись виробнику чи дизайнеру вашого центрального процесора або материнської плати, але так, ніколи не завантажуйте мікрокоди чи прошивки з неофіційних веб-сайтів, оскільки це щось дуже делікатне.

Насправді не тільки це делікатно з міркувань безпеки, оскільки ви також можете зробити обладнання абсолютно непридатним для використання. Навіть якщо ви завантажили мікропрограму з авторитетного веб-сайту, під час процесу може щось піти не так, як, наприклад, перебої з електроживленням, що призводить до того, що інсталяція оновлення та прошивка повністю пошкоджені, а це означає, що ви вже думаєте витрачати гроші на покупку нова материнська плата.

Це те, що відомо під цим терміном цегла на апаратному сленгу, тобто залиште своє обладнання як цегла, без будь-яких утиліт. Цим я хочу сказати вам, щоб ви були обережними і що ми не несемо відповідальності за те, що може статися, якщо ви вирішите оновити будь-яку прошивку або прошити BIOS / EFI. Але будьте обережні, це не завжди передбачає ризики, як я вже говорив вам раніше, не завжди потрібно "торкатися" BIOS / EFI, є також оновлення, які є лише на рівні ОС і не передбачають цих ризиків .. .

Сподіваюся, цей підручник був корисним, будь-які запитання чи пропозиції, не забудьте залишити свої коментарі...


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Рубен Гораціо Спеконья - сказав він

    привіт, доброго ранку, я хотів встановити xubuntu 14 на свій ноутбук і завантажити файли, встановити їх, але коли він просить перезапустити з клавіші usb, я заходжу в біос і не можу знайти флеш-пам’ять у меню завантаження, хтось може допомогти мені, від уже дуже дякую.

  2.   Хосе Луїс Матео - сказав він

    Привіт, друзі:

    Стаття здається мені чудовою, хоча і "небезпечною" для тих з нас, хто більш новачок і лякається.

    Я вже давно пропускаю хорошу статтю, яка дає нам зрозуміти, як багатофункціональна система принтерів, така як моя (Canon MG 7150), працює через Wi-Fi.

    З Linux я ніколи не змушував його працювати повністю. Мені вдалося змусити принтер підключити USB, щоб він працював, але сканера ні Wi-Fi, ні кабелем ніколи.

    Ось чому сьогодні я піднімаю тему і водночас дякую вам за те, що ви надали нам статті такої якості, як нинішня; але водночас я хотів би, щоб хтось, хто знає, як це зробити, полегшив нам роботу вищезгаданої системи.

    Дякую та ласкаві побажання

  3.   Габріель - сказав він

    Спочатку загляньте в BIOS, чи є опція MULTIBOOT (де вам потрібно її активувати), якщо ні, то вона існує, щоб завантажуватися з USB, як правило, під час увімкнення ПК потрібно деякий час утримувати клавішу F8 (у для інших ПК це зазвичай F12) і там меню завантаження переходить, показуючи параметри: жорсткий диск, CD, USB. У разі наявності UEFI, USB повинен бути згенерований з опцією UEFI, якщо він не розпізнає його.