LinuxからBIOS、UEFI、またはマイクロコードを更新する方法

Intel XEONE5のダイショットまたは顕微鏡写真

あなたは知っていますか BIOSを更新する方法 あなたのPCから? Spectre、Meltdown、およびそのすべての亜種やその他のセキュリティホールがハードウェア、特にCPUで検出された脆弱性により、コンピュータのBIOSまたはUEFIを更新する方法を知ることで、それらの多くが解決されることを何度も読んだことは間違いありません。 。、CPUが使用するマイクロコードには更新またはパッチが必要であるため、CPUコントロールユニットの動作方法を変更して、前述の脅威に対して脆弱にならないようにします。

脆弱性に加えて、 ファームウェアを更新できます ハードウェアデバイスの誤動作、不可解な方法でのソフトウェアの絶え間ないエラー、いくつかの機能を追加するための更新など、他の多くの理由で。 しかし、私が言ったように、ここ数ヶ月、セキュリティの問題が原因でこの用語を何度も耳にしました。これは、場合によっては非常に重大であり、最新のマイクロプロセッサがジャンプ、キャッシュ、FPU、投機的実行を処理する方法に関係していました。他の場合では、チップセットやこれらのプラットフォームに統合された特定のセキュリティプロセッサなど、システムの他の部分で検出されています...

ファームウェアとは何ですか?

マザーボードのBIOSチップ

私たちは皆、ハードウェア(コンピューターの物理的で触知可能な部分、つまり電子機器)とソフトウェア(触れることができない論理的な部分:プログラム)が何であるかについて非常に明確です。 しかし、ハードウェアとソフトウェアの間、またはむしろハードウェアとオペレーティングシステムのカーネルの間には、別の何かがあります。 ファームウェア。 ファームウェアは、マウス、光学ドライブから、マイクロコードで動作するGPUやCPUに至るまで、コンピューターのすべてのデバイスとパーツに存在します。

しかし、それは何ですか? さてあなたはそれを言うことができます コードですつまり、ソフトウェア、したがって論理コンポーネントですが、今回は変更できません。 低レベルで動作し、電子回路の機能を直接制御します。 このファームウェアは、コントローラーまたはドライバーの助けを借りて、オペレーティングシステムのカーネルがハードウェアにタスクを実行するように命令したときに、それを実行できるようにします。 このプログラムまたはコードは、デバイスの製造元によって、通常はフラッシュであるメモリ、またはEEPROMなどのある種のROMに記録されています。

しかし、この記事で私たちが最も興味を持っているファームウェアのXNUMXつは、 BIOSまたはUEFI これは、機器の起動時や操作時にさまざまな機能を備えた非常に重要なファームウェアであるためです。 たとえば、このコードは、起動時にマシンをアクティブ化し、オペレーティングシステムが利用可能なハードドライブまたはメディアを検出し、コンポーネントおよび周辺機器の他のファームウェアに干渉するチェックを実行し、システムの起動時にカーネルに制御を与える役割を果たします。始めること ...

更新するとCPUに影響するのはなぜですか?

CPUピン

...そしてこれはCPUと関係があります。 CPUが持っていることが判明 コントロールユニット、この制御ユニットは、マイクロプロセッサまたはCPUの残りの部分を制御する回路です。たとえば、命令をデコードし、オペランドを使用してデータを適切なレジスタに移動し、ALUなどの機能ユニットをアクティブにします。またはFPUであり、実行されている命令のタイプに応じて、データに対して何らかの操作を実行すること。 これらの命令は、その時点で処理されているプログラムまたはソフトウェアコードから取得されます。これは、ご存知のとおり、プログラムは一連の順次命令で構成されているためです。

