電子奇趣 · 什麼都往BIOS裡裝,包括操作系統

电子奇趣 · 什么都往BIOS里装,包括操作系统

作為一名技術宅,redsPL與國內的技術宅們一樣,日常都少不了要為朋友們義務修電腦的事兒。最近,他接手了一位朋友要為好幾臺ThinkPad刷新、重寫BIOS的Flash芯片的任務。隨著刷寫任務的進行,他逐漸地萌生了一個想法:既然現在計算機中用來存儲BIOS的Flash越來越大,有沒有可能將一個完整的操作系統裝進去呢?

电子奇趣 · 什么都往BIOS里装,包括操作系统

說到這裡,我們就有必要回顧一下BIOS這個東西了。正如其名“Basic Input/Output System 基本輸入輸出系統”所代表的意思一樣,它負責和硬件打交道,對上,為更上層的操作系統等提供基本調用硬件的接口;對下則負責直接讀寫硬件並操作它們。另一方面,它還負責在計算機上電時對硬件進行自檢(POST 上電自檢)並在檢查完成後搜索可用的操作系統,將操作權限交給操作系統。這也是為什麼一旦BIOS被破壞之後,計算機就不能啟動了的原因。對計算機硬件的一些操作和配置也是在BIOS中完成的。而配置信息則保存在主板上的CMOS芯片中。現在,不少新電腦已使用UEFI(統一可擴展固件接口)替換掉了BIOS的位置,但其提供的基本功能變化不大。

电子奇趣 · 什么都往BIOS里装,包括操作系统

一開始,BIOS存儲在不可改寫的ROM中,如果ROM是被焊死在主板上的話,連更新都變得非常困難。而EPROM和EEPROM為BIOS程序的更新和升級提供了新的方式。之後,Flash芯片的誕生使得BIOS的更新變得更加方便。老網民們大概還記得在純DOS下小心翼翼地更新BIOS的情景,而現在,更新BIOS的操作就像是更新其他軟件一樣簡單而輕鬆。Flash的容量也越來越大,UEFI界面更是圖形化了,設定參數變得非常簡單。而這也為今天的改裝帶來了方便。

电子奇趣 · 什么都往BIOS里装,包括操作系统

edsPL為計算機刷入的是一款開源的x86計算機BIOS:SeaBIOS。其佔用空間為1MB左右,這就使得實驗對象的ThinkPad x200的BIOS中還剩下7MB左右的空閒空間。而SeaBIOS提供的另一個功能就是模擬一個虛擬軟驅並將Flash中的部分空間映射過去。軟盤的最大容量為2.88MB,因此如果能夠將操作系統簡化至2.88MB以內的話,就有可能在BIOS中啟動操作系統。

电子奇趣 · 什么都往BIOS里装,包括操作系统

因此,redsPL選定了Windows 3.1並將其適度剪裁,在其中,既保留了記事本、計算器、畫圖等原生應用,又加入了LifeGenesis、一些小遊戲和VB3.0的完整程序。其中,部分非關鍵的程序採用ZIP的方式壓縮,並在系統啟動後解壓到內存盤中去。在沒有打包的時候,所有數據的大小約為7MB,而壓縮後,數據能夠存入一張2.88MB的軟盤鏡像中。系統內置了SVGA顯示驅動和音頻驅動,能夠使系統正常顯示和發出聲音。

电子奇趣 · 什么都往BIOS里装,包括操作系统

俗話說麻雀雖小五臟俱全,從一個簡單的項目擴展至龐大規模的項目並不難,但要想從複雜的項目開始剝絲抽繭,獲得一個精煉的,具有完整功能的項目就變得更加複雜了,這個項目是這樣的精妙以至於展現出了獨特的美感。


分享到:


相關文章: