而 EFI 這東東,在 IA64 上已經跑了七年以上了!
當初 Intel 推 EFI 的用途,就是要建立一個標準化的硬體存取介面,而且是和
底層的 H/W 無關,只要是透過 EFI,無論是 IA32 or IA64,都一樣
EFI 的執行項目比 x86 BIOS 多很多,前端的就不說了,
在 IA64 上,EFI 會包含有三大部份
1. EFI Firmware core,這個部份存放在 Flash 中
2. EFI disk partition,這個部份存放在硬碟的 EFI Partition
3. Boot Manager,這個部份存放在 flash 中
而 boot manager 就是用來維護開機選單,但真正執行 OS 開機的部份,
則是存在於 EFI partition 中的 OS loader 來運做,不同的 OS,就會有不
同的 OS Loader。
而 EFI Partition 中,提供的是 flash 所無法提供的工具。
例如在 IA64 中,EFI 本身的 upgrade,可以透過 ftp 來執行,但 EFI 本身
並沒網路功能,這時,可以把 EFI 專用的 tcp/ip toolkit (存放於 EFI Partition)
帶起來,就可以啟用網路功能。
又或是做 disk partition,這也是 EFI Firmware 不提供,但可以藉由 EFI partition
中的 utility 來執行。
而執行 EFI utility 的方式,一個是可以透過 EFI boot manager,一個則是
進入 EFI shell。而 EFI shell 本身就有點類似 dos or linux text mode,也
提供了不少內建指令可以使用。
相對的,上面提到的 tcp/ip toolkit、disk partition kit 等,就是所謂外部指令。
而除了這些 utility 之外,不同的 hardware vendor,也可以提供如 diagnostic
的工具,供 user 載入 EFI partition 中。
而前頭有人提到的 driver,並非 OS level driver,而是 EFI driver。
EFI driver 的用途,因為 EFI 雖然內建了部份卡片的 driver,如 SCSI、HBA 等,
但若是有新的卡片時,EFI 可能會不知道如何去和該卡片溝通,這時就須要在 EFI
先載入卡片所提供的 EFI driver,才能由 EFI 中去設定該卡片。
不過呢,EFI Partition 在 OS 中,是可以被存取到的,即使是 Windows for IA64
亦然,所以就算把 OS level driver 放進去,也未嚐不可。
不過呢,以上都是以 IA64 的角度來說明。
目前的 UEFI,為了相容於現有的 BIOS 機制,看來是做了不少的簡化 !!
PC3 wrote:
如果依照你的說法
那沒有記憶體或是顯示卡時~
主機板的 "嗶" 聲是由哪的零件判斷的
如果是除了CPU外 由主機板的零件判斷,
那個零件應該也是有運算處理能力吧?
如果以後要裝BIOS的驅動,那還真事件麻煩事
畢竟BIOS驅動開機完後並沒有什麼作用,幹嘛還要灌他的驅動
況且BIOS會更容易被病毒控制,天曉得下次開機會有什麼下場
反而是卡類應該要自帶驅動才對
只要插上開機自動會將驅動給系統
不然每次裝個機子就要找光碟找驅動煩死了
一開機BIOS就會自動載入RAM裡(應該是晶片組去載的),然後CPU就會去RAM裡的特定位址裡去執行BIOS,CPU執行BIOS檢查蒐集各元件狀態,完成自我檢查之後就會嗶一聲,提示完成檢查程序,繼續掃RAM,掃硬碟,之後按照開機順序尋找開機磁區,換執行開機磁區的程式,繼續開下去。
除了CPU有運算處理能力之外,其他晶片都是受CPU控制的,那嗶一聲也是CPU叫晶片組嗶的。(物盡其用,節省成本)

BIOS都是用特殊的指令和方法去寫入的,寫入又容易受干擾失敗,沒有病毒那麼厲害啦,除非他得到板廠的真傳,而且BIOS是處於最底層的東西,病毒弄到那裡,模擬BIOS還要幹病毒勾當,太難了。

