本帖最後由 阿達金田一 於 2020-7-9 04:05 編輯
前言
本人非專業...也沒那麼多的實作環境
比較熟我的...大概都知道我是理論派
而且我本人電腦方面比較偏向軟體...硬體比較弱
以下只是個人想法...不一定對
而且主要以一般使用者角度...
一些專業上的東西可能說的不對...但我只是要表達一些意思
主要是對一些網路上都找的到的資料
因為有的各說各的...個人覺的沒有絕對的對錯
只有各種不同角度的說法...表達的意思對就好
所以只是個人想法的綜合結論
有些名詞我就不解釋...網上都有資料...不過我多以維基為主(因為感覺比較詳細而且主流)
還有 主文文章 很長 ...沒興趣的就別看了...看下面後來整理的要點就可以
主文中有關 UEFI 要點 和 一些補充
我主文比較偏向想到什麼寫什麼...而且比較敘述式
因為主文太長...只想看重點的可以看這一段就好...
這算是我主文寫完後...整理一下...
儘量簡易但又比較能看懂 和 UEFI 相關的幾個要點
( 但我發現我字打著打著...又變好長...只是比較整齊一點 )
1. UEFI Class 0 1 2 3

雖然我覺的看圖...應該就不用再解釋...不過還是加上我自己的一點看法
Class 0 ... 其實就不是 UEFI BIOS ...而是 Legacy BIOS
Class 1 ... UEFI BIOS 底層介面 Only CSM ... boot mode 只能 CSM boot ... 所以基本比照 Legacy BIOS ...
Class 2 ... UEFI BIOS 底層介面 UEFI+CSM ... boot mode UEFI CSM 都可以用
Class 3 ... UEFI BIOS 底層介面 UEFI Only ... boot mode 只能 UEFI boot ... 純UEFI
就明面資料來 和 使用者實際使用上來說...
基本上 Class 1 2 3 主要是指 BIOS 底層有提供什麼介面...而不是指 boot
但對大部份的 UEFI BIOS 來說
通常會分別 boot mode 和 Launch CSM ... 2個設定
而不是直接設定 UEFI Class ... Launch CSM 設定 算比較貼近一點
boot mode 開機
基本上可分為 CSM boot 和 UEFI boot
CSM boot 可能是用 UEFI Class 1 or 2
UEFI boot 可能是用 UEFI Class 3 or 2
Launch CSM
就是要不要 啟用CSM支援 ...也就是
啟用CSM ... Class 1 or 2
禁用CSM ... Class 3
所以通常依設定大概是
Class 1 = 啟用CSM + only CSM boot
Class 2 = 啟用CSM + UEFI/CSM boot
Class 3 = 禁用CSM + only UEFI boot
但實際上我個人是懷擬 Class 2 其實只有在
啟動 CSM + UEFI boot 時...才算是 Class 2
因為 我不認為 CSM(Legacy BIOS) boot 後 ... 可以用 UEFI 介面
而且 啟用CSM + CSM boot...基本上已經有 Class 1 了
而且 Class 2 我個人覺的為主要的用途是
UEFI 可以 相容 和 支援舊 Legacy BIOS 架構 的 硬體裝置
拿 顯卡 來舉例 ... 就是 顯卡是用舊的 Legacy vBIOS
Class 2 是為了讓 UEFI 在用 UEFI boot 時
可以用 CSM/Legacy 去支援使用 Legacy vBIOS 的顯卡
2. 在使用上...可以把 UEFI BIOS runtime interfaces(運作介面) 分為 HW 和 SW
我個人覺的這樣會比較好理解一點 , 因為這又要說到 boot mode
boot mode是用 Legacy/CSM boot 還是 UEFI boot
通常...這更多是偏向 SW 要用什麼 runtime interfaces
但 UEFI BIOS 底層HW runtime interfaces 是用 Class 1 2 3 又另是一回事
例如
Class 2 UEFI/CSM runtime interfaces + UEFI boot
HW底層 是 UEFI/CSM runtime interfaces
但 UEFI boot 時 SW 其實基本上是用 UEFI runtime interfaces
SW 要用 CSM/Legacy runtime interfaces ... 就是用 CSM boot
3. Legacy BIOS 和 UEFI BIOS ...是2種不同的 BIOS ... 與之對應的 HW SW 亦不同
簡單說...基本上不通用
但 硬體裝置 有 Legacy/UEFI 都支援的...例如 顯卡
不過 SW (主要指 開機程式 ) 目前是沒看過都支援的
硬體裝置 若只支援 Legacy BIOS 架構
例如 Legacy vBIOS 顯卡
UEFI 就只能用 Legacy/CSM runtime interfaces 去控制
SW 若只支援 Legacy BIOS
例如 dos , grub4dos 開機程式
UEFI 也只能用 CSM boot 去 boot 加載
反之 .EFI 的 UEFI 開機程式
只能用 UEFI boot 去 boot 加載
HW 和 UEFI Class , SW 和 boot mode ...沒對應...就會出問題
像 顯卡 就黑屏 , boot 就是開不了機
主文 原始發文日: 2020/7/8
6年多前...雖然 UEFI 也算不上剛出...當時 UEFI 還不算主流
當時曾發過一舊文 淺談...我所覺的的 legacy bios 和 uefi bios
不過隨著時間過去
intel 在 2020 年開始不再支援 CSM (Legacy) 後
UEFI 基本上是目前主流
其實個人覺的近1-2年可以開始算了...只是今年 Intel 正式說不支援CSM
基本上看到 主機板(MB) 如果沒 win7 driver, 甚至也沒 win8 driver
只有 win10 driver...基本上最好都用 UEFI 比較好
在說 UEFI 統一可延伸韌體介面 之前...要先知道什麼是 UEFI
這裡我就不說了 google 一堆資料...最少維基也有說明
這裡我首先要說的是 BIOS / UEFI 的 本意 和 引申意 , 用法 , 俗稱 或 代(指)稱
和各種時期...有過的主流用法(網路看法)...及相關資料
我個人覺的不管那個時期, 基本上人家看的懂或知道意思就好
去扣字眼或字意沒必要...因為同一個字...不同時間代...可能有不同的解釋或說法
有時人家說法不同...也未必不知道...只是習慣而以...
除非誤解意義...否則能懂就好
1. 只有 Leagcy Bios 時...
個人覺的...當時並沒有 Legacy BIOS 這種說法 ... 俗稱就是 BIOS
( 後來 UEFI 出現後...為了分別...才出現 Legacy 這種分別說法 )
有些有文章可能會說 Legacy BIOS 只有一種
我雖然沒有老到 8086 那時期 , 不過也是有看過早期一些舊的一的PC
( 是啥我就不知道...反正是用 磁帶 當 儲存媒體 )
個人主要也是從 80386 開始上手, 第一台 PC 是 486
但電腦也不是只有 intel x86 系列吧
只是 x86 架構出來後開始慢慢變成 PC 主流
( 我這個年代的人大概會覺的286開始吧 )
就 Personal Computer 個人電腦 來說...雖然大多是用 x86 架構
但不一定只有 x86 , 若以 電腦 computer 來看, 可能還一些我也沒聽過的
不過這裡先只說 PC , 至少 Mac 麥金塔 也還算有名
( Mac 早期好像是用 MC68000 的 CPU 反正好像不是 80x86 的架構 )
而不同 computer 不同硬體架構...以當時的 Computer 來說 BIOS 會一樣嗎...
我不是專業的...但我個人覺的...應該不一樣 ( 頂多類似...畢竟功能上是一樣的 )
BIOS ... 我覺的它的 本意 就照字面的意思去解釋就可以
Base Input Output System
它就是指一套用於 電腦 基本輸出入 的系統 , 然後什麼是 系統
我覺的它的本意只是一種概念的東西...不是實體
只是當概念的東西應用到現實時...它就有對應(映射)的實體/實體物
在 電腦 來說...我個人覺的 BIOS 它意義上的 實體物
就是一個用來處理 Computer 各硬體IO 的一個 SW
通常會把 SW 儲到 HW, 以 韌體 FirmWare (FW) 的方法存在
所以早期 BIOS 亦做為 MB 上用來儲存 BIOS 的 FW 的代稱
( 後文為了分別...BIOS 就是本意, BIOS FW 就是指 MB 上的 FW )
但早期 BIOS 的設定...是存在 CMOS 上
所以當時 設定BIOS 這動作...有人會說 "設定 BIOS"
也有人說 "設定 CMOS" ... 但 2者的要指的意思其實一樣
而 BIOS 當時也常被當做為 PC BIOS 的代稱
( 雖然個人覺的嚴格上只能說 x86 PC BIOS )
後期有人把 UEFI GUI 當成和早期 Leagcy BIOS 的分別條件之一
我只能說...你沒看過 GUI BIOS 而以 , 我第一台 80486 PC BIOS 就是 GUI 的 可用滑鼠操作
當然...當時那時的畫面...大概就 單色GB 那種程度 (當時技術就這樣)
當時的 OS 主要也都是停留在 command 指令式的操作...PC OS / BIOS 用 GUI 的真的比較少
但也不是完全沒有...至少在GUI應用上...Mac 一早就開始有在用
所以連 OS 都在 Command ... BIOS 有必要做成 GUI 嗎 (雖然對使用者來說 GUI 比較好)
當時用電腦的...大多都要先 "練"過...不會 command 的...就算不上會用電腦
所以 BIOS 要 GUI 不是不能 (說穿了寫一個 GUI SW 也放入 BIOS 變成 FW 就可以了)
只是真的沒必要而且, 大多也很少這樣做
說真的 BIOS 在 FW 上就是程序...
說真的如果把整個 OS 都寫到 BIOS ... 用 BIOS OS 開完就直接在 OS 了
所以要不要 GUI 或 其它功能(例 USB 開機) 什麼的...真的看要不要設計而以
只是很多時候...都有其它的考量
像 BIOS FW 容量要越大...成本一定越高吧
而且早期 BIOS 是用 ROM ... 通常容量都不大
而不像現在大多用 Flash...只要 Flash 夠大丟一個系統進去也可以
題外話... Dreamcast 主機...其實好像就是用 Windows CE
2. EFI 初期
EFI 是 UEFI 的前身
我個人最早發現 EFI 使用...大概是在 XP x64 上 (之前還有沒有我就不知道)
XP x64 是有支援 EFI 開機的
雖然就 維基 中...EFI 還有前身 Intel Boot Initiative
不過這東東真心沒聽...超沒名...就不說了
當時主流都還是 Legacy BIOS ...所以當時 EFI 也一樣超沒名
我也是後來知道 UEFI 後才知道之前 XP x64 有支援 EFI
基本上...除了當時用 IA64 CPU 才會用到 EFI 開機 , 而 IA64 又大多是 伺服機 在用
當時 PC 來說基本都還是用 x86(IA32) , 而 x64 也是 Intel x64 , AMD x64
Intel x64 , AMD x64 是基於 x86架構的64位元拓展 的 x64 CPU, 故通常俗稱 x86-64
所以...除非用到 IA64 的 CPU...不然基本上都還是在用 Legacy BIOS
這時也許一些相關專業的對 BIOS 開始有分別 Legacy BIOS / EFI BIOS
但對 PC 一般使用者...還只是有 BIOS = Legacy BIOS
對一般人而言...根本不知道 EFI , 更別說與之對應的 BIOS (或者要叫 IA64 BIOS ???)
當然也沒有中期 BIOS = Legacy BIOS 的說法
基本上一到 win8 ... UEFI 才慢慢的壯大起來 ( 一部份主要也是 HDD 和 GPT 的關係 )
而到 win10 ... UEFI 基本上成熟了...(目前主流都 win10了)
3. UEFI 初期 和 GPT ... 舊時代 Legacy BIOS 和 MBR 瓶頸
我個人覺的...UEFI 開始成熟...少不了要提到另一個供生的東西 GPT ( GUID Partition Table )
相同的...提到 Legacy BIOS 也會被拿來說的 MBR ( Master Boot Record )
這裡就不說 分割 和 檔案系統 這一些 磁碟相關的資料 ... 我新手村好像有
簡單的說...就是 HDD 越來越大... MBR 不夠用 , 要用 GPT
但是 ... 主流的 Win 並沒有提供 Legacy BIOS 開機的 Win安裝 可以支援 GPT
( 並非不能只是沒有 直接支援 完全支援 ...實際上是可以...我也有發過主題...用 Legacy BIOS 啟動 GPT 上的 win7 sp1 x86 )
預設 Legacy BIOS 開機...Win安裝 HDD 只會用 MBR
反之 UEFI 開機 ...Win安裝 HDD 只會用 GPT
簡單說就是一開始是大家為了用 GPT 所以只好用 UEFI
因為 Legacy BIOS 要用 GPT 除非用 Linux OS(因為它有支援) ...不然Win要用很搞工
這時 BIOS 在說的時候...也都會分 Legacy BIOS / UEFI
不過 UEFI 初期...大多通常還是 BIOS = Legacy BIOS , UEFI = UEFI
因為這時主流還是在用 Legacy BIOS , 一部份 UEFI + CSM , 少部份 UEFI 沒有 CSM
有些 UEFI 預設可能還是用 CSM 啟動
因為可能很多人還在用 xp win7 或是 習慣 (例如 只會用 Legacy BIOS/CSM 的開機...不會 UEFI )
而且這時 Legacy BIOS 上的 USB Boot 已經非常成熟了
工具人 的 維修工具 大多都從 CD/DVD 變成 USB Tools
不過這時也開始越來越多 PC 用 UEFI
( 一開始主要是 筆電 吧...因為很多 NB 都直接帶 Win8 ...甚至用 UEFI 的 secure boot )
這裡...可能很多網文資料都很喜歡強調 UEFI 不是 BIOS
我個人還是覺的大家看的懂就好...這樣說有是有比較厲害嗎
雖然基本上如果要扣字眼...我認同這種說法
但看的角度不同...也未必能說這種說法一定對 ...
UEFI Unified Extensible Firmware Interface 統一可延伸韌體介面
真的照字意來說...它本意就是 "介面" ...和 系統 一樣...只是概念非實體的東西
所以如果把 BIOS 代指為 BIOS FW ... UEFI 當然不是 BIOS FW
若是 BIOS 本身本意來說... System 也不是 Interface 啊...
但是很多時候...BIOS 都只是代稱...
而且 BIOS 和 UEFI 2者 都是在 HW(硬體) 和 SW(軟體) 之間 ... 比較容易搞不清楚
以我個人角度來解釋... BIOS UEFI 不是 等於/不等於的 關係 ... 而是 包含/屬於 的關於
簡單說...若整體的 簡易架構是
BIOS FW = BIOS HW - BIOS SW
HW - BIOS FW - SW = HW - BIOS HW - BIOS SW - SW
那什麼是 介面 ... - 就可以算是介面 ...
也可以說 兩兩之間是用什麼樣的方式 控制 或 溝通(交握)
那 UEFI 大概就類似
BIOS FW = BIOS HW - UEFI - BIOS SW
早期 BIOS 可能沒有統一的介面規範...
也不能說沒有...至少 x86 上 BIOS 基本上都沒差很多...只是各家BIOS 細部可能還是有差異
而且基本上更偏向 HW底層操作 ( 需要對HW有比較多的理解認識 )
基本上就看是用什麼 HW 架構 , 然後 BIOS(FW) 配合 HW ... SW 配合 BIOS(FW)
BIOS 怎麼處理...我非專業說的不一定對... 早期 x86 BIOS 大概是用 BIOS INT ( 中斷 )
也就是說...一但其中有調整改變...其它也都要相應的改變
這意味著...開發上為了方便和習慣...整體很難做出大改變...
要開發新功能...不管 HW BIOS SW...又要在之前的架構基礎上來做
可能有些功能在舊的架構上開發相對來說 很困難 或 麻煩
那若是 BIOS - SW 之間 有一個 統一介面
不管 BIOS SW 怎麼搞...2者之間固定一個 溝通方式
那開發 SW 時...就不用去管 BIOS 是啥
只要 BIOS 是用 同樣的介面 同樣的溝通方式 就可以
UEFI 在開發 BIOS 用的 SW 時...更偏向一般 SW 的開發
在開發環境中, 可能很多功能都只是一個個函式
不用像 Legacy BIOS ...開發者要去瞭解各 INT 的功用, 甚至底層大概怎麼運作
所以開發難度上應該較低
當然這是以 2個都不會沒學過的角度來說
若是習慣Legacy ...要開發 UEFI SW 就要改變習慣
就像 IA64 的 EFI
如果 x86 BIOS 也用 EFI ...
SW 就不用去管 PC 是 IA64 BIOS 或是 x86 BIOS
不用管 HW 底層怎麼搞...反正都是用 EFI ... 安照 EFI 來做就好
以上說一堆...看不懂我的意思也沒差
要簡單的說 我覺的 UEFI 不等於 BIOS , 但一個整體的 BIOS FW 包含 UEFI 的使用
用舉例來說就是 白馬非馬 那種感覺...2者間無法直接相等, 但又有關係
要扣字眼是否 等於/不等於...真的沒必要...看的懂意思就好 因為2者更偏向 包含 屬於 的關係
例如
UEFI BIOS ... 大多就是指用 UEFI(FW) 的 BIOS FW
而這裡 BIOS 指的也是字面上的本意...一部份也可以代指 FW
我看過有些文章硬要用 UEFI 不是 BIOS , 所以沒有 UEFI BIOS 這東東
雖然我看的懂意思...但真的要扣字眼...我想問...用 UEFI 的 MB 都沒 BIOS 嗎
別回答我...沒BIOS...那些都是 FW ... 說的好像 Leagcy 沒 FW 似的
我前面說過了...有時就只是 代稱 或 俗稱
4. UEFI 的時代 和 Legacy BIOS 的落幕
當 BIOS FW 主流變成 UEFI 時...
基本上...目前大多數的 MB 都是用 UEFI ...
而 Legacy BIOS 開機也不過是 UEFI 的一個 CSM 功能模塊
雖然可能因為一些原因...可能還會用 Legacy BIOS 來開機
例如 Dos , xp , win7 , USB Tools
這時...開始有人把 BIOS 做 UEFI BIOS 的代稱 ( 因為 MB FW 大多是用 UEFI )
BIOS = Legacy BIOS 開始過去了
只是對 UEFI/CSM 來說...CSM 功能可以說等同於 UEFI 上的 Legacy BIOS
習慣早期說法的可能還是會把 BIOS 當成 Legacy BIOS 的代稱
不過就我個人而言
BIOS 就字面上本意解釋就好, 就算代稱也是更靠近 MB FW , 而不是指 Legacy/CSM 或 UEFI
不過 FW 本身就是一個廣義的名詞... HW 中有 SW ...都算上的 FW
而 MB FW 中的 SW 基本上就是 字意上的 Base Input Output System
只不過現在的 Base Input Output System 都是用 Unified Extensible Firmware Interface
就像寫 程式 也會用 API ...我們可以不用管 API 底層怎麼運作處理...只要會用 API 就好
就像不管 TCPIP 是用 IPv4 還是 IPv6 ...上網一般網站還不是都用 http 通訊協定
即所謂 網路 7 層 ...
如果 BIOS 是整體 System ... UEFI 算是其中一部份
UEFI 相關 和 問題
UEFI 的運作大概分別 Class 1 2 3
雖然還有個 Class 0 ...但我覺的這基本是指 Legacy BIOS No UEFI ...沒有 UEFI