ご想像のとおり、このコントロールユニットはメーカーまたは設計者が作成した方法で動作します。 いくつかの特定のケースでは、制御ユニットは配線されている場合があります。つまり、制御ユニットは非常に特定の回路で直接実装されているため、通常は非常に高速ですが、あまり柔軟性がありません。 一方、プログラム可能なものもあります。つまり、次のように何らかの方法で動作できる、やや「オープンな」回路です。 マイクロコードまたはファームウェア。 したがって、ファームウェアまたはマイクロコードを変更すると、コントロールユニットを作成できるため、CPUの動作が異なるか、いくつかのバグや脆弱性を修正できます。

あまり技術的になりたくないので、この記事をできるだけ多くの人に届けて、言いたいことがすべて簡単に理解できるようにしたいと思います...そして多くのマシンでは、このコードは通常、 BIOSまたはUEFI ただし、起動のたびにカーネルを介してマイクロコードを更新できる場合もありますが、更新またはパッチを揮発性メモリ、つまりRAMに保存して、BIOS / UEFIを変更する必要をなくします。

LinuxからBIOS / UEFIを更新する方法は?

UEFIASUSインターフェース

LinuxまたはマイクロコードからBIOS / UEFIを更新するには、分解してみましょう 両方の手順。

マイクロコードの更新を実行する前に、次のことを行うことが非常に重要です。 更新されたBIOS / UEFIファームウェアそうしないと、機能しない可能性があります。 したがって、Phoenix、Awardなどの企業プロバイダーのWebサイト、または通常これらのシステムを更新するパッケージが含まれているマザーボードモデルのテクニカルサポートWebサイトを確認してください。

BIOS / UEFIの更新は、リスクに関する前のセクションでわかるように、デリケートなものです。 そのため、自分が何をしているのかわからない場合は、それを行わないことをお勧めします。 更新したい場合 またはあなたはそれを必要とします、しかしあなたは十分な知識を持っていません、常に専門家に相談してください。 さらに、fwupd、BIOSDisck、Flashromなどのプロジェクトをご覧になることをお勧めします。これらはプロセスで役立つ非常に実用的なツールです。

私が一番好きなもののXNUMXつは フラッシュロム、それは 私たちにツールを提供するパッケージ これにより、フラッシュチップの識別、読み取り、書き込み、検証、および消去が可能になります。 これは、BIOS / UEFI / CoreBootをフラッシュするだけでなく、変更可能なファームウェアを備えた他のデバイスのネットワークカードやGPUなどの他のフラッシュメモリを変更するのにも役立ちます。 また、さまざまなオペレーティングシステムと、多数のギアおよびモデルのデバイスとボードをサポートします。

  • flashromパッケージをインストールします これは最も重要なディストリビューションのリポジトリのXNUMXつであるため、通常使用するパッケージマネージャーを使用してディストリビューションで使用します。
  • 使用 rootまたはsudo、それを使用するには、デリケートなものにするための特権が必要です。
  • ファームウェアを特定する これは、コマンドを実行するだけで使用できます。
flashrom

  • 私はあなたがすることをお勧めします 現在のROMをバックアップします、新しいアップデートが機能しないことがわかり、元に戻したい場合。 それのための:
flashrom -r copia_seguridad.bin

  • ええ、私は知っています 新しいROMがあります RELIABLEソースからダウンロードしたもので、次のコマンドを使用してフラッシュできます。たとえば、新しい更新プログラムの名前がuefi-sm.binの場合です。
flashrom -wv uefi-sm.bin

詳細については、次のマニュアルを参照してください。 男flashrom.

マイクロコードの更新:

