【HW】AMI/AWD BIOSのBootlogoをハックする 
 アキバでジャンクのFoxconn RenaissanseIIを拾ってきたのですが、サウンド出力用のボードがついていない以外試してみるとほぼ問題なく動きました。




 とりあえず適当にOCCT等を回してみたのですが、3時間くらいは問題なかったので多分大丈夫なのでしょう。

 さて、動いたはいいのですが何に使おうかと考えると特に使い道がないのです。気になったのが、起動時のBootlogoが微妙にイケてない。


 なので、このロゴを書き換えてみました。

 そういえば、Foxconnって起動時のスプラッシュスクリーンを変更するツールを出していなかったっけ?と思い探してみるとFox logoと言うツールがあり、それで書き換えることが出来るようです。ちなみに、ASUSだとMylogoというツールがそれに相当するようです。
http://ja.scribd.com/doc/92676678/30/foX-loGo
 しかし、RenaissanseIIは対応しておらず、使えませんでした。

 なんか書き換えが出来ないのが悔しいので、どうにかして変更できないかと色々調べてみると、AMI BIOSの場合はAMI Toolsに含まれるOEMLOGO.exeで変更できるようです。
http://forum.eeeuser.com/index.php?/top ... sh-screen/

 元の画像を見てみると、640*480で19kb程度のファイルサイズでした。これをベースに、自分で画像を作ってOEMLOGO.exeで画像を埋め込んでみる…と、画像サイズが大きすぎたらしくROMに十分な空きがねえよ!的なエラーが出ました。なので、もう一度品質を落としてサイズを小さくしてみると、無事に書き込みできました。

 これを元にUSBからDOSを起動し、改造したROMを焼いてみました。
 


 そして書き込みが完了し、再起動して立ち上がってくるのを待っていると…ピッピッピッピという短いBeepが数回なり、いっこうに立ち上がってこないのです。


 これはやっちまったかも…と後悔にさいなまれつつも色々調べてみると、どうやらAMIの場合はFAT16でフォーマットしたFDD/USBのルートディレクトリにAMIBOOT.ROMという名前でROMを置いておくと、EEPROMが壊れている場合にそっちから読んで起動してくれるらしいので、試してみました。
http://forums.mydigitallife.info/thread ... Procedures

 すると、Flash Recoveryが立ち上がり、USBにある純正ROMを読み込んでくれました。



 とりあえずAMIの場合は何かあっても元に戻せるのが分かったので、少し中を変えてもう一度試してみたのですが、やはりDOSからの書き込みでは文鎮化しました。文鎮化したついでに、改造ROMをAIMBOOT.ROMとして置いてみました。そしていつも通りRecoveryが起動してUSBにある改造ファームを読み、再起動がかかりました。そして起動を待ってみると…

 


 何故かLogo改造ファームで無事に立ち上がってきました。DOSから書き込んでもダメなのに何故…。

 とりあえず、ロゴの書き換えには成功したので、ついでに他の板でも出来ないか試してみました。


 AWD BIOSの場合はCBROM.EXEを使うことにより、簡単に書き換えられました。
試した板はDFIのLanParty UT X58-T3eH8です。
http://www.dfi.com/DFI-Lanparty/support ... ItemId=561
 このROMをCBROM.EXE LX58D429.BIN /D してみると

C:\Users\NF680i\LP>CBROM.EXE LX58D429.BIN /D

CBROM.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008

******** LX58D429.BIN BIOS component ********

