天天看點

CSM與UEFI

  最近公司産品部購置一批新電腦,但是預裝的win10不能保證相容老平台軟體,于是安裝win7系統的任務就落到了我的手中。

  觀察參數,是8代的U,産品說運維說無能為力,裝不了win7。我在網上搜了一下,是有90%的把握可以裝win7的。現在的運維......

  開始安裝,根據高中就開始裝windows和Linux系統的經驗,開啟U盤啟動,關閉secureBoot,一次點亮。其中注意的是關閉secureBoot不知在secureBoot選項那裡關閉的,因為許多主機闆bios那個選項是灰色的,需要開啟對CSM的支援,然後secureBoot就會自動關閉。

CMS

  CMS Support,全名為:Compatibility Support Module,翻譯成中文的意思就是相容支援子產品,該選項專為相容隻能在 Legacy 模式下工作的裝置以及不支援或者不能完全支援 UEFI的作業系統而設立的。

  CSM開啟使得可以支援UEFI啟動和非UEFI啟動。若是需要啟動傳統MBR裝置,則需開啟CSM。關閉CSM則變成純UEFI啟動,且完全支援安全啟動。Secure Boot(安全啟動),安全啟動僅适用于使用UEFI啟動的作業系統。

  在筆記本的BIOS裡,這裡更多的是使用Enabled(打開)和Disabled(關閉)兩個選項。在電腦自帶Windows 8的情況下,Secure Boot(安全啟動)預設是Enabled(打開)。

  進而使得CSM(相容性支援子產品)又預設是Disabled(關閉),進而導緻電腦不能啟動不完全支援UEFI的裝置。要使得電腦能啟動不完全支援UEFI的裝置,就必須關閉Secure Boot,然後打開CSM。

UEFI  

  新型UEFI,全稱“統一的可擴充固件接口”(Unified Extensible Firmware Interface), 是一種較長的描述類型接口的标準。這種接口用于作業系統自動從預啟動的操作環境,加載到一種作業系統上。

UEFI有兩大特性,是現在的主流

1.糾錯特性

  與BIOS顯著不同的是,UEFI是用子產品化、C語言風格的參數堆棧傳遞方式、動态連結的形式建構系統,它比BIOS更易于實作,容錯和糾錯特性也更強,進而縮短了系統研發的時間。

  更加重要的是,它運作于32位或64位模式,突破了傳統16位代碼的尋址能力,達到處理器的最大尋址,此舉克服了BIOS代碼運作緩慢的弊端。

2.相容性

  與BIOS不同的是,UEFI體系的驅動并不是由直接運作在CPU上的代碼組成的,而是用EFI Byte Code(EFI位元組代碼)編寫而成的。Java是以“Byte Code”形式存在的,正是這種沒有一步到位的中間性機制,使Java可以在多種平台上運作。

  UEFI也借鑒了類似的做法。EFI Byte Code是一組用于UEFI驅動的虛拟機器指令,必須在UEFI驅動運作環境下被解釋運作,由此保證了充分的向下相容性。

  一個帶有UEFI驅動的擴充裝置既可以安裝在使用安卓的系統中,也可以安裝在支援UEFI的新PC系統中,它的UEFI驅動不必重新編寫,這樣就無須考慮系統更新後的相容性問題。基于解釋引擎的執行機制,還大大降低了UEFI驅動編寫的複雜門檻,所有的PC部件提供商都可以參與。