妳的BIOS支持OEM LOGO嗎?這個問題也許會讓妳感到失望,但這是修改OEM LOGO首先應解決的問題。妳也許會搖搖頭說:“我的主板(或是BIOS)還是X(X<=3)年前的,不可能支持”。 先別肯定,筆者的扳子是華碩TX97LE(BIOS是98年3月17日的),起初也認為不可能支持OEM LOGO,但經過壹串冒險的實驗後(是拿BIOS做實驗呀),證實筆者的BIOS也支持OEM LOGO。而通過下面的實驗和分析,妳也許也會有新的發現棗原來我的BIOS也支持OEM LOGO 呀。
實驗壹:
先用PFLASH(筆者用的是華碩板子自帶的)將BIOS數據備份到文件中(例如BIOS.BIN),鍵入命令:CBROM BIOS.BIN /D(只有1.26以上版本的CBROM才有此功能),此時顯示BIOS文件信息如下:
No. Item-Name Original-Size Compressed-Size Original-File-Name
0. System BIOS 20000h(128.00K) 12F16h(75.77K) original.tmp
1. NCR ROM 08000h(32.00K) 04E33h(19.55K) pci32.rom
2. EPA pattern 00642h(1.56K) 002A1h(0.66K) awardepa.epa
Total compress code space = 1B000h(108.00K)
Total compressed code size = 17FEAh(95.98K)
Remain compress code space = 03016h(12.02K)
從第4行可以看到已壓縮的EPA格式文件,但卻找不到BMP文件的半點蹤影。從第5?/FONT>7行可以看出,BIOS文件最大壓縮空間(即“Total compress code space”值的大小)為108K,已用95.98K,還剩12.02K。
如果我們用以前文章中提到的方法分析上面的信息,從BIOS文件中僅剩12.02K剩余壓縮空間和找不到BMP文件格式這兩點就可以“肯定”地判斷筆者的BIOS不支持OEM LOGO。但事實真的如此嗎?讓我們再來看——
實驗二:
筆者隨便做了壹張640x480大小16色的BMP文件,上面畫了幾個字,大小為145K,文件名為GOLDWAVE.BMP。首先“強行”將BMP文件植入BIOS.BIN中,鍵入命令:CBROM BIOS.BIN /LOGO GOLDWAVE.BMP。讓筆者驚喜的是,這壹過程順利地進行了,並沒有出現錯誤信息。接著鍵入:CBROM BIOS.BIN /D,此時顯示BIOS文件信息為:
No. Item-Name Original-Size Compressed-Size Original-File-Name
……
3. LOGO BitMap 2443Ch(145.06K) 009B5h(4.43K) goldwave.bmp
……
從多出的壹行可以看出,植入的BMP文件Original-Size(原始文件大小)為145.06K, Compressed-Size(壓縮後文件大小)為4.43K。咦,原來BMP文件是經過CBROM這個程序壓縮了的,怪不得小小的BIOS文件能裝下145.06K的“龐然大物”。
向BIOS文件植入圖片這壹過程已順利完成,但能否就此說筆者的BIOS完全支持OEM LOGO呢?現在只有通過更新BIOS來證明了。
筆者用PFLASH小心地將也植入圖片的BIOS.BIN燒錄到ROM中,懷裏緊抱著從朋友那裏借來的板子(以防萬壹),嘴裏喊著“阿門”,惴惴地按下了RESET。
隨著壹聲清脆的喇叭響,屏幕頂端顯示出熟悉的PCI顯卡檢測信息,這時筆者已經感覺到BIOS沒有出致命性的問題。隨後屏幕壹閃,上面顯示壹堆顏色很亂東西(即後面要說的“花屏”),仔細壹看,原來是開始時“隨便”畫的圖片,不過已面目全非了,再隨後就是藍天白雲……
終於松了壹口氣,實驗結果完全可以證明筆者的BIOS支持OEM LOGO。從上面的和後來的若幹次實驗,可以得出以下結論:
並不能以原BIOS文件中是否有BMP格式文件來判斷BIOS能否支持OEM LOGO(這也許是許多人已犯過的錯誤)。
圖片是經過壓縮後才植入BIOS中的,而不是直接植入的,所以並不能用圖片文件的大小來判斷其經壓縮後在BIOS文件中所占的空間,而是以圖片中圖形和色彩的多少(這與壓縮算法有關)來判斷。例如,同為16色640x464大小,文件大小為145K的兩張BMP圖片,壹張上面畫了幾筆,經壓縮後僅0.52K;而另壹張用了多種顏色,畫了多個圖形,經壓縮後竟達8K。
由結論2也可推出:使圖片(壓縮後的)變小的方法是:原圖片盡量使用少的顏色和簡單的圖形,而不僅僅是改變原圖片的像素大小。
圖片不論是大於或小於640x480像素,都將以平鋪的形式顯示OEM LOGO(與WIN9X桌面背景平鋪壹樣),並且在OEM LOGO底部還有640x16像素用來顯示提示信息(即:Press [TAB] to Show POST screen,[DEL] to enter SETUP),而無論圖片大小,此信息始終顯示,所以創建640x480像素的圖片是沒有必要的,而640x464像素是最合適的(這樣也可以更好地控制滿屏顯示的效果)。
FLASH ROM(閃存,即存儲BIOS的地方)的容量有1M和2M的,而BIOS文件大小壹般情況下也有兩種,即126K和256K。假設在BIOS支持OEM LOGO的情況下,那麽並不是以FLASHROM的容量和BIOS文件大小來判斷BIOS是否能裝下圖片文件(壓縮後的),而是以BIOS文件剩余的壓縮空間來判斷(即“Remain compress code space”值的大小)。例如:圖片經壓縮後為10K。那麽即使妳的FLASH ROM容量為2M,BIOS文件最大壓縮空間為210K,但BIOS文件中僅剩9K壓縮空間,也照樣裝不下圖片;而妳的FLASH ROM容量為1M,BIOS文件最大壓縮空間僅僅108K,但還剩11K壓縮空間,那麽照樣能裝下圖片。當然,壹般情況下BIOS文件越大,其剩余壓縮空間就越大(壹般為60?/FONT>120K),而BIOS文件越小,其剩余壓縮空間也就越小(壹般為3?/FONT>30K)。
如果修改OEM LOGO後,出現“花屏、變色”而非“黑屏或無任何顯示”的現象,那麽並不會影響系統安全,也不是妳的BIOS不支持OEM LOGO,相反妳的BIOS完全支持OEM LOGO。之所以出現“花屏、變色”的情況只是與圖片有關(如何修改圖片將在後文介紹),而非BIOS是否支持及BIOS空間大小的問題。
如果在“CBROM xxx.BIN /LOGO xxx.BMP”向BIOS文件植入圖片這壹過程出錯,那麽可能的原因有兩種:壹種是BIOS不支持OEM LOGO (筆者測試了從96到99年的幾十種BIOS文件,目前還沒發現這樣的錯誤信息),解決方法只能是妳就此作罷了;另壹種是BIOS文件中的剩余壓縮空間小於圖片壓縮後的大小,解決方法是按結論3中的方法減小圖片大小(壹般256K的BIOS文件不會出現這種情況)。
由於修改OEM LOGO只是CBROM這個程序向BIOS文件中加入圖片數據及調用它的程序代碼,並不會修改BIOS的核心模塊(包括BOOT BLOCK),所以結論7中的步驟如果沒有出現錯誤的話,那麽即使妳的BIOS不支持OEM LOGO,也不會導致BIOS致命性的錯誤(開機無任何反應)。當然並不排除由於操作失誤和其他原因而導致的失敗。
為證實以上幾點結論的可重復性,筆者在另壹臺VX(BIOS是97年4月的)板子上實驗通過。由於條件限制,不能在更多的機子上做驗證性實驗,所以以上的結論可能會在不同的情況下有所偏差,但在大數情況下是適用的(至少是適用於TX及以後的扳子)。
妳的BIOS支持OEM LOGO嗎?我想現在妳的答案已很清楚了,但答案是什麽只能由妳自己決定,筆者不會煽動妳修改BIOS,畢竟這是計算機操作中最危險的事(就看誰有“運氣”親身體驗了),導致的任何損失,筆者也不會負責(誰在扔雞蛋!)。
創建LOGO圖片
在本文寫之前,壹定有不少朋友已嘗試了修改OEM LOGO,但也許會發現“花屏”或“變色”(即畫的是這種顏色,而顯示時卻是其他顏色)的現象,使自己精心設計的LOGO面目全非。而許多朋友認為只要用繪圖程序的“另存為16色位圖”就可以創建LOGO圖片了,其實事情並沒有想象的那麽簡單,問題也就出在這LOGO圖片上。所以在創建圖片之前,先了解壹下LOGO圖片的文件格式是必要的。
在20期的《修改BIOS LOGO FAQ》壹文中,曾提到這種文件格式是“不知名的二進制格式文件”,之所以這樣認為,我想是用了“CBROM XXX.BIN /LOGO EXTRACT”提取BIOS文件中的圖片這壹功能,但這壹功能提取出的圖片文件與原來植入BIOS的圖片文件完全不同(雖然文件大小相同)。提取出的文件確實是“不知名的二進制格式文件”, 但植入BIOS的圖片文件卻是標準的16色“索引”位圖文件。
其實位圖文件(BITMAP,即BMP文件)從文件格式上分有兩類,壹類是我們熟悉的“RGB”格式,它是用“R、G、B”紅、綠、藍三種顏色來表示壹個點的顏色,例如某壹點為藍色,那麽就用代碼“00 00 FF”表示這壹點的顏色。由於RGB三個量中每個可取256種值(0到FF),所以最多可顯示16M(256^3)種顏色。而另壹類就是“INDEX”(索引)格式,這種格式的文件首先在文件頭(從3CH開始)建立顏色表(可用PHOTOSHOP等程序查看顏色表),然後用顏色表中的顏色代碼來表示每壹點的顏色。例如顏色表中第15位顏色為藍色,某壹點的顏色也為藍色,那麽就用0F(十六進制)表示這壹點的顏色,而不是用RGB格式中的“00 00 FF”來表示。“索引”位圖最多只能顯示256(2^8)種顏色。
上面簡單地介紹了位圖文件的格式,那麽“花屏”到底是什麽原因呢?原來壹般的16色索引位圖顏色表中的顏色可以是16M種顏色中的任何16種,而LOGO圖片卻是標準的16色索引位圖文件,它的顏色表中只能是即定的16種顏色,如果顏色表中的顏色不是這16種或超出了這16種,那麽就會引起顯示時的“花屏”現象。從原因上看,解決的辦法就很簡單了,即將LOGO圖片創建成標準的16色“索引”位圖文件(可用“畫圖”程序的另存為“16色位圖”完成)。
“變色”的原因相對於“花屏”來說就沒有那麽簡單了,由於不知道BIOS是怎樣顯示LOGO圖片的(和壹般的程序肯定不壹樣),所以也就不能從根本上了解原因,但壹個有趣的現象是,CBROM的1.03 和1.3版“變色”的結果竟不壹樣,1.03版的把紅色變成淺紅,1.3版的卻把紅色變成灰色(有時變成其他顏色),1.03版的“變色”不是很嚴重,而1.3版的簡直就是張冠李戴地變,效果非常差。由此也可以判斷圖片是經過CBROM這個程序處理後再壓縮進BIOS文件的,而CBROM這個程序也會影響變色。
上面的分析是不是說不可能避免“變色”呢?其實只要創建圖片的過程符合壹定的規範,那麽基本上可以保證圖片不“變色”,下面是筆者在操作中的壹點作圖經驗:
如果妳對PHOTOSHOP(下稱“PS”)不是很精通,建議使用WINDOWS自帶的畫筆程序作圖,其因有二:壹是用畫筆程序的“另存為‘16色位圖’”就可以創建符合要求的16色索引位圖,而PS要用經過“轉換成索引模式”,處理顏色表等多種步驟。二是由於PS功能過強,在RGB模式下它會對圖片進行特殊的處理,這樣反而使圖片容易發生“變色”
作圖時,最好使用黑色為背景色,藍色為文字及圖形色,另外可加壹些綠色或白色,而少用些其他顏色。例如圖1所示的“金潮電腦”(這牌子聽過嗎)中除了“潮”字用了綠色外,其他均是藍色,而這幅圖就沒有“變色”。
如果使用畫筆,那麽只要註意好使用顏色,畫好畫後再用“另存為‘16色位圖’”就可以了。而用PS時要先將“RGB模式”轉換為“INDEX模式”(由於這壹過程還要載人顏色表,所以最簡便的方法是先用畫筆程序建立好16色索引位圖後,再用PS打開),再進行繪圖。因為在“RGB”模式下PS會對圖片進行“去鋸齒邊緣處理”(即用相近的顏色填充邊緣),而這樣反而容易引起“變色”。
盡量畫直線和矩形之類的規則圖形,而少畫曲線和圓形之類的,否則最終顯示時的“鋸齒”現象很嚴重,影響LOGO圖片的整體效果。
最好使用CBROM的1.03版植入圖片,因為即使是變色也不會很嚴重。
圖片創建的其他註意事項,請參看結論中的第2、3、4條。
以上經驗的成果就是圖1所示的“金潮電腦”(誰在流口水),最終顯示時沒有變色。當然,如果妳覺得創建圖片太麻煩的話,也可以到我的網站下載已做好的LOGO圖片(個個精彩,不會變色,另外還有配套的WIN9X 動畫開機LOGO,趕快下載!)
最後的“手術”
終於到了給BIOS做“手術”的時候了,如果妳有修改BIOS的經歷,那麽現在已很容易了。首先運行AWDFLASH等BIOS更新程序(建議使用主板商所提供的,如ASUS的PFLASH),將BIOS中的數據保存到文件XXX.BIN中(具體操作請參看有關文章,這裏不再細說),然後鍵入CBROM XXX.BIN /LOGO XXX.BMP將做好的LOGO圖片植入BIOS文件,最後用AWDFLASH將已植入圖片的BIOS文件更新到ROM中。好了,這樣就完事了!哦!別急,還有,真誠地向上帝祈禱,開機後看到的是自己精心設計的LOGO,可別是聲、光、味效果懼佳的“青煙”效應(妳見過嗎?很“精彩”的!)。
嘮叨完了(我的手快酸死了!),最後還是要羅嗦壹句老話:BIOS修改具有壹定危險,修改過程中壹定要仔細慎重,以免造成損失!本文所提程序、LOGO圖片以及更多更詳細的資料可到 下載。