(轉)詳解 Secure Boot 和 Winows 8 及 UEFI啓動的關係

     不少同窗都發現了,在安裝Windows 8或是帶UEFI啓動的電腦時要更改BIOS裏的Secure Boot值!好比戴爾的INS14R-5420,INS15R-5520,INS14R-5421,INS660,V270,V5460等機型!什麼Secure Boot呢!它和Windows 8還有UEFI啓動有什麼關係呢!安全

       BIOS和UEFI
       全部電腦啓動的時候,都會運行BIOS程序,用於初始化硬件。BIOS是英文"Basic Input Output System"的縮略語,直譯過來後中文名稱就是"基本輸入輸出系統"。其實,它是一組固化到計算機內主板上一個ROM芯片上的程序,它保存着計算機最重要的基本輸入輸出的程序、系統設置信息、開機後自檢程序和系統自啓動程序。 其主要功能是爲計算機提供最底層的、最直接的硬件設置和控制。自從我的電腦誕生後,就一直如此。過去30年咱們都在使用相似上圖的畫面,設置硬件參數。不用說,BIOS已經變得日益不適用了。ide

       1998年,Intel牽頭,聯合AMD、AMI、Apple、Dell、HP、IBM、Lenovo、Microsoft和Phoenix等業界主要廠商,開始制定新一代BIOS。這個項目叫作"統一的可擴展固定接口"(Unified Extensible Firmware Interface),簡稱UEFI。2005年推出1.1版,目前是2.3版。新型UEFI,全稱「統一的可擴展固件接口」(Unified Extensible Firmware Interface), 是一種詳細描述全新類型接口的標準。這種接口用於操做系統自動從預啓動的操做環境,加載到一種操做系統上,從而使開機程序化繁爲簡,節省時間。從2012年9月以來,電腦運行的已經不是BIOS,而是UEFI BIOS。等它運行結束,再載入操做系統。spa

       微軟的態度
       UEFI是一個很先進的、面向將來的規格。可是很長時間內沒法推廣,緣由就是微軟公司不積極。Windows操做系統是桌面市場的主流系統,若是它不推廣UEFI,就沒有硬件廠商會跟進。因此,普通消費者對這個新規格所知甚少。意想不到的變化,出如今2011年9月,微軟毫無預兆地忽然宣佈,Windows 8將啓用UEFI。這原本是一件好事。可是,問題是微軟感興趣的不是整個UEFI,而是UEFI的一個子規格Secure Boot。它要強行部署Secure Boot。操作系統

       Secure Boot
       Secure Boot只是UEFI的一個部分。二者的關係是局部與總體的關係。Secure Boot的目的,是防止惡意軟件侵入。它的作法就是採用密鑰。UEFI規定,主板出廠的時候,能夠內置一些可靠的公鑰。而後,任何想要在這塊主板上加載的操做系統或者硬件驅動程序,都必須經過這些公鑰的認證。也就是說,這些軟件必須用對應的私鑰簽署過,不然主板拒絕加載。因爲惡意軟件不可能經過認證,所以就沒有辦法感染Boot。這個設想是好的。可是,UEFI沒規定哪些公鑰是可靠的,也沒規定誰負責頒發這些公鑰,都留給硬件廠商本身決定。如今,微軟就是要求,主板廠商內置Windows 8的公鑰。orm

       Windows 8
       首先明確,在不打開Secure Boot的狀況下,Windows 8能夠安裝。這與安裝之前版本的Windows沒有差異。可是,微軟規定,全部預裝Windows 8的廠商(即OEM廠商)都必須打開Secure Boot。所以,消費者購買一臺預裝Windows 8的臺式機或筆記本,想要在上面再安裝其餘操做系統(包括之前版本的Windows)是不可能的,除非關閉Secure Boot,或者其餘操做系統可以經過Windows 8公鑰的認證。若是選擇關閉Secure Root,那麼預裝的Windows 8將沒法使用,須要從新安裝。接口

       對Linux的影響
       Secure Boot規格的本意是,讓操做系統廠商自行選擇公鑰,經過認證。可是實際上,只有微軟公司纔有能力,讓主板廠商內置它的公鑰,其餘公司都不具有這種能力。
       根據微軟針對OEM廠商的一則規定,Windows 8要求PC電腦採用UEFI(統一可擴展固件接口),這個接口將會替代PC機誕生以來歷史悠久的BIOS固件設置。關於UEFI這個標準接口,是支持Windows、Linux 和 OS X 操做系統的,只是微軟要求預裝Windows 8 的PC電腦須要支持安全性啓動機制,啓動過程當中涉及到的軟件/固件都必須打上CA數字簽名,這樣,對於Linux 這種開源的無簽名的系統就會直接阻止。
       所以,若是要在打開Secure Boot的主板上安裝Linux系統,這個系統就必須經過Windows 8的認證。目前,微軟公司把Win8的數字簽名外包給了Verisign。操做系統廠商想要經過認證,就必須花99美圓,向Verisign買一張數字證書,嵌入自家的操做系統。最新動態是,Linux的各個發行版之中,Ubuntu已經購買了數字證書,Fedora和SUSE計劃購買,其餘發行版還沒作出決定。
       所以,在預裝Windows 8的電腦上安裝Linux(或其餘操做系統)的最佳作法,就是進入BIOS,關閉Secure Boot。可是,這意味着你花錢買來的Windows 8將沒法使用。部署

       目前看上去,Linux購買Windows8的數字證書,是眼下惟一可行的相對容易的解決方法。可是,這種作法不可接受。首先,系統的公鑰被微軟控制,後果難以預料。若是微軟決定更換和廢除這個公鑰,Linux就要被迫跟進。其次,Linux的啓動管理器Grub是GPL許可證,該許可證(第三版)明文禁止軟件使用密鑰配合硬件阻止一部分用戶的使用,所以要改用非GPL許可證的啓動管理器。再次,只有幾個較大的Linux發行版纔有能力購買數字證書,較小的發行版和用戶本身定製的版本最終仍是須要有本身的公鑰。it

       關於移動設備
       Secure Boot對移動設備的影響,比PC還要嚴重。微軟明確規定,全部PC主板必須帶有關閉Secure Boot的選項。這不是由於微軟的善意,而是由於若是不這樣作,它必定會遭到反壟斷起訴。可是,在移動設備領域,微軟不佔優點,因此它就沒有顧慮,規定全部安裝Windows的移動設備的Secure Boot必須打開,並且沒有關閉選項。
       微軟的平板電腦Surface RT就是一個最好的例子。它的Secure Boot是打開的,無法關閉,並且微軟用了一個不一樣於桌面電腦Windows 8操做系統的公鑰,且不提供得到數字證書的途徑。所以理論上,用戶不可能在Surface RT上安裝其餘操做系統。還有報道稱,使用Windows Phone 8操做系統的智能手機也將採用這種作法。那麼,用戶也就不可能在Windows Phone上安裝其餘操做系統了。class

       總結
       Secure Boot的用意是保證系統安全,但如今彷佛成了廠商保護市場壟斷、阻礙競爭一種手段。除了微軟公司,蘋果公司也有這種傾向。在新一代的iPhone和iPad上面安裝其餘操做系統,彷佛是不可能的。(不過一旦iPhone和iPad上面安能裝其餘操做系統,估計蘋果就不是今天這個樣子了,蘋果玩的就是封閉!其實壟斷也是有好處的!)
       自由軟件基金會呼籲反Secure Boot壟斷,就是基於這種考慮:用戶應該擁有硬件和軟件的使用自由,操做系統應該是開放的,而不是封閉的。做爲一種規格,自由軟件基金會並不反對Secure Boot,它只是要求硬件廠商提供便利,使得用戶能夠更容易地安裝和管理公鑰,從而使用硬件平臺對全部操做系統(以及設備驅動)保持開放。擴展

相關文章
相關標籤/搜索