No. Item-Name Original-Size Compressed-Size Original-File-Name
================================================================================
0. System BIOS 20000h(128.00K) 153A7h(84.91K) LX58D429.BIN
1. XGROUP CODE 0D0D0h(52.20K) 09162h(36.35K) awardext.rom
2. ACPI table 082DAh(32.71K) 02D61h(11.34K) ACPITBL.BIN
3. YGROUP ROM 0DCB0h(55.17K) 073E7h(28.98K) awardeyt.rom
4. GROUP ROM[ 0] 08BD0h(34.95K) 03759h(13.84K) _EN_CODE.BIN
5. SETUP0 02950h(10.33K) 00F35h(3.80K) _ITEM.BIN
6. BIOSF0 018E0h(6.22K) 01180h(4.38K) _DMI.BIN
7. FLSH CODE 02310h(8.77K) 00C87h(3.13K) SPIFLASH.BIN
8. SMI32 00010h(0.02K) 00038h(0.05K) SMI32COD.BIN
9. SMIAP 00460h(1.09K) 002F6h(0.74K) SMIAPCOD.BIN
10. 1 PE32 in MB 2A241h(168.56K) 2A2AEh(168.67K) BIOSINIT.BIN
11. BIOSF2 04C00h(19.00K) 02EEEh(11.73K) AH_P_ROM.BIN
12. PCI ROM{A} 10000h(64.00K) 09F05h(39.75K) RAID_OR.BIN
13. GV3 036C0h(13.69K) 036E7h(13.73K) PPMINIT.BIN
14. PCI ROM{B} 08000h(32.00K) 0458Fh(17.39K) jmb363_1.06.79_raid.bin
15. LOGO BitMap 4B30Ch(300.76K) 11EF1h(71.74K) UT_X58_T3eH8_3.BMP
(SP) NCPUCODE 1D400h(117.00K) 1D400h(117.00K) NCPUCODE.BIN

Total hole area space = 10000h(64.00K)
Total compress code space = CC000h(816.00K)
Total compressed code size = 9CE3Ch(627.56K)
Remain compress code space = 2F1E4h(188.47K)

** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID

------------------+--------------------+--------------------+-------------------
SLOT1 0D 000106A5| SLOT1 0D 000106A4 | SLOT1 0A 000106A4 | SLOT1 08 000106A4

SLOT1 1A 000106A0| SLOT1 0B 000106A1 | SLOT1 19 000106A2 | SLOT1 05 000206E0

SLOT1 06 000206E1| SLOT1 0C 000206E3 | SLOT1 16 000206E5 | SLOT1 16 000206C0

SLOT1 06 000206C1|


と出てきました。この
15. LOGO BitMap 4B30Ch(300.76K) 11EF1h(71.74K) UT_X58_T3eH8_3.BMP

というのがBootlogoなので、これをCBROM ROM.bin /logo extractしてみると8ビットの640x480の画像が出てきたので、GIMPで対応した画像を作って見ました。
元画像



Mod画像



 最初は8ビットbmpの作り方が分からなかったのですが、画像→モード→インデックス で255色を選び、bmp形式で保存すると8ビットで保存されるようです。



これを再びCBROMで追加します。

C:\Users\NF680i\LP>CBROM.EXE LX58D429.BIN /logo UT_X58_T3eH8_3.BMP

CBROM.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008
Adding UT_X58_T3eH8_3.BMP ..................................... 21.5%


 100%まで行かないのが気がかりですが、これをDOSから書き込んでみます。



 これで、起動してみます。



 すると、しっかりと反映されました。他の板もいくつか試してみたのですが、Award系のBIOSを使っていても、eVGAのX58 SLIのような、オプションROMが場所を占拠していてlogoを追加する空きスペースがないような物もいくつかありました。しかし、CBROM /Dして何かが出てくるものであれば大体使えそうでした。

 Phoenix BIOSのロゴ書き換えも試してみたのですが、これは分かりませんでした。Phoenix BIOS Editorと言う物があり、これからいじれるようなことが書いてあったのですがうまく読み込めませんでした。
http://downloadcenter.intel.com/Detail_ ... ldID=11028

 何故ロゴを書き換えたいと言うだけのことだったのにここまで大事になってしまったのかは分かりませんが、とりあえず結果は出たのでPhoenix biosは無かったことにします。

まとめ
 AMI BIOSのロゴを書き換えるにはAMI TOOLSに含まれるOEMLOGO.exeを使う
 AMI BIOSは何かあっても簡単に復帰できる
 AWD BIOSはCBROMを使うことによって書き換えられる
 Phoenix biosは不明

 BIOS書き換えという内容柄、文鎮化する可能性が高いので、試す場合は自己責任でお願いします。AMIの方法も全ての物に対応しているかどうかは不明なので責任は負えません。
 まあ、これだけの為に高いリスクを負う人がどれだけ居るのかは謎ですが…。

コメントを書く
必要事項とコメントを入力して下さい。









タグの挿入