Как обновить BIOS, UEFI или микрокод из Linux

Матрица или микрофотография Intel XEON E5

Знаете ли вы, как обновить BIOS с вашего ПК? С такими уязвимостями, как Spectre, Meltdown и все его варианты, а также другими дырами в безопасности, обнаруженными в оборудовании, особенно в процессорах, вы наверняка много раз читали, что многие из них решаются, зная, как обновить BIOS или UEFI вашего компьютера. ., поскольку для микрокода, используемого ЦП, требуется обновление или исправление, которые, таким образом, изменяют способ работы блока управления ЦП, чтобы он не был уязвим для указанных угроз.

Помимо уязвимостей, прошивка может быть обновлена по многим другим причинам, таким как неисправность аппаратного устройства, постоянные необъяснимые ошибки в программном обеспечении, обновления для добавления некоторых функций и т. д. Но, как я уже сказал, в последние месяцы мы слышали этот термин слишком много раз из-за проблем с безопасностью, которые в некоторых случаях весьма критичны и были связаны со способом, которым современные микропроцессоры обрабатывают некоторые переходы, кэш, FPU и спекулятивное выполнение, хотя в других случаях они были обнаружены в других частях системы, таких как наборы микросхем или определенные процессоры безопасности, интегрированные в эти платформы ...

Какая прошивка?

Микросхема BIOS материнской платы

Нам всем совершенно ясно, что такое аппаратное обеспечение (физическая и ощутимая часть компьютера, то есть электроника) и программное обеспечение (та логическая часть, к которой нельзя прикоснуться: программы). Но между железом и программным обеспечением, а точнее между железом и ядром операционной системы есть кое-что еще: прошивка. Прошивка присутствует во всех устройствах и частях компьютера, от мыши, оптического привода до графического процессора и процессора, которые работают с микрокодом.

Но что это? Ну ты можешь сказать это это код, то есть программное обеспечение и, следовательно, логический компонент, но на этот раз его нельзя изменить. Он работает на низком уровне и напрямую контролирует функциональность электронных схем. Эта прошивка с помощью контроллеров или драйверов позволяет, когда ядро ​​операционной системы дает команду оборудованию для выполнения задачи, оно выполняет ее. Эта программа или код были записаны производителем устройства в память, которая обычно является флэш-памятью, или в ПЗУ какого-либо типа, например EEPROM.

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

Почему его обновление влияет на ЦП?

Выводы ЦП

... и это довольно хорошо связано с процессором. Оказывается, у процессоров есть блок управления, Этот блок управления представляет собой схему, которая отвечает за управление остальными частями микропроцессора или ЦП, например, за декодирование инструкций и передачу данных с операндами в соответствующие регистры, а затем за активацию некоторого функционального блока, такого как АЛУ. или 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 в вашем дистрибутиве с помощью менеджера пакетов, который вы обычно используете, поскольку это инструмент, который находится среди репозиториев наиболее важных дистрибутивов.
  • Использовать корень или sudo, так как для его использования нужны привилегии на что-то деликатное.
  • Определить прошивку который мы используем, просто выполняя команду:
flashrom

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

  • да уже у нас есть новый ROM который мы загрузили из НАДЕЖНОГО источника, мы можем использовать следующую команду для прошивки, например, если наше новое обновление называется uefi-sm.bin:
flashrom -wv uefi-sm.bin

Для получения дополнительной информации обратитесь к руководству по человек flashrom.

Обновить микрокод:

Чтобы обновить микрокод нашего процессора, не касаясь BIOS / UEFI, то есть с помощью простой модификации в ядре Linux, вы можете выбрать установку необходимых пакетов для вашего процессора. Например, если у вас современный процессор AMD, нормальным является то, что установить пакет называемый amd64-микрокода, а для Intel - пакет Intel-микрокод (если вы используете openSUSE, SUSE, RHEL, CentOS и т. д., пакет называется микрокод_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 и другие производители или разработчики процессоров предоставляют архивы с двоичными двоичными объектами для обновления микрокода или прошивки. Если вы загрузили один из этих пакетов из надежного места, следуйте инструкциям распространителя или обратитесь к файлам README.

Опасности и советы перед обновлением BIOS

Материнские платы на вторичную переработку

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

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

Это то, что известно под термином кирпич на аппаратном сленге, то есть оставьте свое железо как кирпич, без всяких утилит. При этом я хочу сказать вам, чтобы вы были осторожны и не несем ответственности за то, что может произойти, если вы решите обновить прошивку или перепрограммировать BIOS / EFI. Но будьте осторожны, это не всегда связано с рисками, как я уже говорил вам ранее, вам не всегда нужно «трогать» BIOS / EFI, есть также обновления, которые находятся только на уровне ОС и не связаны с этими рисками. .

Надеюсь, этот урок был полезен, любые вопросы или предложения, не забудьте оставить свой комментарии...


Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Рубен Орасио Спекогна сказал

    привет, доброе утро, я хотел установить xubuntu 14 на свой ноутбук и загрузить файлы, установить их, но когда он запрашивает перезагрузку с USB-ключа, я вхожу в BIOS, и я не могу найти флеш-память в меню загрузки, может кто-нибудь помочь мне, от уже большое спасибо.

  2.   Хосе Луис Матео сказал

    Здравствуйте, друзья:

    Статья кажется мне отличной, хотя и «опасной» для тех из нас, кто больше новичок и напуган.

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

    С Linux я никогда не заставлял его работать полностью. Мне удалось заставить работать принтер, подключенный через USB, но не сканер, ни по Wi-Fi, ни по кабелю.

    Вот почему сегодня я поднимаю эту тему и одновременно благодарю вас за то, что вы предоставили нам статьи такого качества, как нынешняя; но в то же время мне хотелось бы, чтобы кто-нибудь, кто знает, как это сделать, упростил нам работу вышеупомянутой системы.

    Спасибо и добрые пожелания

  3.   Габриель сказал

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