BIOS アップデート

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page BIOS Update and the translation is 97% complete.

Other languages:
English • ‎español • ‎français • ‎italiano • ‎polski • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

This article describes how to apply a BIOS update on a Gentoo system.

ハードウェア製造者はしばしば BIOS やそのほかファームウェアのアップデートを提供しています。GNU/Linux でのアップデートの適用(しばしば「フラッシュ」と呼ばれる)は、すんなり行かず、いくらかの作業が必要なこともあります。

警告
ハードウェアが順調に動作しているならおよそ、BIOS をアップグレードする必要はありません。万が一失敗すると、BIOS やシステム上のファームウェアに原状回復不可能な損傷を来すことがあるうえ、ハードウェアのメーカー保証も失うことがあります。万全の注意をはらって進めてください!

ファームウェアの情報収集

まず、マザーボードの製造業者と該当モデルを調べます。システム添付の取扱説明書を調べましょう。通常は、取扱説明書を見れば必要な情報がわかります。

sys-apps/dmidecode を利用すると、システムのハードウェアに関する情報がさらに得られるかもしれません。dmidecode は、マザーボードの DMI テーブルを調査し、ファームウェアやハードウェア構成部品に関する詳細な情報を提供します。

root #dmidecode -t bios -t baseboard

また、マザーボードを物理的に確認すれば、必要な情報がマザーボード自体から見つかるかもしれません。

警告
マザーボードを確認するためにコンピュータを開けてしまうと、製品保証がなくなることもあります。

つぎに、製造業者のファームウェアの更新を探して、ハードウェアの更新に必要なパッケージをダウンロードします。ファームウェアの更新パッケージは、.zip や .exe、.iso などの形式であることが一般的です。

user $unzip 7235v1A.zip
Archive:  7235v1A.zip
   creating: 7235v1A/
inflating: 7235v1A/7235v1x.txt
inflating: 7235v1A/AWFL865.EXE
inflating: 7235v1A/How to flash the BIOS.DOC
inflating: 7235v1A/W7235IMS.1A0

BIOS 更新方法

多くのBIOSでは、外付けのフラッシュメモリやフロッピーディスクから新しいバイナリイメージを読み込ませる方法があります。BIOSセットアップ内の記述を見て確認してください。もしもこのような方法がなければ、次のセクションに進んでください。

CDブート

製造業者によっては、CD-ROMのブートイメージで提供しています。このファイルは拡張子が .iso で、空きのCD-R (CD-RW) ディスクに書き込まなければなりません: 例えば cdrecord のようなツールを用いると書き込めます:

root #cdrecord BOOT-CD.iso
注意
cdrecord には2種類のパッケージがあります: app-cdr/cdrtoolsapp-cdr/cdrkit です。

BIOS のブートメニューで CD からのブートを選び、製造業者のウェブサイトや取扱説明書に記載のある指示に従います。

FreeDOS 環境

Note
There is a convenient FreeDOS boot on the SystemRescueCD that works well for this and will save much effort, allowing readers to skip this section. See the note at the end of the "Using SystemRescueCD to boot FreeDOS" section for details.

FreeDOS を用いると、DOSベースのBIOS更新ユーティリティの実行が可能です。そのためには、必要な BIOS 更新ツールを含む「カスタム」 FreeDOS イメージを作成しなければなりません。カスタムイメージ作成後は、以下の方法のいずれかでイメージをブートしましょう。

FreeDOS とツール類のダウンロードは:

  • FreeDOS - fdboot.img ファイルをダウンロード
  • FreeDOS ブートセクタ - sys-freedos-linux.zip ファイルをダウンロード
  • DOSベースのBIOS更新用プログラムと新しいBIOSを、製造業者のウェブサイトからダウンロード

カスタム FreeDOS イメージの作成

まず、必要なソフトウェアのダウンロードと、カーネルのループバックデバイスの有効化:

KERNEL enable loopback device
Device Drivers  --->
    [*] Block devices  --->
        <M>   Loopback device support

もしもモジュールがまだロードされていなければ、modprobe を用いてロード:

root #modprobe loop

必要なソフトウェアをインストール:

root #emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools

20MB以下のイメージファイルを dd コマンドで作成します。SystemRescueCD のものと置き換えるには、ファイル名が freedos.img である必要があります。

root #dd if=/dev/null of=freedos.img bs=1024 seek=20480

ファイルシステムにイメージを書き込みます:

root #mkfs.fat freedos.img

ブートセクタをイメージファイルに書き込みます:

root #unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img

それから、FreeDOS のファイルを新たなイメージにコピーします。

マウントポイントを作成します:

root #mkdir -p /mnt/freedos /mnt/freedos_new

