Intel F/W BIOS 改造方法

ME領域の OEMデータのクリーンアップ

Translate this page into English


関連ページへのリンク

履歴: 2021/ 2/22 初回アップ

PC工房(BIOS画面は "iiyama")製 PCの Sleep不具合に端を発して、UEFI/BIOSの改造にハマってしまった。前3回は大した根拠もなく SPI Writerを購入して現状 BIOSをダンプ(SPIチップから読出し)して、それを編集>アップデートしてみた。
しかし、前回「これだっ!」と思った電源管理などに関する F/Wである PMC領域をアップデートしてみたが、結局不具合は再発した。一瞬途方に暮れたが Wind-raid.com という情報元の掲示板で質問などしたところ、ME領域の OEMデータをクリーンアップすると効果があるという指摘があり、教えられたページの英文を「鉛筆なめなめ」しながら翻訳理解してトライしてみた。
結果、現時点までは不具合発生が認められず治ったかも知れない。
ここで述べることは単に私の環境で試した結果であって、保証するものではありません。BIOSアップデートはもちろん、改造BIOSのアップロードとなるとかなりの確率で起動しなくなるという致命的事態を招きます。
更に こうした狭い世界のツールにはダウンロードしたファイルに Virusが含まれる可能性も高いので、そうした自衛策に自信がない人は試さないことをお勧めします。
いずれにしても全て自己責任です。

  1. BIOSのクリーンアップとは
  2. SPIチップ(EEPROM/不揮発性メモリ)に記憶されている BIOS(最近の PCは UEFI BIOS)は、電源管理などを担うコプロセッサ(小型ワンチップマイコン)のプログラムやデータ、メインCPU の型番毎に異なる Microcode、メインCPUなどに搭載されているグラフィックプロセッサのファームウェア(F/W)、マザボに搭載されているチップセットのF/W、さらには BIOS自身をアップデート/ダウングレードするために書き換えたり、(UEFI)BIOSの設定を行うためのプログラムや起動中に書き込まれる一部のデータなどが含まれる。
    これらの元になるコードは Intel/AMDなどの CPU/Chipsetメーカーから PC(マザーボード)メーカーに供給されるが、その PCメーカーはベースとなる AMI/Award などの 互換BIOSに対して、搭載する CPU/チップセットの種類や ストレージの種類や数、I/Oポートの種類や数などマザボの設計に応じて編集して SPIチップに書き込む。
    また、工場で SPIチップに書き込まれた後に実際に電源投入されて BIOSが実行されると、その状態に応じて BIOS内の一部のデータが書き換えられる。
    BIOSのクリーンアップとは、<私の理解では> PC(マザーボード)メーカーが独自に編集して書き込んだデータや出荷後に書き換えられたデータなどを極力 Intelが供給した初期状態のコードに戻す処理のこと。
    今回の Sleep不具合は、同じチップセットなどを用いている他のメーカーのマザボ あるいは ASRockの他のマザボであっても発生していない(と思われる)ことから、クリーンアップして Intel謹製のコードに近づければ発生しなくなるという(一縷の)望みがある。
    なお、私の作業環境については一つ前のページのここを参照。
  3. チップセット Platform/バージョンの把握と対応ツールのダウンロード
  4. 前のページを参照して、 アップデートするマザボのChipset Platform/バージョン等を調べそれに対応し かつ最新の Intel CSME System ToolIntel CSME Firmware Repository をダウンロードする。
    例として今回私がクリーンアップしようとする BIOSは、PC工房ブランドの 「ASRock B360M」とシルク印刷されたマザボからダンプしたファイル。なお ダンプする前にこのページで説明した PMC F/Wのアップデートを行っているので購入時のままのものとは CSME/PMCのマイナーバージョンは異なっている。
    図-1
    この BIOSを ME Analyzer(MEA.exe)に D&Dすると図-1のような コマンド画面になるので Option(s): は空のままでEnterキーを押す。
    図-2
    ME Analyzerによる解析が終わると 図-2 のような画面になるので、赤線部分の情報(Version / SKU / Chip set)に基づいてツールをダウンロードしたり以下で使用するファイルを選択する。
    また「File System State」が 「Initialized」になっていることを確認する。 マザボメーカーの Webページからダウンロードしたアップグレード用の BIOSファイルは一度もターゲットシステムで書き換えられていないので「Configured」となっていて、作業途中でエラーとなる。
    現在のダウンロードリンクは ここ「C2. Intel (CS)ME System Tools」にあるが、「CSME System Tools vXX.XX rYY - (2020-12-30)」 などとなっている名前の 「XX.XX」は 図-2 の BIOSバージョンと同じものを選ぶ(のだと思う)。
    B360M の場合は 図-2 の情報から 「CSME System Tools v12 r30」と「Intel CSME 12.0 Firmware Repository r25」を選択した。
    また前のページで説明した ME Analyzerも使用するので、Virus対策なども参照のこと。
  5. 解凍と該当ファイルの選択
  6. 図-3
    上記ダウンロードリンク先には、Intelチップの関連の F/Wや ツール関連の一連のファイルが沢山あって選択に迷うが、ダウンロードしたファイルを解凍した中にも多くのファイルがあるので、 上記で調べたバージョンなどに対応した必要なファイルを選択する。
    ダウンロードしたらそれぞれの圧縮ファイルを解凍する。ここで使用する一連のファイルの解凍には rar圧縮の解凍ツール(7z など)が必要になる。
    CSME System Tools からは、fit.exe / MEInfoWin64.exe / FWUpdLcl64.exe / FPTW64.exe / MEManufWin64.exe / cctWin.exe などの実行ファイルやその実行に必要な dllなどの関連ファイルが解凍できる(それぞれ Win64bit/32bit/linux版などが含まれている)。

    図-4
    Intel CSME 12.0 Firmware Repository r25」には図のように 12.0.0~12.0.71 の初期~最新バージョンの CON/SLM/COR とその H/LP のチップセットの全ての ファームウェアデータが揃っている。今回は上記 ME Analyzer の解析結果から最新バージョン 1681 のCON(コンシュマー) H である「12.0.71.1681_CON_H_BA_PRD_EXTR.bin」を選択した。(このファイルはこの下で「MESubPartition.bin」とリネームして使う。)
  7. FITツールの実行
  8. A. System Toolsの、”\Flash Image Tool\win32”サブフォルダー中に fit.exe があるのでそれを実行して、表示された ウインドウに 改造するダンプした BIOSファイルを D&Dでロードする。

    図-5

    解析が終わったらメニューの「Build > Build Settings」をクリックする。


    図-6

    B.Build Settings」というウインドウがポップアップするので、その中の「image Build Settings」中の「Generate Intermediate Files」で「No」を選択し、他のすべての設定はそのままにして、「Close」をクリックして「Build Settings 」ウインドウを閉じる。


    図-7

    C. 親ウインドウに戻るので "File > Save As" に移動し、構成済 xmlファイル(この場合は「config.xml」という名前をつけて)を FITツールの実行フォルダー配下のBIOSファイル名(図の場合は \b360m_10 )のついたサブフォルダーに「Save」をクリックして保存し FITツールを一旦閉じる。


  9. Firmware Repository ファイルへの置換
  10. 図-8
    ここまでの作業で FITツールの実行ファイルフォルダーに使用したBIOSファイル名のフォルダーが生成されて、更にその中の「Decomp」サブフォルダー(私の場合は \Flash Image Tool\WIN32\b360m_10\Decomp )に「BIOS Region.bin」、「CSE Region.bin」、「Desctipter Region.bin」、「OemBinary.bin」など、多数のファイル(BIOSリージョン、フラッシュ記述子、OEMリージョンなど)が生成されている。
    そこに上記 3.項で選択した Firmware Repository ファイルをコピーして「MESubPartition.bin」とリネームする。
    こうすることで、この下の作業でこの Intelが配布したリポジトリファイルに上記で生成された 「config.xml」ファイルに基づいて、元のダンプされた BIOSから抽出した各種構成ファイルが適正な位置に埋め込まれる。
  11. FITツールの再実行
  12. 図-9
    FIT.exe を再実行して、「File > Open」で上の 4.- C で保存した「config.xml」を開く。
    図-10
    メニューの「Build > Build Image」をクリックして BIOSイメージをビルドする。
    ( FITツールは 4.の中でロードしたダンプ BIOSを解析し、各領域中の構成ファイルや Dataの Offsetや Sizeなどの構成情報を 「Config.xml」ファイルに記録するとともに、各構成要素を「Decomp」フォルダーに OemBinary.bin / BIOS Region.bin / EcRegionPointer.bin などとして抽出・保存する。 CSMEリージョン中の各構成ファイルと ダウンロードした 「Intel CSME 12.0 Firmware Repository r25」中からリネーム&コピーした「MESubPartition.bin」ファイルを読み込んだ「config.xml」に基づいてクリーンアップした BIOSを再構成しているものと思われる。)
    図-11
    私の場合、ここで図のような情報が表示されたが そのまま「Yes」をクリックして進んだ。
    ( FITツールの画面で「Platform Protection」中の「Boot Guard Profile Configration」を参照すると
    Boot Guard Profile 0 - Legacy is for platforms that do not wish to enable Boot Guard boot block verification or measurement protection.
    When manufacture is completed, this value is burned into an FPF, and is permanent.
    This setting is only configurable when OEM signing is enabled( See PlatformIntegrity/ OemPublickKeyHash.)
    となっていて、致命的な問題ではなさそうだと判断。)

    図-12
    最終的にウインドウの下の進行状況表示ペインに 図のような処理結果の情報が表示される。
    下線部の通り、FIT実行フォルダーに「outimage.bin」というクリーンアップされた BIOS出力ファイル(SPIライターでアップデートできる BIOSファイル全体)が出力されたと分かる。(FITツールの出力ファイル名はいつも同じになるので、分かりやすい名前に変更するか、アップデート用フォルダーに移動しておくのが吉)
    この他同じフォルダーに「cse_image_FWU_Base.bin」「cse_image_FWU_Full.bin」という2つのファイルも出力されている。(多分 UEFIがファームウェアアップデート機能を有していればそこからこのファイルを使って CSME領域だけのアップデートもできるのだと思うが、B360Mにはそうした機能はないのでこちらのファイルは使わなかった。)
  13. SPIライターでアップデート
  14. 上記で出力された「outimage.bin」を使って CH341A などの SPIライターとそのユーティリティを使って マザボの SPIチップに対して書き込みを行う。
    SPIライターの使い方に関しては別途

  15. 問題の Sleep不具合は?
  16. かなり苦労&紆余曲折した Sleep不具合だが、苦労の甲斐あって ここでの作業(ME領域のクリーンアップ)によって目出度く解決した。
    処理した BIOSをアップデートして 2ヶ月近く経つが、全く再発しなくなったので、自信を持って「解決」と宣言!

    >続き その5:ビデオ関連(GOP-VBT/VBIOS) 更新



このページ(BIOS_edit04.html)にコメント/質問をどうぞ
タイトル(30文字以内)
コメント
お名前(ID:10文字以内)
URL(HP or ブログをお持ちの方)
パスワード*
タイトル・コメント・ID は必須です
このページ(BIOS_edit04.html)への今までのコメント/質問
このページにはまだ表示できる投稿がありません。

Back to Page top

Access Counter:  総アクセス数



WiFiがどうしてもつながらない時  by Amazon
オススメの PLCアダプタ(2個セット)