BIOS / UEFIに触れることなく、つまりLinuxカーネルを簡単に変更するだけで、CPUのマイクロコードを更新するには、CPUに必要なパッケージをインストールすることを選択できます。 たとえば、最新のAMD CPUを使用している場合、通常は次のようになります。 パッケージをインストールします 呼ばれます amd64-マイクロコード、およびIntelの場合はパッケージ インテル-マイクロコード (openSUSE、SUSE、RHEL、CentOSなどを使用する場合、パッケージは呼び出されます microcode_ctl、 信頼できるWebサイトで見つけることができるArchintel-ucodeまたはamd-ucode ...)(x86マシンの場合、ARMまたはそれとは異なる場合は、製造元のWebサイトにアクセスしてください)。 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、およびその他のCPUメーカーまたは設計者は、マイクロコードまたはファームウェアを更新するためにバイナリブロブをtarballに提供する場合があります。 これらのパッケージのいずれかを信頼できる場所からダウンロードした場合は、販売代理店から提供された指示に従うか、READMEファイルを参照してください。

BIOSを更新する前の危険とヒント

リサイクル用マザーボード

ファームウェアまたはマイクロコードの更新 CPUの使用とは、ほとんどの場合、CPUプロバイダーが提供するクローズドコード、クローズドカーネルドライバー(バイナリブロブ)などを更新することを意味します。 その内容と操作方法は不明であり、あなたが知っておくべき論理的であるように思われるので、これを明確にしたいと思います。 原則として、無料のハードウェアを使用しない場合は、CPUまたはマザーボードの製造元または設計者を信頼するしかありませんが、非常にデリケートなものであるため、非公式のWebサイトからマイクロコードまたはファームウェアをダウンロードすることは絶対にしないでください。

実際、 デリケートです セキュリティ上の理由から、機器を完全に使用できなくする可能性もあります。 信頼できるWebサイトからファームウェアをダウンロードした場合でも、停電などのプロセス中に問題が発生し、アップデートのインストールとファームウェアが完全に破損したままになる可能性があります。つまり、購入にお金をかけることをすでに考えている可能性があります。新しいマザーボード。

これは、用語で知られているものです ハードウェアスラングのレンガつまり、ハードウェアをレンガのように残し、ユーティリティは一切使用しないでください。 これに注意して、ファームウェアの更新またはBIOS / EFIのフラッシュを決定した場合に発生する可能性のあることについては責任を負わないことをお伝えしたいと思います。 ただし、これは必ずしもリスクを意味するわけではないことに注意してください。前に述べたように、BIOS / EFIに「触れる」必要は必ずしもありません。また、OSレベルのみであり、これらのリスクを意味しない更新もあります。 。

このチュートリアルがお役に立てば幸いです。質問や提案があれば、忘れずに 注釈...


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ルーベンホラシオスペコーニャ

    こんにちはおはようございますxubuntu14をノートブックにインストールし、ファイルをダウンロードしてインストールしたかったのですが、USBキーから再起動するように求められたときに、BIOSを入力し、ブートメニューにフラッシュメモリが見つかりません。誰か助けてくれませんか私、すでにありがとうございました。

  2.   ホセ・ルイス・マテオ

    Helloのお友達:

    より新しくて恐ろしい私たちにとっては「危険」ですが、この記事は素晴らしいと思います。

    私のような多機能プリンターシステム(Canon MG 7150)がWifi上でどのように機能するかを理解するための良い記事を長い間見逃してきました。

    Linuxでは、完全に機能するようにしたことはありません。 プリンターをUSBで接続して動作させることができましたが、スキャナーもWi-Fiでもケーブルでも接続できませんでした。

    そのため、本日はこのテーマを取り上げると同時に、現在のような品質の記事を提供していただきありがとうございます。 しかし同時に、その方法を知っている人に、前述のシステムをより簡単に機能させてもらいたいと思います。

    よろしくお願いします

  3.   ガブリエル

    MULTIBOOTオプションがあるかどうか(アクティブにする必要がある場合)、BIOSを最初に調べます。ない場合は、USBで起動します。通常、PCの電源を入れるときに、F8キーをしばらく押し続ける必要があります(他のPCは通常F12)で、ブートメニューがジャンプしてオプション(ハードディスク、CD、USB)が表示されます。 UEFIを使用している場合、USBはUEFIオプションを使用して生成する必要があります。そうでない場合、USBは認識されません。