卡本身自己支援標準就可以了吧,驅動的用意是用來溝通卡和作業系統,如果還在卡裡面放驅動,增加成本(多一個Flash ROM要加錢吧),更新麻煩(要用專用程式來更新Flash ROM的驅動),應該大家就不會買了。

娘什麼!老子都不老子了。
sniperliao wrote:
連 BIOS 都越做...(恕刪)
有吧,我記得早在2000年的時候威盛早就有這樣的概念,
也有實作出來,叫什麼我忘了,記得他們是標榜說搭配這樣的系統,
cpu不需要安裝風扇,因為耗電量低,這樣才能打造出安靜的電腦出來.......
我記的有少裝了CPU也會"嗶"的主機板,(或是偵測到CPU壞掉會有嗶聲)
那這是靠哪個零件作偵測的?
(或許是一個有沒有電通過的簡單回路吧?)
我當然知道作業系統不只一種
也認知驅動硬體的底層 driver 本來就會存在卡上,
我想說說的是自動載入作業系統與裝置硬體控制的驅動,
這樣作業驅動應該不至於耗掉GB上的容量吧(至少能掛放比較普及的驅動)
且Flash的價格其實也有下降的趨勢,
由卡與作業系統溝通再載入適當的作業版本的Drive應該是有可能的吧
(不用載入到其他的附加累罪的軟體程式)
這種功能的設計也可能例如透過JUMP作開啟否的判斷(開機程序的緩慢的問題應該沒啥影響)
的確目前技術(含軟硬體)與成品價格上目前市面上應該不能太能接受
而且出了問題可能還更多麻煩,
但以人性化的觀點,這未嘗不可能實現,(現在很多軟硬體越來越簡單,越容易給初學者上手)
最重要的是這種方式可能使裝置在最基礎的系統下,都能有最佳化的表現,
(或是最基礎的系統能以最佳化的方式控制裝置)
這可能是種往後的方向 "根"

從電源啟動,到 OS 接管,電腦依序做了些什麼?
電源啟動:
記憶體被初始化。
而 Flash ROM 裡,BIOS 的 Boot Block 被執行,他會將整個 BIOS 程式碼,連同 CMOS 裡的設定值資料,一起載入到記憶體。
POST (Power-on Self Test):
檢查顯示卡,若正常,螢幕最上方會顯示兩三行顯示卡相關的訊息 (在此之前螢幕是全黑的)。
然後再檢查其他各種設備。
此階段若發生錯誤,BIOS 程式會讓主機板上的蜂鳴器出聲 (就是所謂幾長幾短那種聲音)。
而在此階段按下規定的鍵則可進入 BIOS 設定程式。
載入前期:
假設 BIOS 設定為第一顆 IDE 硬碟開機。而該硬碟是將第二個主分割區設為 active。
完成 POST 後,BIOS 會從該硬碟的 MBR,抓出啟動程式來執行。
啟動程式會從第二個主分割區裡的 Boot Sector,抓出 OS loader 來執行。
OS 啟動。
載入後期:
那是 OS 的事了。
對使用者來說都差異不多 ..有些bios 也可以畫出美美圖 ..
最大問題是 電腦 進 os前 BIOS 能否多做些事 .
或是 bios /UEFI 直接使用網路 放音樂 ..不須進 os也能做很多事, 那像現在 bios
完全只能設定一些基本. 連格 usb printer 都無法在bios下看到 .
為何Intel 不開發 linux base OS 當基層 bios. 不進os還是可以使用一堆 hardware ..
否則電腦都從 486 DX2 66 66MHZ 跑到
Intel I7 920 over 4Ghz ..進到 os 還有很久 .
Mac 電腦可以 馬上開關機 , PC 卻不能 , 喊多年的 有以前 OnNow PC . 但現在 ?
內文搜尋

X