「Linux から BIOS を書き換える」の版間の差分
(同期) |
(→Windows PE: 同期) |
||
(4人の利用者による、間の22版が非表示) | |||
5行目: | 5行目: | ||
{{Warning|マザーボードの BIOS を書き換えることは危険なことであり、あなたのマザーボードを使い物にならなくしてしまう可能性もあります。この記事の著者は何度もこの方法で成功していますが、実際にあなたも上手くいくとは限りません。注意してください。[[マイクロコード]]のアップデートがサポートされている場合は代わりにそちらを考慮すると良いかもしれません。}} |
{{Warning|マザーボードの BIOS を書き換えることは危険なことであり、あなたのマザーボードを使い物にならなくしてしまう可能性もあります。この記事の著者は何度もこの方法で成功していますが、実際にあなたも上手くいくとは限りません。注意してください。[[マイクロコード]]のアップデートがサポートされている場合は代わりにそちらを考慮すると良いかもしれません。}} |
||
+ | {{Note| |
||
− | ==BiosDisk== |
||
+ | * HP を使っている場合、HP のウェブサイトから Windows BIOS アップデータをダウンロードして、*.exe ファイルを解凍して ISO イメージを CD に書き込むことができます。以下のツールを利用しなくても CD を使うことで BIOS メニューの 'Firmware Upgrade' からアップグレードが可能です。詳しくは [https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/How-to-update-BIOS-on-Linux/td-p/4869835 こちらのスレッド] を参照してください。 |
||
− | [http://linux.dell.com/biosdisk/ BiosDisk] は Linux におけるシステム BIOS の書き換えプロセスを簡単にします。 |
||
+ | * Dell 製のコンピュータを使っている場合、Dell が Linux ユーザーに推奨している BIOS の更新情報が [https://www.dell.com/support/article/jp/ja/19/sln171755/updating-the-dell-bios-in-linux-and-ubuntu-environments こちら] に存在します。}} |
||
+ | == fwupd == |
||
− | ===インストール=== |
||
+ | {{Pkg|fwupd}} はソフトウェアによってローカルマシンのファームウェアをアップデートできるようにするシンプルなデーモンです。デスクトップ用に開発されていますが、スマートフォンやタブレット、ヘッドレスサーバーなどでも利用できます。GNOME Software などの GUI のソフトウェアマネージャを使ってアップデートを表示・適用したり、コマンドラインツールやシステムの D-Bus インターフェイスを直接使うことができます。 |
||
− | {{AUR|biosdisk-git}} が [[Arch User Repository|AUR]] からインストール可能です。 |
||
+ | Dell や Logitech などのメーカーによって Linux にファームウェアのアップデートを配布するために使われています。 |
||
− | ===使用方法=== |
||
− | biosdisk ユーティリティを使って BIOS フラッシュイメージを作成するには、まずメーカーのウェブサイトからあなたのシステム用の最新の生の BIOS イメージをダウンロードします。ただし、入手するのは BIOS 実行ファイルであって Windows の実行ファイルでないのでそこを確認してください。それからは複数の選択肢があります: フロッピーを作成する、dd フロッピーイメージを作成する、ユーザーがインストールできるディストリビューションごとのパッケージを作成する (例: RPM)、もしくは実際にブートローダーにイメージをインストールする。 |
||
+ | fwupd は UEFI モードでの BIOS アップデートだけサポートしています。 |
||
− | * mkfloppy は biosdisk イメージを作成してフロッピーディスクに直接書き込みます。使用方法は以下の通り: |
||
+ | インストールや使用方法について詳しくは [[fwupd]] を見てください。 |
||
− | # biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe |
||
+ | == BiosDisk == |
||
− | * mkimage はユーザーのハードドライブ上にフロッピーイメージを作成します。使用方法は以下の通り: |
||
+ | [https://github.com/dell/biosdisk BiosDisk] は Linux におけるシステム BIOS の書き換えプロセスを簡単にします。 |
||
+ | {{Note|"Legacy mode" で起動している場合のみ BIOS を書き換えることができます。UEFI モードでは別の手段を使う必要があります。}} |
||
− | # biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe |
||
+ | === インストール === |
||
− | * mkpkg はフロッピーイメージを作成し、それを使ってディストリビューションにあわせてユーザーがインストールできるパッケージを作成します (例: RPM)。このパッケージがインストールされると、ディストリビューションの固有のツールが使われてシステムのブートローダーを更新し、フロッピードライブがなくともハードドライブのイメージを起動して BIOS が書き換えられるようになります。今のところは Red Hat/Fedora の RPM パッケージしかサポートされていません。使用方法は以下の通り: |
||
+ | {{AUR|biosdisk-git}} パッケージを[[インストール]]してください。 |
||
+ | === 使用方法 === |
||
− | # biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img} |
||
+ | |||
+ | biosdisk ユーティリティを使って BIOS フラッシュイメージを作成するには、まずメーカーのウェブサイトからあなたのシステム用の最新の生の BIOS イメージをダウンロードします。ただし、入手するのは BIOS 実行ファイルであって Windows の実行ファイルでないのでそこを確認してください。それからはふたつの選択肢があります: ISO を作成するか、あるいはブートローダー用のイメージをインストールするかです。 |
||
+ | |||
+ | * mkimage はユーザーのハードドライブ上に ISO イメージを作成します。使用方法は以下の通り: |
||
+ | |||
+ | # biosdisk mkimage [-o option] [-i destination] /path/to/.exe |
||
* install は biosdisk イメージを作成して、イメージファイルを {{ic|/boot}} にコピー、そしてそのイメージのエントリと共にブートローダーを更新します。したがってユーザーがするべきことはシステムを起動し BIOS を書き換えるイメージを選択するだけです。ハードドライブから直接 biosdisk イメージがロードされて BIOS が書き換えられます。 |
* install は biosdisk イメージを作成して、イメージファイルを {{ic|/boot}} にコピー、そしてそのイメージのエントリと共にブートローダーを更新します。したがってユーザーがするべきことはシステムを起動し BIOS を書き換えるイメージを選択するだけです。ハードドライブから直接 biosdisk イメージがロードされて BIOS が書き換えられます。 |
||
− | # biosdisk install [-o option] [--name=] /path/to/ |
+ | # biosdisk install [-o option] [--name=] /path/to/.exe |
− | ==Flashrom== |
+ | == Flashrom == |
[http://www.flashrom.org/Flashrom Flashrom] はフラッシュチップを確認・読込・書込・検証・消去するためのユーティリティです。メインボードやネットワーク・グラフィック・ストレージコントローラーカード、そして様々なプログラマーデバイスにおける BIOS/EFI/coreboot/ファームウェア/optionROM イメージを書き換えるために作られました。 |
[http://www.flashrom.org/Flashrom Flashrom] はフラッシュチップを確認・読込・書込・検証・消去するためのユーティリティです。メインボードやネットワーク・グラフィック・ストレージコントローラーカード、そして様々なプログラマーデバイスにおける BIOS/EFI/coreboot/ファームウェア/optionROM イメージを書き換えるために作られました。 |
||
+ | {{Warning|ノートパソコンを使っている場合は flashrom を使用しないでください。ノートパソコンの EC を操作すると書き込み中にマシンがクラッシュする可能性があります。flashrom はマシンがノートパソコンかどうか判別しますが、全てのノートパソコンが標準に従っているわけではないので 100% の安全は保証できません [https://www.flashrom.org/Board_Testing_HOWTO]。}} |
||
− | ===インストール=== |
||
− | [[公式リポジトリ]]の {{pkg|flashrom}} パッケージか [[Arch User Repository|AUR]] の {{AUR|flashrom-svn}} を[[インストール]]してください。 |
||
− | === |
+ | === インストール === |
+ | {{pkg|flashrom}} か {{AUR|flashrom-git}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | === 使用方法 === |
||
ウェブサイトであなたのマザーボードや (内部の) チップセットが flashrom によってサポートされているか確認してください: [http://www.flashrom.org/Supported_hardware Supported Hardware]。次のコマンドを実行してハードウェアがサポートされているか確認することもできます: |
ウェブサイトであなたのマザーボードや (内部の) チップセットが flashrom によってサポートされているか確認してください: [http://www.flashrom.org/Supported_hardware Supported Hardware]。次のコマンドを実行してハードウェアがサポートされているか確認することもできます: |
||
# flashrom --programmer internal |
# flashrom --programmer internal |
||
52行目: | 62行目: | ||
# flashrom |
# flashrom |
||
+ | {{Note|1=Linux カーネルのバージョン 4.4 以上では、カーネルの新しいセキュリティ機能である {{ic|CONFIG_IO_STRICT_DEVMEM}} によって flashrom の動作が停止する可能性があります。そのような場合はカーネルパラメータに {{ic|1=iomem=relaxed}} を追加してみてください [https://www.flashrom.org/FAQ]。}} |
||
− | ==FreeDOS== |
||
+ | |||
+ | == FreeDOS == |
||
+ | |||
[http://www.freedos.org/ FreeDOS] はフリーの DOS 互換のオペレーティングシステムで、プロプライエタリの DOS を必要なくさせるという挑戦をしています。必要なのは FreeDOS カーネルが載ったブータブルフロッピーディスクイメージだけです。 |
[http://www.freedos.org/ FreeDOS] はフリーの DOS 互換のオペレーティングシステムで、プロプライエタリの DOS を必要なくさせるという挑戦をしています。必要なのは FreeDOS カーネルが載ったブータブルフロッピーディスクイメージだけです。 |
||
− | ===Unetbootin=== |
+ | === Unetbootin === |
− | ブータブルな FreeDOS USB スティックを作成する一番簡単な方法は[[公式リポジトリ]]の {{pkg|unetbootin}} を使うことです。 |
||
+ | ブータブルな FreeDOS USB スティックを作成する一番簡単な方法は {{AUR|unetbootin}} を使うことです。 |
||
− | USB メモリを FAT16 でフォーマットして "boot" フラグを有効にします ({{Pkg|gparted}}, {{AUR|qtparted}}, {{Pkg|partitionmanager}} などで GUI を使って行うことができます)。それから、フラッシュドライブをマウントした後、ディストリビューション '''FreeDOS''' とマウントしたスティックを選択します。アプリは自動的にイメージをダウンロードしてドライブにコピーします。最後に、書き換えたいもの全てをコピーすることができます (BIOS, ファームウェアなど)。 |
||
+ | |||
+ | USB メモリを FAT16 でフォーマットして "boot" フラグを有効にします ({{Pkg|gparted}} や {{Pkg|partitionmanager}} などで GUI を使って行うことができます)。それから、フラッシュドライブをマウントした後、ディストリビューション '''FreeDOS''' とマウントしたスティックを選択します。アプリは自動的にイメージをダウンロードしてドライブにコピーします。最後に、書き換えたいもの全てをコピーすることができます (BIOS, ファームウェアなど)。 |
||
{{Warning|Unetbootin は Lenovo のシステムで正しく作動しないことがあります。ブータブルスティックを別のデバイスに作成する必要があるかもしれません。[http://reboot.pro/topic/9849-blinking-cursor-at-boot/ こちら] を見て下さい。}} |
{{Warning|Unetbootin は Lenovo のシステムで正しく作動しないことがあります。ブータブルスティックを別のデバイスに作成する必要があるかもしれません。[http://reboot.pro/topic/9849-blinking-cursor-at-boot/ こちら] を見て下さい。}} |
||
− | === |
+ | === dosemu === |
+ | |||
− | ブータブルな FreeDOS フラッシュドライブを作成したいときは Gentoo Wiki の [https://wiki.gentoo.org/wiki/BIOS_Update#FreeDOS_environment FreeDOS Flash Drive] を参照。 |
||
+ | 公式 FreeDOS イメージの問題点は、ファームウェアや BIOS のアップデートファイル、プログラムを保持するための余分なスペースがないことです。Linux で任意のサイズの DOS、ブータブル FAT ドライブを作る最も簡単な方法は [[Gentoo:Bootable DOS USB stick|mount a FAT drive under dosemu and then make it bootable with the FreeDOS sys command]] です。 |
||
+ | |||
+ | 別の方法として、[[Gentoo:BIOS Update#FreeDOS environment]] を参照してください。 |
||
=== ビルド済みのイメージ === |
=== ビルド済みのイメージ === |
||
− | 他の方法も存在します: [http://chtaube.eu/computers/freedos/bootable-usb/ FreeDOS prebuilt bootable USB flash drive image by Christian Taube]。 |
||
+ | 他の方法も存在します: [http://chtaube.eu/computers/freedos/bootable-usb/ FreeDOS prebuilt bootable USB flash drive image by Christian Taube] |
||
− | ===イメージがフロッピーに収めるには大きすぎる=== |
||
+ | |||
+ | === Linux で FreeDOS 提供のディスクイメージ+USB メモリを使う === |
||
+ | |||
+ | 執筆時点(2017-07-11)では、{{AUR|unetbootin}} は FreeDOS の1.0より新しいバージョンには対応していません(現在のバージョンは1.2です)。Inspiron 17-3737 を A09 BIOS にアップグレードするには、以下の手順でうまくいきました。(Dell はこれを提供しています [https://www.dell.com/support/article/ca/en/cabsdt1/SLN171755/updating-the-dell-bios-in-linux-and-ubuntu-environments?lang=EN#Creating%20a%20USB%20Bootable%20Storage%20Device こちらのサイト]) |
||
+ | |||
+ | 始める前にいくつか注意点があります。 |
||
+ | |||
+ | * 現在の BIOS のバージョンは {{pkg|dmidecode}} で確認することができます。すでに最新版になっている可能性もあります。 |
||
+ | * ハードウェアベンダがこの方法がうまくいくことを確認していること(BIOS アップデート ''.exe'' を実行するために FreeDOS を使用すること。) |
||
+ | * ノートパソコンのユーザーは AC 電源なしでこれを試みてはいけない |
||
+ | * 危険ですので、この手順を実行する場合は、すべてのリスクを負うことを理解して下さい。 |
||
+ | |||
+ | 手順 |
||
+ | |||
+ | # [https://www.freedos.org/download/ FreeDOS ダウンロードページ] から最新の USB インストーラを入手する。 |
||
+ | #* 著者注:''full'' バージョンを使用したのは、より多くのドライバなどが含まれているのではないかという疑惑からです(純粋な推測です。) |
||
+ | # アーカイブを展開すると、''.img'' ファイルができます。 |
||
+ | # {{ic|/dev/sdX}} のどれが自分の USB メモリか判断する ({{ic|fdisk -l}} を使う) |
||
+ | # イメージをブロックデバイスに直接書き込む。 |
||
+ | #* {{ic|1=dd if=FD12FULL.img of=/dev/sdX status=progress}} |
||
+ | #ブロックデバイスに直接イメージを書き込む。(ここで {{ic|X}} はブロックデバイスとしての USB メモリを表す文字です。パーティションにイメージを書き込まないでください) |
||
+ | # イメージのコピーがうまくいったかどうかダブルチェックしてください。 |
||
+ | #* {{ic|fdisk -l}} です。(起動可能 ("boot") フラグが設定されたDOSディスクの1つのパーティションが表示されるはずです) |
||
+ | # パーティションをマウントし、ファームウェアのアップデートに使用した ''.exe'' をコピーしてください。 |
||
+ | #* ファイル名は8文字以内(拡張子なし)、大文字でお願いします。 |
||
+ | #* ハードウェアベンダから提供されたチェックサムを検証していることを確認します。 |
||
+ | # アンマウントしてリブート USB ドライブから起動するために必要なことは何でもしてください。 |
||
+ | |||
+ | これで FreeDOS のライブインストール環境が整いました。 |
||
+ | |||
+ | # 言語を選択する |
||
+ | # FreeDOS のインストールを促すプロンプトが表示されます。 |
||
+ | #* "いいえ - DOS に戻る" を選択します。 |
||
+ | # プロンプトが表示されるはずです ({{ic|C:\>}}) |
||
+ | # ファームウェアアップグレードツールが存在することを確認します。 |
||
+ | # 実行ファイルを実行する |
||
+ | #* 著者注:Dell のツールの場合、マシンはスプラッシュスクリーンを表示した後、再起動しました。再起動後、自動的にファームウェアのアップグレードが開始され、ファンをフル回転させた状態で2分ほど実行されました) |
||
+ | # ベンダー固有のプロセスが完了したら、オプションで BIOS セットアップ画面や、Linux に戻ったときに {{Pkg|dmidecode}} を実行して確認することができます。 |
||
+ | |||
+ | === FreeDOS 提供のディスクイメージ+USB メモリを Windows で使用する場合 === |
||
+ | |||
+ | この手順の著者は、Linux で dd を使用する前の方法で USB の FAT パーティションタイプをマウントする際にいくつかの問題に遭遇しました。この手順では、FreeDOS と USBメモリと Ruckus を使って、Windows 7/8/8.1/10 上で BIOS をフラッシュする方法の概要を説明します。この手順は、Dell Inspiron 5547 LaptopでBIOS A10 から A12 にアップグレードするために 2019年7月4日 に実行されました。 |
||
+ | |||
+ | 前提条件として |
||
+ | * Windows 用 Rufus をダウンロードし、インストールします。これは、フルインストールまたはポータブルバージョンのいずれかを使用できます。 |
||
+ | * FreeDOS 用の最新の Full USB インストーラ (執筆時点では v1.2) をダウンロード。 |
||
+ | * 最新の BIOS アップデートをベンダーのウェブサイトからダウンロードしてください。 |
||
+ | * ''dmidecode'' がインストールされていることが前提です。 |
||
+ | |||
+ | 手順 |
||
+ | # FD12FULL.zip アーカイブの内容を展開し、''.img'' ファイルに注目する |
||
+ | #フラッシュドライブを挿入し、''FD12FULL.img''ファイルをRufusを使用してフラッシュし、すべてのデフォルトオプションを残す。 |
||
+ | #* Rufus の詳細な使用方法は本ガイドでは扱いません。詳しい使い方は Rufus のマニュアルやドキュメントを参照してください。 |
||
+ | # Rufus でフラッシュしたら、BIOS ファイルの名前を 8 文字の大文字に変更し (拡張子は含まず)、フラッシュドライブにコピーしてください。 |
||
+ | # フラッシュドライブを取り出し、ノートパソコンに差し込んでください。 |
||
+ | # LEGACY BOOT で USB から起動するために必要な手順は何でも実行する。 |
||
+ | #* 著者注: 私の Dell Laptop では、F12 を押してブートオプションを選び、''Legacy Options'' の下で ''USB Storage Device'' を選択しています。私は BIOS から明示的にレガシーブートを有効にしていますが、システムが UEFI で起動するようにしか設定されていない場合、このオプションは表示されないかもしれません。 |
||
+ | # FreeDOS のインストール環境が表示されます。 |
||
+ | #* 優先言語を選択 |
||
+ | #* 次の画面で ''いいえ - DOSに戻る'' を選択します。 |
||
+ | #* USB フラッシュドライブの内容を表示するには ''dir'' と入力します。 |
||
+ | #* BIOS アップグレードファイルを実行するには、ファイル名を入力し、エンターキーを押すだけです。 |
||
+ | #* 注:私のアップグレードは、ファンをフル回転させて2分未満で完了しました。システムの再起動は合計3回です。 |
||
+ | # アップグレードが完了し、システムが OS に戻って起動したら、root で {{ic|dmidecode {{!}} grep -E 'BIOS{!}}Version'}} を発行して BIOS バージョンがアップグレードされたことを確認する。 |
||
+ | |||
+ | === イメージがフロッピーに収めるには大きすぎる === |
||
+ | |||
フラッシュイメージがフロッピーには大きすぎる場合、[http://www.fdos.org/bootdisks/ FreeDos bootdisk ウェブサイト] に行って、10Mb のハードディスクイメージをダウンロードしてください。このイメージは完全なディスクイメージで、パーティションを含んでいるため、フラッシュユーティリティを追加するのはすこし手間が要ります: |
フラッシュイメージがフロッピーには大きすぎる場合、[http://www.fdos.org/bootdisks/ FreeDos bootdisk ウェブサイト] に行って、10Mb のハードディスクイメージをダウンロードしてください。このイメージは完全なディスクイメージで、パーティションを含んでいるため、フラッシュユーティリティを追加するのはすこし手間が要ります: |
||
78行目: | 161行目: | ||
# fdisk -l ''<image-file>'' |
# fdisk -l ''<image-file>'' |
||
− | + | ... |
|
Units = sectors of 1 * '''512''' = 512 bytes |
Units = sectors of 1 * '''512''' = 512 bytes |
||
− | + | ... |
|
Device Boot Start End Blocks Id System |
Device Boot Start End Blocks Id System |
||
* '''63''' 19151 9544+ 1 FAT12 |
* '''63''' 19151 9544+ 1 FAT12 |
||
94行目: | 177行目: | ||
通常の手順どおり USB スティックにイメージをコピーするか、memdisk として起動することが可能です。 |
通常の手順どおり USB スティックにイメージをコピーするか、memdisk として起動することが可能です。 |
||
− | ===使用方法=== |
+ | === 使用方法 === |
+ | |||
OEM Bootdisk バージョンを推奨します。{{ic|kernel}} と {{ic|command.com}} しか含まれておらずフラッシュユーティリティや新しい BIOS イメージのための領域が存在するからです。FreeDOS イメージをダウンロードして解凍: |
OEM Bootdisk バージョンを推奨します。{{ic|kernel}} と {{ic|command.com}} しか含まれておらずフラッシュユーティリティや新しい BIOS イメージのための領域が存在するからです。FreeDOS イメージをダウンロードして解凍: |
||
130行目: | 214行目: | ||
次に CD/DVD-RW メディアにフロッピーイメージを書き込みます。後で起動できるように注意してください。まずブータブル CD イメージを作成して、焼き込み: |
次に CD/DVD-RW メディアにフロッピーイメージを書き込みます。後で起動できるように注意してください。まずブータブル CD イメージを作成して、焼き込み: |
||
− | + | # genisoimage -o bootcd.iso -b FDOEM.144 FDOEM.144 |
|
# wodim -v bootcd.iso |
# wodim -v bootcd.iso |
||
160行目: | 244行目: | ||
最後にマシンを再起動して、ブートの順序で CD ドライブが一番最初に来ることを確認して、CD を起動したら BIOS アップグレードを実行してください。GRUB メニューを使う場合、リストの新しいエントリを選択すれば FreeDOS が起動します。 |
最後にマシンを再起動して、ブートの順序で CD ドライブが一番最初に来ることを確認して、CD を起動したら BIOS アップグレードを実行してください。GRUB メニューを使う場合、リストの新しいエントリを選択すれば FreeDOS が起動します。 |
||
+ | == ブータブル光学ディスクのエミュレーション == |
||
− | == Geteltorito.pl == |
||
− | 起動イメージを抽出す |
+ | Geteltorito.pl スクリプトは [[wikipedia:El Torito (CD-ROM standard)|El Torito]] 起動イメージを抽出します。[[Lenovo ThinkPad X220|X220]], [[Lenovo ThinkPad X230|X230]], [[Lenovo ThinkPad X260|X260]], W540, T450, [[Lenovo ThinkPad T450s|T450s]] などの Lenovo のノートパソコンで使えることを確認済みです。他のメーカーでも利用できるかもしれません。 |
=== インストール === |
=== インストール === |
||
170行目: | 254行目: | ||
メーカーのサポートサイトから BIOS アップデート ISO を取得してください。''geteltorito'' のイメージ抽出を実行: |
メーカーのサポートサイトから BIOS アップデート ISO を取得してください。''geteltorito'' のイメージ抽出を実行: |
||
− | + | $ geteltorito.pl -o <image>.img <image>.iso |
|
イメージを usb メモリにコピー: |
イメージを usb メモリにコピー: |
||
177行目: | 261行目: | ||
再起動して USB メモリから起動し、メーカーの指示に従ってください。 |
再起動して USB メモリから起動し、メーカーの指示に従ってください。 |
||
+ | |||
+ | {{Note|"Secure Flash Authentication failed!" というメッセージが表示される場合、何らかのセキュリティチェックによって書き込みができません。BIOS の設定を開いて "Security" > "UEFI BIOS Update Option" から "Secure RollBack Prevention" を無効化して "Flash BIOS Updating by End-Users" を有効にしてください。}} |
||
+ | |||
+ | == Windows PE == |
||
+ | |||
+ | もし、メーカーが exe ファイルしか提供せず、事前のアドバイスに従わなかった場合、Windows PE フラッシュドライブを作成し、そこから通常通り BIOS アップデートをフラッシュすることができます。 |
||
+ | |||
+ | === 使用方法 === |
||
+ | |||
+ | ISO [[Windows PE]] をダウンロードし、起動可能なドライブを作成します。 |
||
+ | |||
+ | その USB を起動し、メーカーサイトでそれぞれのアップデートをダウンロードし、通常通り実行します。 |
||
+ | |||
+ | {{Note|この方法は Acer Laptop でテストされていますが、ケースによって異なります。}} |
||
+ | |||
+ | == ベンダー固有 == |
||
+ | |||
+ | === HP === |
||
+ | |||
+ | {{Warning|すべての HP BIOS が同じとは限りません。例えば、以下の方法はいずれも HP T730 Thin Client では動作しません。}} |
||
+ | |||
+ | HP BIOS の一部、特にビジネスラインで利用可能なもの - ProDesk 600、EliteDesk 800、Thin Client (T620, T730 など) - には、BIOS 内から BIOS をアップデートするオプションがあります。このオプションは通常Fileメニューの下にあり、"Flash System ROM "と呼ばれています。2つの異なるディレクトリ構造があり、動作するようです。お使いの BIOS はどちらのディレクトリ構造でも動作する場合としない場合があります。 |
||
+ | |||
+ | # FAT32 でフォーマットされた USB ドライブのルートに BIOS *.bin ファイルを置き、他のディレクトリを作らない。他のファイルは必要ありません。 |
||
+ | # 説明されているようなディレクトリ構造を使用する [https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/How-to-update-BIOS-on-Linux/td-p/4869835 こちら] |
||
+ | |||
+ | 上記のいずれのディレクトリ構造もうまくいかないようであれば、HP があなたの BIOS バージョンに関連する DOS 実行ファイルを提供している場合は FreeDOS 法を使用するか、Windows マシンで HP BIOS Flash Recovery USB をまず作成し、その USB を使って同じ Flash System ROM オプションを使って BIOS をフラッシュすることになります。 |
||
+ | |||
+ | 手順 |
||
+ | # シリアル番号と OS として Windows を指定して、HP のサポートウェブサイトから BIOS 実行ファイルをダウンロードします。 |
||
+ | # この exe ファイルはアーカイブになっており、7z を使って解凍することができます。 |
||
+ | #* {{ic|1=7z e <filename>.exe}} |
||
+ | # 上記のように USB 内に適切なディレクトリ構造を作成する。片方でうまくいかない場合は、もう片方を試す |
||
+ | # USB をアンマウントする |
||
+ | # BIOS のアップグレードが必要なコンピュータに取り付ける(USB ドライブを作成するために別のコンピュータを使用する場合。) |
||
+ | # コンピュータを再起動し、BIOS に割り当てられたキー (例:{{ic|F10}}) を使って BIOS に入る。 |
||
+ | # BIOS に入ったら、''Flash System ROM'' オプションを見つけて選択します。次の3つのオプションからフラッシュすることができます。 |
||
+ | #* USB |
||
+ | #* Hard disk |
||
+ | #* Network |
||
+ | # 適切なオプション(この場合は USB)を選択すると、USB ドライブのルートに置いた BIN ファイルのファイル名が書かれた別のテキストボックスがポップアップ表示されます。 |
||
+ | このとき、USB ドライブのルートに置いた BIN ファイルのファイル名が表示されます。Enter キーを押すと、現在の BIOS のバージョンとアップグレードする新しいバージョンが表示されます。 |
||
+ | # 画面の指示に従って BIOS をアップグレードし、最後に再起動します。 |
||
+ | |||
+ | {{Note|推奨されるフォルダに *.BIN ファイルを置く場合 [https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/How-to-update-BIOS-on-Linux/td-p/4869835 here], "Flash System ROM" オプションはまだそれを見つけることができます. しかし、BIOS のアップグレードに進むと、数分後に ''ROM is incompatible with the system'' と表示されて失敗します。このメッセージが表示された場合、BIN ファイルが USB ドライブのルートにあることを確認してから、もう一度試してください。}} |
||
+ | |||
+ | 一部のモデル、特に 2010 年から 2014 年頃のモデルでは、実行ファイルを解凍すると、BIOS ファイルとそのファイルの RSA 署名を含む ''.fd'' で終わるファイルが生成されます。 この''.fd''ファイルから展開する方法が公開されており、ツールもいくつか公開されています。これらのファイルを解凍して USB メモリに入れたら、それを使ってアップデートを実行することができます。ファームウェアアップデートのユーザーインターフェイスでファイルへの移動が可能な場合もあるが、特定のディレクトリに特定の名前で配置する必要がある場合もある。BIOS ファイルには通常 ''.bin' という接尾辞が付き、署名ファイルには ''.sig'' または ''.s12'' という接尾辞が付きます。[https://wiki.archlinux.org/title/HP_ENVY_m4-1015dx HP ENVY m4-1015dx] のページでは、そのようなモデルの具体的な詳細を説明しています。 |
||
+ | |||
+ | === ASUS === |
||
+ | |||
+ | 最新の Asus マザーボードでは、ファームウェアのアップデートに Windows は必要ありません。内蔵ユーティリティ Ez-Flash を使用して BIOS 内から BIOS を更新できます。ただし、彼らは BIOS を更新する前に ME をアップデートするように [https://forum.manjaro.org/t/questions-about-updating-the-bios-and-intel-management-service-on-a-new-motherboard/141876 求めています] 問題は、アーカイブに Linux アップデートツールが含まれていないことです ([https://www.asus.com/motherboards-components/motherboards/prime/prime-z370-a/helpdesk_bios/?model2Name=PRIME-Z370-A) 例]) |
||
+ | |||
+ | BIOS が最新バージョンであっても、とにかく ME をアップデートする必要があります。スリープから復帰できないなどのハードウェアの問題を回避することが重要です。 |
||
+ | |||
+ | システムツールを [https://winraid.level1techs.com/t/intel-converged-security-management-engine-drivers-firmware-and-tools-2-15/30719 ここから] ダウンロードします。特定のマザーボードでは、最新 (v15) バージョンは動作しませんでした (Unknown PCH platform) 推奨されているように [https://winraid.level1techs.com/t/me-firmware-linux/33230 ここから]、v11 バージョンを使用すると機能しました。アーカイブ ("CSME System Tools v11 r46/FWUpdate/LINUX64/FWUpdLcl") から Linux 実行可能ファイルを抽出し、Asus サイト (MEUpdateTool_11.8.80.3746v5_S/FW/) からダウンロードしたアーカイブ内のファームウェアが含まれるフォルダーに配置して "FWUpdLcl" を実行可能にします。 |
||
+ | |||
+ | Show usage |
||
+ | {{hc|$ ./FWUpdLcl|2= |
||
+ | <nowiki> |
||
+ | |||
+ | Intel (R) Firmware Update Utility Version: 11.8.92.4222 |
||
+ | Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. |
||
+ | |||
+ | FWUpdLcl.exe [-H|?] [-VER] [-EXP] [-VERBOSE] [-F] [-Y] [-SAVE] |
||
+ | [-FWVER] [-PARTID] [-ALLOWSV] [-FORCERESET] [-OEMID] [-PASS] |
||
+ | [-PARTVER] |
||
+ | |||
+ | -H|? Displays help screen. |
||
+ | -VER Displays version information. |
||
+ | -EXP Displays example usage of this tool. |
||
+ | -VERBOSE<file> Display the debug information of the tool. |
||
+ | -F <file> File used for updating the FW. |
||
+ | -Y Automatically answer Yes to prompts. |
||
+ | -SAVE <file> Save the current FW to an update image. |
||
+ | -FWVER<file> Display the FW Version of current FW or update image. |
||
+ | -PARTID<Partition ID> Provide specific Partition ID to perform partial update. |
||
+ | -ALLOWSV Allows same version firmware updates. |
||
+ | -FORCERESET Automatically Reboots system after update (if needed). |
||
+ | -OEMID <UUID> OEM ID needed to perform firmware update. |
||
+ | -PASS <pass> MeBX password. Optional with the '-f' option. |
||
+ | -PARTVER <Partition ID> Display the Version of specific partition. |
||
+ | </nowiki> |
||
+ | }} |
||
+ | |||
+ | 現在の ME バージョンを表示します: |
||
+ | {{hc|$ sudo ./FWUpdLcl -FWVER|2= |
||
+ | |||
+ | Intel (R) Firmware Update Utility Version: 11.8.92.4222 |
||
+ | Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. |
||
+ | |||
+ | FW Version: 11.8.65.3590 |
||
+ | }} |
||
+ | |||
+ | ダウンロードしたアーカイブ内のファイルの ME バージョンを表示します: |
||
+ | {{hc|$ ./FWUpdLcl -FWVER ME.bin|2= |
||
+ | |||
+ | Intel (R) Firmware Update Utility Version: 11.8.92.4222 |
||
+ | Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. |
||
+ | |||
+ | FW Version: 11.8.80.3746 |
||
+ | }} |
||
+ | |||
+ | 書き込みをスタート: |
||
+ | {{hc|sudo ./FWUpdLcl -F ME.bin|2= |
||
+ | |||
+ | Intel (R) Firmware Update Utility Version: 11.8.92.4222 |
||
+ | Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. |
||
+ | |||
+ | Communication Mode: MEI |
||
+ | Checking firmware parameters... |
||
+ | |||
+ | Warning: Do not exit the process or power off the machine before the firmware update process ends. |
||
+ | Sending the update image to FW for verification: [ COMPLETE ] |
||
+ | |||
+ | |||
+ | |||
+ | FW Update: [ 100% (/)]Do not Interrupt |
||
+ | FW Update is completed successfully. |
||
+ | }} |
||
+ | |||
+ | 新しいバージョンを表示するには、再起動する必要があります。これで、適用されたバージョンが表示されます: |
||
+ | {{hc|sudo ./FWUpdLcl -FWVER|2= |
||
+ | |||
+ | Intel (R) Firmware Update Utility Version: 11.8.92.4222 |
||
+ | Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. |
||
+ | |||
+ | FW Version: 11.8.80.3746 |
||
+ | }} |
||
+ | |||
+ | {{Note|あるいは、アーカイブの {{ic|FWUpdLcl.efi}} を使用して、uefi シェル経由で更新することもできます。}} |
||
+ | |||
+ | === Lenovo === |
||
+ | |||
+ | 一部のファームウェア更新は、Windows 実行可能形式でのみ提供されます。このセクションでは、例として Lenovo IdeaPad L340-15API ファームウェアを使用します。これらの手順を別のシステムに適用しようとすると、結果が変わる可能性があります。Lenovo IdeaPad L340-15API は、Lenovo サポート サイトで ".exe" のみを提供します。これにより、記事内の多くのメソッドだけでなく、すべてのメソッドが無効になります。 |
||
+ | |||
+ | * Wine:危険です、IdeaPad のファームウェアが "TDK library "エラーで失敗しました。これについては後述します。 |
||
+ | * [[セキュアブート]] 禁止署名データベース (dbx) などの他のエントリが存在する場合でも、ファームウェアが LVFS 上にないため、[[fwupd]] だけでは機能しません。 |
||
+ | * BiosDisk は "BIOS 実行可能ファイル"でのみ動作し、私たちの実行可能ファイルでは動作しません。 |
||
+ | * Flashrom はラップトップでは使用しないようにとの警告があります。多くのシステム、そして IdeaPad も含めて、そのハードウェアリストではサポートされていません。 |
||
+ | * FreeDOS が動作するためには、ファームウェアが DOS 実行ファイルである必要があります。もし、あなたのファームウェアの実行ファイルが、議論されている IdeaPad のようなものであれば、DOS ヘッダで始まる最新のWindows 実行ファイルであっても、FreeDOS ではまったく動作しません。 |
||
+ | *{{ic|geteltorito.pl}} は ISO がある場合のみ動作します。 |
||
+ | * Windows PE でも非互換性の問題が発生するかもしれません。特に、インストーラはオペレーティングシステムの互換性をチェックしているため、実行できないかもしれません。 |
||
+ | |||
+ | # IdeaPad のファームウェアのダウンロードはインストーラー形式で提供され、特に [https://bladecoder.medium.com/flash-your-lenovo-ideapad-laptop-bios-from-linux-using-uefi-capsule-updates-a82e455ea29c Inno Setup によってセットアップ されます。] Wine などでインストーラーを実行して抽出する代わりに、{{pkg|innoextract}} ツールを使用します。: {{bc|$ innoextract ''installer.exe''}} |
||
+ | # 別の実行可能ファイルの中にあります。この内部 IdeaPad 実行可能ファイルも、FreeDOS または Windows PE では動作しません。ただし、前述の TDK ライブラリのエラーに注意してください。TDK は、[https://www.phoenix.com/uefi-bios-utilities-package/Phoenix Technologies] によって作成されたファームウェア開発キットを指します。[https://www.badcaps.net/forum/showthread.php?t=80861 badcaps フォーラム] で、実行可能ファイル自体が {{ic|/ext}} 引数を使用してコンテンツを抽出することが記載されています。したがって、Wine を使用して、{{bc|$ wine ''firmware.exe'' /ext}} を実行します。あるいは、[[p7zip|7z]] を使用しても機能することが報告されています: {{bc|$ 7z x ''firmware.exe''}} |
||
+ | この ''.exe'' ファイルには、さらに多くの .exe ファイルがあることがわかります。これらはいずれも FreeDOS または Windows PE では動作しません。ただし、ファームウェア自体は、[https://bladecoder.medium.com/flash-your-lenovo-ideapad-laptop-bios-from-linux-using-uefi-capsule-updates-a82e455ea29c bladecoder のブログ] で提案されている UEFI カプセル アップデート形式であることに注意してください。 |
||
+ | #*抽出されたファイルから、''.cap'' ファイルを探します。 |
||
+ | #*また、一部のモデルでは ''.fd'' ファイルが使用されます。 |
||
+ | # UEFI カプセルを入手したら、次のステップは手動でインストールしてみます。そのブログで言及されているように、[[fwupd]] がこれに役立ちます。''fwupdate'' は {{Pkg|fwupd}} パッケージでは提供されていませんが、''fwupdtool'' は同じタスクを実行します。まず、ファームウェアのデバイス ID を特定します: {{bc|# fwupdtool get-devices}} |
||
+ | # デバイスの出力で ID を見つけて、手動インストールで使用します: {{bc|# fwupdtool install-blob ''BIOS.ext'' ''DEVICE-ID''}} |
||
+ | # プロンプトが表示されたら再起動します。画面が完全に黒くなる場合があります。インストールが完了するまで待ちます。 |
||
+ | # EFI ブートリストは更新後にクリアされます。まず、UEFI 設定を以前の設定に更新します。 |
||
+ | # 最後に、外部ブートメディアを使用してブートローダーを再インストールします。 |
2024年10月2日 (水) 23:37時点における最新版
この記事では Linux でシステム BIOS を書き換える方法についての情報を提供します。ほとんどのメーカーは Windows でしか実行できない Windows の実行ファイルか BIOS 実行ファイルしか提供していません。しかしながら、Linux でシステム BIOS を更新することを可能にするユーティリティが少数ながら存在します。
fwupd
fwupd はソフトウェアによってローカルマシンのファームウェアをアップデートできるようにするシンプルなデーモンです。デスクトップ用に開発されていますが、スマートフォンやタブレット、ヘッドレスサーバーなどでも利用できます。GNOME Software などの GUI のソフトウェアマネージャを使ってアップデートを表示・適用したり、コマンドラインツールやシステムの D-Bus インターフェイスを直接使うことができます。
Dell や Logitech などのメーカーによって Linux にファームウェアのアップデートを配布するために使われています。
fwupd は UEFI モードでの BIOS アップデートだけサポートしています。
インストールや使用方法について詳しくは fwupd を見てください。
BiosDisk
BiosDisk は Linux におけるシステム BIOS の書き換えプロセスを簡単にします。
インストール
biosdisk-gitAUR パッケージをインストールしてください。
使用方法
biosdisk ユーティリティを使って BIOS フラッシュイメージを作成するには、まずメーカーのウェブサイトからあなたのシステム用の最新の生の BIOS イメージをダウンロードします。ただし、入手するのは BIOS 実行ファイルであって Windows の実行ファイルでないのでそこを確認してください。それからはふたつの選択肢があります: ISO を作成するか、あるいはブートローダー用のイメージをインストールするかです。
- mkimage はユーザーのハードドライブ上に ISO イメージを作成します。使用方法は以下の通り:
# biosdisk mkimage [-o option] [-i destination] /path/to/.exe
- install は biosdisk イメージを作成して、イメージファイルを
/boot
にコピー、そしてそのイメージのエントリと共にブートローダーを更新します。したがってユーザーがするべきことはシステムを起動し BIOS を書き換えるイメージを選択するだけです。ハードドライブから直接 biosdisk イメージがロードされて BIOS が書き換えられます。
# biosdisk install [-o option] [--name=] /path/to/.exe
Flashrom
Flashrom はフラッシュチップを確認・読込・書込・検証・消去するためのユーティリティです。メインボードやネットワーク・グラフィック・ストレージコントローラーカード、そして様々なプログラマーデバイスにおける BIOS/EFI/coreboot/ファームウェア/optionROM イメージを書き換えるために作られました。
インストール
flashrom か flashrom-gitAUR パッケージをインストールしてください。
使用方法
ウェブサイトであなたのマザーボードや (内部の) チップセットが flashrom によってサポートされているか確認してください: Supported Hardware。次のコマンドを実行してハードウェアがサポートされているか確認することもできます:
# flashrom --programmer internal
上のコマンドはあなたのマザーボードとチップセットを表示します。それから次のコマンドを実行することでサポートされているか確認できます:
# flashrom --programmer internal -L | grep CHIPNAMEfrompreviouscommand
新しいメインボードを使っている場合、複数のロムチップが表示されることがあります。上のコマンドで表示されたところからチップの名前を選択してください。-c
オプションを使うことでコマンドによってどの ROM を書き換えるのか選択できます:
# flashrom --programmer internal -c "CHIPNAME" -r backup_CHIPNAME.bin
ROM チップ上に新しい BIOS イメージ (プロプライエタリのイメージまたは Coreboot) を書き込んで検証する:
# flashrom --programmer internal internal -c "CHIPNAME" -w newbios.bin
メインボード上の他のフラッシュチップを書き換えたい場合は、次のコマンドで全てのオプションを知ることができます:
# flashrom
FreeDOS
FreeDOS はフリーの DOS 互換のオペレーティングシステムで、プロプライエタリの DOS を必要なくさせるという挑戦をしています。必要なのは FreeDOS カーネルが載ったブータブルフロッピーディスクイメージだけです。
Unetbootin
ブータブルな FreeDOS USB スティックを作成する一番簡単な方法は unetbootinAUR を使うことです。
USB メモリを FAT16 でフォーマットして "boot" フラグを有効にします (gparted や partitionmanager などで GUI を使って行うことができます)。それから、フラッシュドライブをマウントした後、ディストリビューション FreeDOS とマウントしたスティックを選択します。アプリは自動的にイメージをダウンロードしてドライブにコピーします。最後に、書き換えたいもの全てをコピーすることができます (BIOS, ファームウェアなど)。
dosemu
公式 FreeDOS イメージの問題点は、ファームウェアや BIOS のアップデートファイル、プログラムを保持するための余分なスペースがないことです。Linux で任意のサイズの DOS、ブータブル FAT ドライブを作る最も簡単な方法は mount a FAT drive under dosemu and then make it bootable with the FreeDOS sys command です。
別の方法として、Gentoo:BIOS Update#FreeDOS environment を参照してください。
ビルド済みのイメージ
他の方法も存在します: FreeDOS prebuilt bootable USB flash drive image by Christian Taube
Linux で FreeDOS 提供のディスクイメージ+USB メモリを使う
執筆時点(2017-07-11)では、unetbootinAUR は FreeDOS の1.0より新しいバージョンには対応していません(現在のバージョンは1.2です)。Inspiron 17-3737 を A09 BIOS にアップグレードするには、以下の手順でうまくいきました。(Dell はこれを提供しています こちらのサイト)
始める前にいくつか注意点があります。
- 現在の BIOS のバージョンは dmidecode で確認することができます。すでに最新版になっている可能性もあります。
- ハードウェアベンダがこの方法がうまくいくことを確認していること(BIOS アップデート .exe を実行するために FreeDOS を使用すること。)
- ノートパソコンのユーザーは AC 電源なしでこれを試みてはいけない
- 危険ですので、この手順を実行する場合は、すべてのリスクを負うことを理解して下さい。
手順
- FreeDOS ダウンロードページ から最新の USB インストーラを入手する。
- 著者注:full バージョンを使用したのは、より多くのドライバなどが含まれているのではないかという疑惑からです(純粋な推測です。)
- アーカイブを展開すると、.img ファイルができます。
/dev/sdX
のどれが自分の USB メモリか判断する (fdisk -l
を使う)- イメージをブロックデバイスに直接書き込む。
dd if=FD12FULL.img of=/dev/sdX status=progress
- ブロックデバイスに直接イメージを書き込む。(ここで
X
はブロックデバイスとしての USB メモリを表す文字です。パーティションにイメージを書き込まないでください) - イメージのコピーがうまくいったかどうかダブルチェックしてください。
fdisk -l
です。(起動可能 ("boot") フラグが設定されたDOSディスクの1つのパーティションが表示されるはずです)
- パーティションをマウントし、ファームウェアのアップデートに使用した .exe をコピーしてください。
- ファイル名は8文字以内(拡張子なし)、大文字でお願いします。
- ハードウェアベンダから提供されたチェックサムを検証していることを確認します。
- アンマウントしてリブート USB ドライブから起動するために必要なことは何でもしてください。
これで FreeDOS のライブインストール環境が整いました。
- 言語を選択する
- FreeDOS のインストールを促すプロンプトが表示されます。
- "いいえ - DOS に戻る" を選択します。
- プロンプトが表示されるはずです (
C:\>
) - ファームウェアアップグレードツールが存在することを確認します。
- 実行ファイルを実行する
- 著者注:Dell のツールの場合、マシンはスプラッシュスクリーンを表示した後、再起動しました。再起動後、自動的にファームウェアのアップグレードが開始され、ファンをフル回転させた状態で2分ほど実行されました)
- ベンダー固有のプロセスが完了したら、オプションで BIOS セットアップ画面や、Linux に戻ったときに dmidecode を実行して確認することができます。
FreeDOS 提供のディスクイメージ+USB メモリを Windows で使用する場合
この手順の著者は、Linux で dd を使用する前の方法で USB の FAT パーティションタイプをマウントする際にいくつかの問題に遭遇しました。この手順では、FreeDOS と USBメモリと Ruckus を使って、Windows 7/8/8.1/10 上で BIOS をフラッシュする方法の概要を説明します。この手順は、Dell Inspiron 5547 LaptopでBIOS A10 から A12 にアップグレードするために 2019年7月4日 に実行されました。
前提条件として
- Windows 用 Rufus をダウンロードし、インストールします。これは、フルインストールまたはポータブルバージョンのいずれかを使用できます。
- FreeDOS 用の最新の Full USB インストーラ (執筆時点では v1.2) をダウンロード。
- 最新の BIOS アップデートをベンダーのウェブサイトからダウンロードしてください。
- dmidecode がインストールされていることが前提です。
手順
- FD12FULL.zip アーカイブの内容を展開し、.img ファイルに注目する
- フラッシュドライブを挿入し、FD12FULL.imgファイルをRufusを使用してフラッシュし、すべてのデフォルトオプションを残す。
- Rufus の詳細な使用方法は本ガイドでは扱いません。詳しい使い方は Rufus のマニュアルやドキュメントを参照してください。
- Rufus でフラッシュしたら、BIOS ファイルの名前を 8 文字の大文字に変更し (拡張子は含まず)、フラッシュドライブにコピーしてください。
- フラッシュドライブを取り出し、ノートパソコンに差し込んでください。
- LEGACY BOOT で USB から起動するために必要な手順は何でも実行する。
- 著者注: 私の Dell Laptop では、F12 を押してブートオプションを選び、Legacy Options の下で USB Storage Device を選択しています。私は BIOS から明示的にレガシーブートを有効にしていますが、システムが UEFI で起動するようにしか設定されていない場合、このオプションは表示されないかもしれません。
- FreeDOS のインストール環境が表示されます。
- 優先言語を選択
- 次の画面で いいえ - DOSに戻る を選択します。
- USB フラッシュドライブの内容を表示するには dir と入力します。
- BIOS アップグレードファイルを実行するには、ファイル名を入力し、エンターキーを押すだけです。
- 注:私のアップグレードは、ファンをフル回転させて2分未満で完了しました。システムの再起動は合計3回です。
- アップグレードが完了し、システムが OS に戻って起動したら、root で
dmidecode | grep -E 'BIOS{!
Version'}} を発行して BIOS バージョンがアップグレードされたことを確認する。
イメージがフロッピーに収めるには大きすぎる
フラッシュイメージがフロッピーには大きすぎる場合、FreeDos bootdisk ウェブサイト に行って、10Mb のハードディスクイメージをダウンロードしてください。このイメージは完全なディスクイメージで、パーティションを含んでいるため、フラッシュユーティリティを追加するのはすこし手間が要ります:
まず最初のパーティションを確認してください (これを書いている時点では、最初のパーティションはブロック63から始まっています。つまりパーティションはオフセット 512 * 63 = 32256 からです)。次のコマンドを実行:
# file -sk <image-file> | sed -r 's/.*startsector ([0-9]+).*/\1/' 63
もしくは:
# fdisk -l <image-file> ... Units = sectors of 1 * 512 = 512 bytes ... Device Boot Start End Blocks Id System * 63 19151 9544+ 1 FAT12
そしてイメージをマウントします:
# mount -oloop,offset=$((63 * 512)) <image-file> /mnt
これで通常通りにファイルシステムにフラッシュユーティリティをコピーできます。完了したら:
# umount /mnt
通常の手順どおり USB スティックにイメージをコピーするか、memdisk として起動することが可能です。
使用方法
OEM Bootdisk バージョンを推奨します。kernel
と command.com
しか含まれておらずフラッシュユーティリティや新しい BIOS イメージのための領域が存在するからです。FreeDOS イメージをダウンロードして解凍:
$ wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz $ gunzip FDOEM.144.gz
フロッピーディスクイメージをマウントしてBIOS フラッシュユーティリティと新しい BIOS イメージをコピーします。必要なモジュールをロード:
# modprobe vfat # modprobe loop
/proc/fileystems
で必要なファイルシステムがサポートされているかどうか表示されます。フロッピーディスクイメージを一時的なパスにループマウント:
$ mkdir /tmp/floppy $ mount -t vfat -o loop FDOEM.144 /tmp/floppy
マウントで何もエラーが出なかったら、BIOS フラッシュユーティリティと新しい BIOS イメージをコピーしてください。マザーボードのメーカーサイトからダウンロードした圧縮ファイルを解凍したら、おそらく2つのファイルが作られるはずです。例:
# unzip 775Dual-VSTA\(2.60\).zip Archive: 775Dual-VSTA(2.60).zip inflating: 75DVSTA2.60 inflating: ASRflash.exe # cp 75DVSTA2.60 ASRflash.exe /tmp/floppy
2つのファイルがフロッピーに収まることを確認:
Filesystem 1K-blocks Used Available Use% Mounted on /tmp/FDOEM.144 1424 990 434 70% /tmp/floppy
フロッピーディスクイメージをアンマウント:
# umount /tmp/floppy
次に CD/DVD-RW メディアにフロッピーイメージを書き込みます。後で起動できるように注意してください。まずブータブル CD イメージを作成して、焼き込み:
# genisoimage -o bootcd.iso -b FDOEM.144 FDOEM.144 # wodim -v bootcd.iso
または GRUB のメニューにイメージを追加することもできます。Syslinux をインストールして memdisk
とイメージを /boot
にコピー:
# cp /usr/lib/syslinux/memdisk /boot # cp FDOEM.144 /boot/flashbios.img
そしてエントリを /boot/grub/menu.lst
に追加:
title Flash BIOS kernel /memdisk initrd /flashbios.img
あるいは GRUB2 の場合、/boot/grub/grub.cfg
に追加:
menuentry "Flash BIOS" { linux16 /boot/memdisk initrd16 /boot/flashbios.img }
あるいは Syslinux の場合、/boot/syslinux/syslinux.cfg
に追加:
LABEL flashbios MENU LABEL Flash BIOS LINUX ../memdisk INITRD ../fdboot.img
最後にマシンを再起動して、ブートの順序で CD ドライブが一番最初に来ることを確認して、CD を起動したら BIOS アップグレードを実行してください。GRUB メニューを使う場合、リストの新しいエントリを選択すれば FreeDOS が起動します。
ブータブル光学ディスクのエミュレーション
Geteltorito.pl スクリプトは El Torito 起動イメージを抽出します。X220, X230, X260, W540, T450, T450s などの Lenovo のノートパソコンで使えることを確認済みです。他のメーカーでも利用できるかもしれません。
インストール
geteltoritoAUR パッケージをインストールしてください。
使用方法
メーカーのサポートサイトから BIOS アップデート ISO を取得してください。geteltorito のイメージ抽出を実行:
$ geteltorito.pl -o <image>.img <image>.iso
イメージを usb メモリにコピー:
# dd if=<image>.img of=<destination> bs=512K
再起動して USB メモリから起動し、メーカーの指示に従ってください。
Windows PE
もし、メーカーが exe ファイルしか提供せず、事前のアドバイスに従わなかった場合、Windows PE フラッシュドライブを作成し、そこから通常通り BIOS アップデートをフラッシュすることができます。
使用方法
ISO Windows PE をダウンロードし、起動可能なドライブを作成します。
その USB を起動し、メーカーサイトでそれぞれのアップデートをダウンロードし、通常通り実行します。
ベンダー固有
HP
HP BIOS の一部、特にビジネスラインで利用可能なもの - ProDesk 600、EliteDesk 800、Thin Client (T620, T730 など) - には、BIOS 内から BIOS をアップデートするオプションがあります。このオプションは通常Fileメニューの下にあり、"Flash System ROM "と呼ばれています。2つの異なるディレクトリ構造があり、動作するようです。お使いの BIOS はどちらのディレクトリ構造でも動作する場合としない場合があります。
- FAT32 でフォーマットされた USB ドライブのルートに BIOS *.bin ファイルを置き、他のディレクトリを作らない。他のファイルは必要ありません。
- 説明されているようなディレクトリ構造を使用する こちら
上記のいずれのディレクトリ構造もうまくいかないようであれば、HP があなたの BIOS バージョンに関連する DOS 実行ファイルを提供している場合は FreeDOS 法を使用するか、Windows マシンで HP BIOS Flash Recovery USB をまず作成し、その USB を使って同じ Flash System ROM オプションを使って BIOS をフラッシュすることになります。
手順
- シリアル番号と OS として Windows を指定して、HP のサポートウェブサイトから BIOS 実行ファイルをダウンロードします。
- この exe ファイルはアーカイブになっており、7z を使って解凍することができます。
7z e <filename>.exe
- 上記のように USB 内に適切なディレクトリ構造を作成する。片方でうまくいかない場合は、もう片方を試す
- USB をアンマウントする
- BIOS のアップグレードが必要なコンピュータに取り付ける(USB ドライブを作成するために別のコンピュータを使用する場合。)
- コンピュータを再起動し、BIOS に割り当てられたキー (例:
F10
) を使って BIOS に入る。 - BIOS に入ったら、Flash System ROM オプションを見つけて選択します。次の3つのオプションからフラッシュすることができます。
- USB
- Hard disk
- Network
- 適切なオプション(この場合は USB)を選択すると、USB ドライブのルートに置いた BIN ファイルのファイル名が書かれた別のテキストボックスがポップアップ表示されます。
このとき、USB ドライブのルートに置いた BIN ファイルのファイル名が表示されます。Enter キーを押すと、現在の BIOS のバージョンとアップグレードする新しいバージョンが表示されます。
- 画面の指示に従って BIOS をアップグレードし、最後に再起動します。
一部のモデル、特に 2010 年から 2014 年頃のモデルでは、実行ファイルを解凍すると、BIOS ファイルとそのファイルの RSA 署名を含む .fd で終わるファイルが生成されます。 この.fdファイルから展開する方法が公開されており、ツールもいくつか公開されています。これらのファイルを解凍して USB メモリに入れたら、それを使ってアップデートを実行することができます。ファームウェアアップデートのユーザーインターフェイスでファイルへの移動が可能な場合もあるが、特定のディレクトリに特定の名前で配置する必要がある場合もある。BIOS ファイルには通常 .bin' という接尾辞が付き、署名ファイルには .sig または .s12 という接尾辞が付きます。HP ENVY m4-1015dx のページでは、そのようなモデルの具体的な詳細を説明しています。
ASUS
最新の Asus マザーボードでは、ファームウェアのアップデートに Windows は必要ありません。内蔵ユーティリティ Ez-Flash を使用して BIOS 内から BIOS を更新できます。ただし、彼らは BIOS を更新する前に ME をアップデートするように 求めています 問題は、アーカイブに Linux アップデートツールが含まれていないことです (例)
BIOS が最新バージョンであっても、とにかく ME をアップデートする必要があります。スリープから復帰できないなどのハードウェアの問題を回避することが重要です。
システムツールを ここから ダウンロードします。特定のマザーボードでは、最新 (v15) バージョンは動作しませんでした (Unknown PCH platform) 推奨されているように ここから、v11 バージョンを使用すると機能しました。アーカイブ ("CSME System Tools v11 r46/FWUpdate/LINUX64/FWUpdLcl") から Linux 実行可能ファイルを抽出し、Asus サイト (MEUpdateTool_11.8.80.3746v5_S/FW/) からダウンロードしたアーカイブ内のファームウェアが含まれるフォルダーに配置して "FWUpdLcl" を実行可能にします。
Show usage
$ ./FWUpdLcl
Intel (R) Firmware Update Utility Version: 11.8.92.4222 Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. FWUpdLcl.exe [-H|?] [-VER] [-EXP] [-VERBOSE] [-F] [-Y] [-SAVE] [-FWVER] [-PARTID] [-ALLOWSV] [-FORCERESET] [-OEMID] [-PASS] [-PARTVER] -H|? Displays help screen. -VER Displays version information. -EXP Displays example usage of this tool. -VERBOSE<file> Display the debug information of the tool. -F <file> File used for updating the FW. -Y Automatically answer Yes to prompts. -SAVE <file> Save the current FW to an update image. -FWVER<file> Display the FW Version of current FW or update image. -PARTID<Partition ID> Provide specific Partition ID to perform partial update. -ALLOWSV Allows same version firmware updates. -FORCERESET Automatically Reboots system after update (if needed). -OEMID <UUID> OEM ID needed to perform firmware update. -PASS <pass> MeBX password. Optional with the '-f' option. -PARTVER <Partition ID> Display the Version of specific partition.
現在の ME バージョンを表示します:
$ sudo ./FWUpdLcl -FWVER
Intel (R) Firmware Update Utility Version: 11.8.92.4222 Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. FW Version: 11.8.65.3590
ダウンロードしたアーカイブ内のファイルの ME バージョンを表示します:
$ ./FWUpdLcl -FWVER ME.bin
Intel (R) Firmware Update Utility Version: 11.8.92.4222 Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. FW Version: 11.8.80.3746
書き込みをスタート:
sudo ./FWUpdLcl -F ME.bin
Intel (R) Firmware Update Utility Version: 11.8.92.4222 Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. Communication Mode: MEI Checking firmware parameters... Warning: Do not exit the process or power off the machine before the firmware update process ends. Sending the update image to FW for verification: [ COMPLETE ] FW Update: [ 100% (/)]Do not Interrupt FW Update is completed successfully.
新しいバージョンを表示するには、再起動する必要があります。これで、適用されたバージョンが表示されます:
sudo ./FWUpdLcl -FWVER
Intel (R) Firmware Update Utility Version: 11.8.92.4222 Copyright (C) 2007 - 2022, Intel Corporation. All rights reserved. FW Version: 11.8.80.3746
Lenovo
一部のファームウェア更新は、Windows 実行可能形式でのみ提供されます。このセクションでは、例として Lenovo IdeaPad L340-15API ファームウェアを使用します。これらの手順を別のシステムに適用しようとすると、結果が変わる可能性があります。Lenovo IdeaPad L340-15API は、Lenovo サポート サイトで ".exe" のみを提供します。これにより、記事内の多くのメソッドだけでなく、すべてのメソッドが無効になります。
- Wine:危険です、IdeaPad のファームウェアが "TDK library "エラーで失敗しました。これについては後述します。
- セキュアブート 禁止署名データベース (dbx) などの他のエントリが存在する場合でも、ファームウェアが LVFS 上にないため、fwupd だけでは機能しません。
- BiosDisk は "BIOS 実行可能ファイル"でのみ動作し、私たちの実行可能ファイルでは動作しません。
- Flashrom はラップトップでは使用しないようにとの警告があります。多くのシステム、そして IdeaPad も含めて、そのハードウェアリストではサポートされていません。
- FreeDOS が動作するためには、ファームウェアが DOS 実行ファイルである必要があります。もし、あなたのファームウェアの実行ファイルが、議論されている IdeaPad のようなものであれば、DOS ヘッダで始まる最新のWindows 実行ファイルであっても、FreeDOS ではまったく動作しません。
geteltorito.pl
は ISO がある場合のみ動作します。- Windows PE でも非互換性の問題が発生するかもしれません。特に、インストーラはオペレーティングシステムの互換性をチェックしているため、実行できないかもしれません。
- IdeaPad のファームウェアのダウンロードはインストーラー形式で提供され、特に Inno Setup によってセットアップ されます。 Wine などでインストーラーを実行して抽出する代わりに、innoextract ツールを使用します。:
$ innoextract installer.exe
- 別の実行可能ファイルの中にあります。この内部 IdeaPad 実行可能ファイルも、FreeDOS または Windows PE では動作しません。ただし、前述の TDK ライブラリのエラーに注意してください。TDK は、Technologies によって作成されたファームウェア開発キットを指します。badcaps フォーラム で、実行可能ファイル自体が
/ext
引数を使用してコンテンツを抽出することが記載されています。したがって、Wine を使用して、$ wine firmware.exe /ext
を実行します。あるいは、7z を使用しても機能することが報告されています:$ 7z x firmware.exe
この .exe ファイルには、さらに多くの .exe ファイルがあることがわかります。これらはいずれも FreeDOS または Windows PE では動作しません。ただし、ファームウェア自体は、bladecoder のブログ で提案されている UEFI カプセル アップデート形式であることに注意してください。
- 抽出されたファイルから、.cap ファイルを探します。
- また、一部のモデルでは .fd ファイルが使用されます。
- UEFI カプセルを入手したら、次のステップは手動でインストールしてみます。そのブログで言及されているように、fwupd がこれに役立ちます。fwupdate は fwupd パッケージでは提供されていませんが、fwupdtool は同じタスクを実行します。まず、ファームウェアのデバイス ID を特定します:
# fwupdtool get-devices
- デバイスの出力で ID を見つけて、手動インストールで使用します:
# fwupdtool install-blob BIOS.ext DEVICE-ID
- プロンプトが表示されたら再起動します。画面が完全に黒くなる場合があります。インストールが完了するまで待ちます。
- EFI ブートリストは更新後にクリアされます。まず、UEFI 設定を以前の設定に更新します。
- 最後に、外部ブートメディアを使用してブートローダーを再インストールします。