妄想日記 by 妄想エンジン


BIOS更新のためのCD-ROM boot する DOS環境の作成方法

最近のPCのBIOS更新はWindows上やLinux上から実行することができて、非常にらくちんになっているのだが、うちにはWindowsもLinuxも入っていないマシンというのがある。そして、最近はUSB-DVDドライブでブートして、OSをインストールすることが多く、当然のことながらFDDなんつーものもついていなかったりする。

そこで、CD-ROM ブートするDOS環境を作って、そこからBIOSの更新をかけましょうというのが今回の趣旨です。

前提:
できるかぎり FreeBSD 環境で作りたい。
できるかぎり手間をかけたくない。
できるかぎり Free なソフトで作りたい。

ということで、FreeDOS を使うことに決定。そして、FreeDOS はブータブルなインストールCDがあるので、それに手を加えることにします。

用意するもの:
ネットワークにつながったFreeBSDマシン

1. FreeDOSのインストールCDのイメージを入手する。
http://www.freedos.org/ から、イメージを入手します。
ここでは、ブートさえしてくれればいいので、fdbasecd.isoを拾ってきます。もうひとつ、FDイメージも取得。
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1....

2. 中のファイルを適当なディレクトリに解凍する。

$ mkdir tmp/freedos
$ sudo mdconfig -a -t vnode -f fdbasecd.iso -u 4
$ sudo mount -t cd9660 -o ro /dev/md4 /mnt/cdrom
$ cp -R /mnt/cdrom/* tmp/freedos
$ chmod -R +w tmp/freedos/*
$ sudo umount /mnt/cdrom
$ sudo mdconfig -d -u 4

3. ブートディスケットのイメージをマウントして書き換える。

$ sudo mdconfig -a -t vnode -f fdboot.img -u 4
$ sudo mount -t msdosfs /dev/md4 /mnt/fd
$ cd /mnt/fd
$ sudo rm -rf driver/ freedos/ fdconfig.sys
$ sudo cp ~/tmp/bios.exe /mnt/fd

この辺は適当に環境に合わせてください。

$ cd
$ sudo umount /mnt/fd
$ sudo mdconfig -d -u 4

4. 書き換えたイメージをコピーする。

このブートCDはisolinux を使っているため、tmp/freedos/isolinux/isolinux.cfg を覗くと、どこにブートイメージがあるか書いてある。
そのファイルをいま修正したイメージと置き換えます。

$ mv tmp/fboot.img tmp/freedos/isolinux/data/fdboot.img

5. 書き換えたファイルともどもisoファイルに変換する。

$ mkisofs -R -D -V "FreeDOS 1.0" -o freedos.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table tmp/freedos

ここで、出来上がったiso イメージをCD-Rに焼くまえに、エミュレータで確認しておきます。今回は VirtualBox 3 を使いました。別にVMWare でも QEMU でも何でもかまいません。VirtualBox を使ったのは FreeBSD の ports にあるから。

6. 適当なiso イメージが焼けるソフトでCD-Rに焼き付ける。
エミュレータで確認して、問題ないと思ったら、実際にCD-Rに焼き付けましょう。

$ sudo burncd -f /dev/acd0 -d data freedos.iso fixate

7. できあがり。。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信