BIOS書き換え失敗?
私はBIOS書き換えに失敗したかと思いました…
ある日、PC-9000/9030(SHARP USAのPC-A3**シリーズに良く似たノート)用
BIOSアップグレードファイルをダウンロードし、アップグレードしてみました。
すると…
おぉ!AV-1-A1.06(English Keyboard)バージョンだ!
しかし…
HDDから全く起動しなーい!
FDDからもDOS読み込み中に停止してしまーう!
つまり、BIOSを元に戻せない!ということです。せめて、DOSでも立ち上がれば戻せるのですが…
そこで、1週間かけていろいろやりました。
最悪のROMライタによる書き換えを考え、メインボード+CPUボード+キーボード+ディスプレイ+FDD+HDDの状態で、1週間やりました。
その他の部品はこの通り
無残な姿です。
ROMを他のパソコンで書き換えてしまう
他のパソコンでROMを書き換えてやればできるのでは!と思ったのですが、残念ながら私の周辺にはBIOSアップグレードの出来ないFMVしかありません。BIOSアップグレードできるパソコンがあれば何とかなったと思うのですが。
DOSの停止個所をスキップする
いろいろやっていくうちにLinuxはFD起動が出来ることが分かりました。ということは停止する個所を突き止めそこをスキップすればいけるかも…
しかし世の中そんなに甘くなかったのでした。なんとか停止個所を突き止め(メモリ管理関係のところでした)スキップしたのですが、
どうも重要な処理らしくどうにも起動しません。
DOSの停止個所直前からBIOSアップグレードプログラムを起動する
こうなったら、DOSにトロイの木馬方式でBIOSアップグレードプログラムを埋め込んでしまえ!
BIOSアップグレードプログラムは通常のアップグレードプログラム(PHLASH.exe)ではなく、FPAV1.exeを使用しました。このFPAV1は3KBと小さいため、解析も楽で、DOSの起動プログラムに埋め込める大きさです。
が、やっぱり世の中そんなに甘くありません。なんとかFPAV1は起動したのですが、アップグレードデータファイルを読み込むためのメモリアロケートでエラーとなってしまいました。
メモリアロケートをスキップする
どうせ他のプログラムを読み込むわけでもないので、使用していないと思われるメモリ領域に強制的に読み込まれるよう修正。
しかーし、世の中そんなに甘くありません。次はFDの読み込みで停止してしまいました。やっぱりDOSサービス(INT
21H関連)は不完全のようです。
BIOSサービスによりFDD読み込みをする
こーなったらDOSサービスを使用しないようにしてしまえ!
というわけで、FDの後半にアップグレードファイルを直接埋め込み、もう一段低レベルのBIOSサービスでセクタ読み込みを使用するよう修正しました。
すると…アップグレードしているではないですか!
再起動…………………
おぉーー!BIOSが元に戻っているーーー!!!!!!!
この瞬間はたまらなかったですね。
1週間分解しっぱなしだったA355を組み立て直し、午前3:30就寝,午後5:00起床、東京ディズニーランドにへ行ったのでした。眠かったー。
ってなことをやってしまいましたが、本当はハードディスクを元に戻し、BIOSをデフォルト値に戻せば、問題はなかったようです。
まぁ、いろいろ勉強になったからいいか…