オリジナルのイメージをマウントします:

root #mount -o loop fdboot.img /mnt/freedos

新たなイメージをマウントします:

root #mount -o loop freedos.img /mnt/freedos_new

FreeDOS のシステムファイルを、新たなイメージにコピーします:

root #cp -ar /mnt/freedos/* /mnt/freedos_new/

次に、書込み用プログラムと新たな BIOS を、イメージファイルにコピーします:

root #cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new

イメージを2つともアンマウントします:

root #umount /mnt/freedos_new /mnt/freedos
注意
DOS では、8 文字(および拡張子3文字)の長さまでしかファイル名を表示不可能です。この制限を超えるファイルがあれば、制限を満たすようにファイル名を変更するとよいでしょう。

FreeDOS を起動するために SystemRescueCD を使用する

SystemRescueCDは、FreeDOS から作られています。オリジナルのイメージから置き換えて、ファームウェア更新に必要なプログラムを含むブート可能フラッシュメモリスティックを作成可能です。

SystemRescueCD のダウンロードと LiveUSBメモリの作成

ブート可能なメモリスティックの作成

デフォルトの手段で、SystemRescueCDの起動ディスクを作成します。usb_inst.sh のスクリプトを実行すれば、インストールの案内があります。

警告
メモリスティック内のデータがすべて消去されます! この作業の前に、メモリスティック内の全てのデータがバックアップ済であることを確かめてください!

/mnt の作成:

root #mkdir /mnt/SysRescueCD

CD イメージのマウント:

root #mount -o loop systemrescuecd-x86-VERSION.iso /mnt/SysRescueCD

インストールスクリプトの実行:

root #/mnt/SysRescueCD/usb_inst.sh

CD イメージのアンマウント:

root #umount /mnt/SysRescueCD
Note
If you simply wish to update your bios, there is no need to tinker with the FreeDOS image on SystemRescueCD. After creating the bootable SystemRescueCD stick as described above mount the usb stick to a directory. Copy the bios update there. You are done! Boot on the usb stick and choose Dos tools ---> FREEDOS from the systemrescuecd startup menu. You will find the dos truncated name of your bios update file in the A: directory. If you don't see it try C:. I don't believe this harms the systemrescuecd instance on the usb stick, but if it does it's easy enough to recreate when you are done.

FreeDOS イメージの置換

SystemRescueCD のメモリスティックにあるオリジナルの FreeDOS イメージを置き換えます。

SystemRescueCDのメモリスティックをマウント (/dev/sdX1 は、実際のメモリスティックのブロックデバイス名に置き換えて読んでください):

root #mount /dev/sdX1 /mnt/SysRescueCD

freedos.img ファイルの置換:

root #cp freedos.img /mnt/SysRescueCD/bootdisk/

SystemRescueCD のメモリスティックのアンマウント:

root #umount /mnt/SysRescueCD

GRUB から直接に、FreeDOS イメージを起動する

もし外部メディアを使用せずに FreeDOS をブートするならば、syslinux 内の memdisk ツールを利用して、grub (あるいは他のブートローダ)で FreeDOS イメージを直接ブート可能にします。

root #emerge --ask sys-boot/syslinux

(必要ならば)/boot パーティションをマウント:

root #mount /boot

/boot に、memdisk バイナリと FreeDOS イメージをコピー:

root #cp /usr/share/syslinux/memdisk /boot
root #cp freedos.img /boot

/boot/grub/grub.conf を編集し、FreeDOS のエントリを追加:

FILE /boot/grub/grub.confgrub.conf のエントリ例
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img

BIOS の更新

マシンを再起動させ、USBメモリスティック あるいは 新たな grub エントリを選んで、ブートします。SystemRescueCDを使用している場合には、GRUB のコマンドラインで以下を入力:

freedos

新たに作成した FreeDOS イメージが起動し、DOS プロンプトが出迎えてくれるでしょう:

CODE
C:\

そこで、製造業者の説明に従ってBIOSの更新を始めます。ちなみに、DOS では以下のコマンドが役にたちます:

cd <dir>
ディレクトリの変更
dir
現在のディレクトリ内のファイルの一覧表示
type [drive][path]filename
ファイルの内容を表示

flashrom

マザーボードによっては、システム起動中に(sys-apps/flashrom を通じて)直接に更新することができます。この場合に必要なのは BIOS イメージだけです。この場合はまず対応ハードウェアのリストを確認してください。

ハードウェアが対応していれば、新たな BIOS イメージをチェック:

root #flashrom -v W7235IMS.1A0

すべて確認したら、これを書き込みましょう:

root #flashrom -vw W7235IMS.1A0

参考