WindowsやFreeDOSを使わずに,LinuxだけでマザーボードのBIOSを更新する手順をまとめます.
同じ手順で,マザーボードだけでなく,NICやRAIDカード,グラッフィックボードまで様々なデバイスのファームウェアが更新できます.
手順2) flashrom の動作確認
flashrom がマザーボードに対応しているか調べるために,試しに BIOSのバックアップを取ってみます.
$ sudo flashrom
以下のような出力が出るはずです.
flashrom v0.9.6.1-r1563 on Linux 3.10.0 (x86_64) flashrom is free software, get the source code at http://www.flashrom.org Please select a programmer with the --programmer parameter. Valid choices are: internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, ft2232_spi, serprog, buspirate_spi, rayer_spi, pony_spi, nicintel, nicintel_spi, ogp_spi, satamv
internal, dummy, nic3com 等が対応しているデバイスです.それぞれ,internal はマザーボード, nic3com はネットワークカード…です.
マザーボードに対応しているので,試しに BIOSのバックアップを取ってみます.
$ sudo flashrom --programmer internal --read bios.backup
手順3) BIOSのダウンロード
必要なファイルを web からダウンロードします.
ちなみにマザーボードの型番や,BIOSのバージョン番号は,以下のコマンドで確認できます
$ cat /sys/class/dmi/id/board_name
$ cat /sys/class/dmi/id/bios_version
手順4) ファイルの展開
ダウンロードしたファイルは大抵圧縮されているので,展開して必要なBIOSのファイルを取り出します.
手順5) biosの更新
念の為,現在のBIOSのバージョンを確認します
$ cat /sys/class/dmi/id/bios_version
flashrom コマンドで BIOSを更新します
$ sudo flashrom --programmer internal --write BIOSのファイル名
成功すると以下のような表示が出ます.
Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED.
あとはPCを再起動.BIOSの設定画面で再設定を行なうだけです.