由於 BIOS 運作方式分為 Legacy(UEFI CSM) 和 UEFI
因此相對的因為一些架構上的不同
BIOS SW 在控制處理 HW 也有一定的變動
下面可能說的不對...不過就抓大概的意思就好
例如
Legacy BIOS 時...大多數 MB 的 擴充裝置單元( 插 PCI PCIE 那些裝置 ) 都有 BIOS...
簡單說 顯卡, 音卡 , 網卡 都有 BIOS , 裡面儲有 BIOS SW
反正 Legacy BIOS 的架構大概就這樣
開機時會加載這些 BIOS 和 BIOS SW... 讓 裝置 可以 Base Input Output
然換成 UEFI 咧
裝置一樣也是會有 BIOS...但裡面是存 UEFI Driver ( UEFI SW )
前面說過 UEFI 開發上更偏向 SW ,使用 UEFI 控制 裝置HW 更像 OS 安裝 Driver
只要有對應的 UEFI Driver , UEFI BIOS 這個 System 就可以正常使用該裝置
把 Legacy 和 UEFI 的 SW 想成使用不同的 程式語言 的 SW ...應該比較好理解
當然 Legacy BIOS SW 不能用在 純UEFI 上跑 ( UEFI CSM 可以 )
反之 UEFI SW 也不能在 Legacy BIOS 上跑 (但 Legacy BIOS 可以模擬 UEFI )
PS:
早期有 Legacy BIOS 模擬成 EFI/UEFI 開機的程序 ( 這個我有玩過 DUET )
主要是為了方便測試開發 EFI/UEFI
不過基本只能在 intel cpu 上模擬
因為 EFI 一開始是 intel 開發的
所以像一些 裝置功能 ...如果該裝置 BIOS 只有支援 Legacy BIOS 版本
UEFI 若不開啟 CSM...等於無法使用這些功能
例如
Lan Boot 網卡啟動...也就是 PXE ...
早期有的網卡可能只支援 Legacy BIOS
而現在...我想近2年的大概都能支援 PXE UEFI Boot
而 顯卡
早期還沒有UEFI 時... 顯卡 的 BIOS
Legacy BIOS 用的一般稱 vBIOS(Video BIOS)
而後期有 UEFI 時...顯卡 的 BIOS
UEFI 用的一般稱 UEFI GOP ( Driver ) 或 簡稱 GOP
不管有時為了容易理解, 即時是官方說明
有時也會寫成 UEFI vBIOS 或 顯卡 UEFI BIOS
實際上我個人覺的
UEFI GOP Driver 指的更偏向 BIOS FW 中的 SW, 只是一個 UEFI 用的 UEFI Driver
而 vBIOS ...不管早期後期...更多是指整個 BIOS FW ( 所以也包含 SW )
而不是單指 Legacy 或 UEFI 的 vBIOS
所以 UEFI vBIOS 我也不覺的有什麼問題
反正意思就是用 UEFI GOP 的 vBIOS
這和 Legacy BIOS / UEFI BIOS 一個意思 Legacy vBIOS / UEFI vBIOS
而 BIOS 更新...不管 Legacy / UEFI , BIOS / vBIOS
實際上更多是指 更新 BIOS FW 中的 SW
不過可能因為習慣和為了好區分
有時 vBIOS 會代指 Legacy vBIOS 或 其中的 SW
( 就像 BIOS = Legacy BIOS )
而 UEFI GOP 是指 UEFI GOP Driver , 也會代指使用 UEFI GOP 的 UEFI vBIOS
( 就像 UEFI = 使用 UEFI 的 UEFI BIOS )
不過一些 用詞習慣 大多會隨著 大環境 和 常用習慣 改變
像現在 顯卡 很多支援 UEFI GOP , 同時也支援 Legacy vBIOS ... 那要怎麼算
(也就是 顯卡 BIOS FW 有 Legacy vBIOS SW 也有 UEFI GOP Driver )
說穿了 重點就是在 能不能 支援 UEFI/Legacy ...就像 UEFI 也有 CSM (Class 1 2)
不過也有一些僅支援 UEFI GOP ...就像 UEFI 也有 Class 3
例如 2020 後 intel cpu 內建顯卡...可能就沒 vBIOS 支援了
前面說了 不管 Legacy / UEFI ... MB 上的 擴充裝置 其實都有 BIOS
所以實際使用上只差在 BIOS FW 中的 SW 是給 Legacy BIOS 用的, 還是 UEFI
因此 vBIOS 顯卡有的是可以刷 BIOS FW 把其中的 SW 改成 UEFI GOP
當然前提是官方有提供 BIOS更新工具 和 UEFI GOP
在 Legacy to UEFI 的過渡期...比較容易會遇到的一些相關問題
影響比較大...也比較常見的大概就是 顯卡
因為 顯卡 有問題...大概就沒畫面了...問題太明顯
不過大多也是在 電腦硬體升級 或是 UEFI 中期比較常見
也就是 新舊支援不同BIOS 的硬體 混著用
當 MB 和 顯卡 因為 vBIOS / GOP 問題...開機無畫面(黑屏) 時
(以下只是 我個人理論上的推測...僅做輔助判斷參考...不一定對...還是依實際情況)
簡單說...大該可以分為
A. 剛開機 UEFI BIOS 用什麼來顯示 POST 和 設定畫面(Config)
也就是在進入 CSM Boot 或 UEFI Boot 之前
UEFI BIOS 本身會用什麼來顯示
這要看 BIOS 設計 ... 是只支援其一...還是都支援
B. UEFI 進入 Boot 後用什麼來顯示畫面
即 UEFI BIOS 進入 CSM Boot or UEFI Boot 後
通常
CSM boot 應該就用 vBIOS ( Legacy BIOS 開機 )
UEFI boot 應該就用 UEFI GOP ( UEFI 開機 )
也就是 B 比較單純...就看 顯卡 有沒有支援而以
CSM boot 用 vBIOS
UEFI boot 用 UEFI GOP
另外就是 A 不正常時...是否會繼續 B
即 POST 包含 vBIOS / GOP 測試的話...
若 顯卡 只有 vBIOS
A 支援 vBIOS ... A 正常 進B
A 不支援 vBIOS ... A 不正常 ... 黑屏 看不到畫面
A 不正常 ... 不能進B ... A卡死
A 不正常 ... 但還可以 進B
B 用 CSM Boot ... 正常
B 用 UEFI Boot ... 黑屏卡死 ... 或要求用 CSM Boot
若 顯卡 只有 UEFI GOP
A 支援 UEFI GOP ... A 正常 進B
A 不支援 UEFI GOP ... A 不正常 黑屏 看不到畫面
A 不正常 ... 不能進B ... A卡死
A 不正常 ... 但還可以 進B
B 用 CSM Boot ... 黑屏卡死...或要求用 UEFI Boot
B 用 UEFI Boot ... 正常
而 USB Boot 則看 BIOS 設計
就像早期 Legacy BIOS 一開始也沒有 USB Boot
然後慢慢增加...例如
早期 USB-CD/DVD , USB-FD , USB-ZIP
後期比較成熟的 用HDD BBS(就是和一般HDD一樣) , USB-Flash , USB-HDD
UEFI 初期/中期...很多 UEFI 都支援 CSM ...如果BIOS 設計偷懶一點
USB Boot 都用成熟的 Legacy BIOS USB Boot
則 UEFI 可以直接用 CSM 或是 借道CSM ( 用 CSM 去加載 UEFI 用的 EFI檔...這個純個人推測 )
像最近討論的 p1448F ... 網上看了很多資料 ... 類似的 UEFI BIOS... 都要 開CSM 才能用 USB Boot
UEFI 後期...大部份應該 UEFI 本身就可以 UEFI USB Boot
最後是比較簡單的 MBR GPT 和 Windows 相關
如果 PC 換 MB ... 最好都重灌Win ... 因為不知道 MB 是用 UEFI 還是 CSM
近2-3年...大概預設都會用 UEFI
因為通常這一類的 MB 也只會提供 Win8 Win10 driver
沒 win7 driver...自然也不太可能用 win7 ... 也就用不太到 CSM
而 windows 安裝時...
如果當時是用 Legacy/CSM ... 安裝就是用 MBR + Legacy bootmgr 開機
如果當時是用 UEFI ... 安裝就是用 GPT + UEFI bootmgr 開機
Legacy(CSM) / UEFI ... 開機是不太一樣的
MBR + Legacy 開機的 Win , 因為可能沒 UEFI boot 分區 (FAT/FAT32) 和 UEFI Bootmgr 所以 UEFI 開不起來
反之亦然
GPT + UEFI 開機的 Win , 因為沒 MBR 和 MBR啟動分區 , 也沒 Legacy Bootmgr 所以 Legacy/CSM 開不起來
當然2種情況...硬是要搞到可以開機...也是可以只是麻煩
所以換 MB ... 沒技術的 直接重灌 Win 比較省心
換 PCI/PCIE 上的裝置...可以不用重灌 Win ... 當然還是要 Driver
只要記憶若是 顯卡 要注意 vBIOS 和 UEFI GOP
至於 網卡 頂多是 PXE 是用 Legacy 或是 UEFI
不過通常 音卡 網卡 都 MB 內建好
只要不是 MB BIOS 設計上的問題 , 基本上總是能用...頂多可能是 只能在 UEFI 或 CSM 用
USB Boot 應該也差不多
所以現在主流 UEFI...大多
UEFI Class 3
HDD: UEFI Boot + GPT
顯卡 UEFI GOP
早期 Legacy 主流時
Legacy BIOS or UEFI Class 1 or 2
HDD: Legacy/CSM Boot + MBR
顯卡 vBIOS
UEFI 中期
UEFI boot or CSM boot 完全看使用者...
HDD 則看用什麼開機
CSM Boot + MBR
UEFI Boot + GPT ...
顯卡 vBIOS , UEFI GOP 都有可能 ... 不過目前 獨顯 有支援 UEFI GOP 大多應該也支援 vBIOS
( Legacy vBIOS 刷成 UEFI GOP 的不算...這種可能只有 UEFI GOP ... 這可能是因為 Legacy vBIOS 也沒那麼大 )
我個人是剛好 pass 掉 初中期
我上一台PC 沒 UEFI ...純 Legacy ...
然後新的 PC ...UEFI ...我用 Class 3 , 但 BIOS 可以 設 CSM
( MSI 的板子... 項目名稱給我寫 "支援Windows 10 WHQL" 這個其實是設定 CSM/UEFI ... 它說明是英文...是寫 CSM or UEFI )
畫面大概長的像

推測
設 CSM 時 (支援win10 WHQL 開啟)
無法設定 Secure Boot
CSM Boot ... UEFI Class 1
UEFI Boot ... UEFI Class 2
設 UEFI 時 (支援win10 WHQL 取消)
可以設定 Secure Boot
無法 CSM Boot
UEFI Boot ... UEFI Class 3
至於 UEFI BIOS POST 和 Config 是跑 vBIOS , GOP 沒特意試過
推測 大概 顯卡 有支援 GOP 時跑 GOP , 沒有大概就跑 vBIOS
|