(win7 UEFI安裝)順便說說UEFI、GPT和Secure Boot

預裝Windows 8的機器換裝其他系統,順便說說UEFIGPTSecure Boot

ref:http://bbs.51cto.com/thread-1067829-1-1.html

    新出的,預裝Windows 8的機器,基本都是UEFI+GPT模式的,Windows XPWindows Server 2003是不支持這種模式引導啓動的,安裝Windows XPWindows Server 2003需要改爲Legacy+MBR模式引導啓動。
    而且,預裝Windows 8、基於UEFI+GPT模式的機器,是開啓了安全啓動(Secure Boot)功能的。那麼,想給預裝Windows 8、基於UEFI+GPT模式的機器換系統,必須關閉安全啓動且改爲Legacy+MBR模式(安裝Windows 7僅關閉安全啓動即可)。
UEFI+GPT模式的新機器換裝其他系統所要做的修改:
    這裏要先說說CSMCSM全名Compatibility Support Module即兼容性支持模塊,是UEFI的一個特殊模塊,對於不支持UEFI的系統提供兼容性支持。目前Windows 8完全支持UEFI64位的Windows 7不完全支持UEFI,因此UEFI BIOS下安裝Windows 7必須開啓CSM。多數電腦能自動或手動開啓,少數電腦則強制關閉CSM
    預裝Windows 8的品牌機都採用UEFI BIOS,下面以預裝Windows 8品牌機安裝Windows 7時的BIOS設置問題具體說一下:
如果在UEFI BIOS環境下,必須保證:1、操作系統支持UEFI2、操作系統支持“安全啓動”,否則需關閉“安全啓動”。因此安裝Windows 7的話必須:1Windows 7 64位(滿足條件1);2、在UEFI BIOS中禁用“安全啓動”(滿足條件2)。
    注:UEFI環境下X64架構電腦只能裝64位系統,X86架構電腦只能裝32位系統。因此預裝Windows 8 64位的品牌機(X64架構、默認UEFI BIOS)想換成32位的Windows,只能切換到Legacy BIOS模式!
    因爲Windows 7不完全支持UEFI,裝Windows 7不能把BIOS設置爲UEFI,並且必須禁用Secure Boot
    設置EFI BIOSBootMode[UEFI/Legacy],設置爲UEFI
                  Launch CSM[Enabled/Disabled],設置爲Disabled
                  LaunchCSM[UEFI/Legacy],設置爲UEFI
                  (上述設置一般保持默認即可)

    設置兼容模式:CSM Support[Yes/No],設置爲Yes
                  OSOptimized Defaults[Enabled/Disabled],設置爲Disabled
                  OSOptimized Defaults[Win8 64bit/Others],設置爲 Others 
                  (上述設置一般和默認相反)
    禁用安全啓動:Secure Boot[Enabled/Disabled],設置爲Disabled
                  (上述設置一般和默認相反)

    有些電腦強制爲UEFI
則必須將BIOS設置爲Legacy模式才能安裝Windows 7,當然這種情況下需要把硬盤重新分區並改爲MBR分區方案
    設置EFI BIOSBootMode[UEFI/Legacy],設置爲 Legacy 
                  LaunchCSM[Enabled/Disabled],設置爲 Enabled 
                  LaunchCSM[UEFI/Legacy],設置爲 Legacy 
                  (上述設置一般和默認相反)
    設置兼容模式:CSM Support[Yes/No],設置爲Yes
                  OSOptimized Defaults[Enabled/Disabled],設置爲Disabled
                  OSOptimized Defaults[Win8 64bit/Others],設置爲 Others 
                  (上述設置一般和默認相反或無需設置)

    禁用安全啓動:Secure Boot[Enabled/Disabled],設置爲Disabled
                  (上述設置一般和默認相反或無需設置

    ——具體情況應具體分析,有的電腦將BIOS Mode[UEFI Only/Legacy Support]設置爲 Legacy Support ,而把Boot Priority設置爲UEFI First也表示“UEFI模式下開啓了CSM”。我只安裝過幾臺華碩、聯想和ThinkPad,在其他預裝Windows 8的電腦上成功安裝了其他系統的朋友,歡迎共享你的BIOS設置,若你有其他的見解或發現上述設置中的Bug,歡迎相互交流。
GPT”和“MBR”相互轉換:
    微軟規定:必須“UEFI+GPT”或“Legacy+MBR!雖然在實驗測試環境中“UEFI+MBR”仍可正常啓動系統,但在生產環境中還是推薦以微軟規定的方式進行安裝,避免帶來麻煩!微軟做此限制必然不是平白無故的!
    使用我們常用的DiskGenius即可進行轉換:


UEFI下安裝Windows系統
    強烈建議使用Windows原版光盤安裝系統,原版系統鏡像包含有UEFI引導所必須的文件,而使用其他安裝方式,需要手動提取原版光盤鏡像相關文件。
    安裝方式:
    1、直接用微軟原版光盤引導安裝,這個不用多說,是最簡單的辦法,和平常的“Legacy+MBR”模式下的安裝方式一樣,安裝程序會自動識別“UEFI+GPT”模式並調用相關引導所必須的文件,在界面及安裝選項上沒啥區別,在硬盤分區時,系統也會自動做出相應的分區。
    2、用高版本的UltraISO將原版光盤鏡像寫入U盤安裝,目前新版的UltraISO能夠識別原版光盤鏡像中UEFI引導所必須的文件並能將其寫入U盤。
    3、手動提取原版光盤鏡像中UEFI引導所必須的文件到U盤安裝,具體步驟:
    (1)將U盤格式化成FAT32格式;
    (2)在U盤建立文件夾\boot,拷入系統鏡像相對應的boot.sdi文件;
    (3)在U盤建立文件夾\efi\microsoft\boot,拷入系統鏡像相對應的bcd文件,在U盤建立文件夾\efi\boot,拷入系統鏡像相對應的bootx64.efi  文件;
    (4)在U盤建立文件夾\sources,拷入系統鏡像相對應的boot.wiminstall.wim 文件;
    (5)啓動機子,選擇(UEFIU盤啓動,就進入系統安裝進程……
簡單說說UEFIGPTSecure Boot
UEFI:
    傳統BIOS的全稱是BasicInput Output System,譯爲“基本輸入輸出系統”,是電腦主板ROM芯片上的一段代碼。按下電源後,計算機會進行加電自檢(檢測硬件是否正常)、初始化硬件(使硬件按照PC的架構工作)、啓動OS Loader加載操作系統(由BIOS讀取MBR上的Loader)、向系統及軟件提供服務、硬件中斷處理(硬件出現錯誤指令->中斷一下->BIOS提供正確執行結果)。
    這裏澄清一下BIOSCMOS的概念,上文說到BIOS是一段“代碼”,當屬軟件範疇;而CMOSComplementary Metal Oxide Semiconductor)譯爲“互補金屬氧化物半導體”,是主板上的一塊RAM芯片,當屬硬件範疇,CMOS中存放系統參數。通常有“BIOS設置、CMOS設置”等不確切的說法,準確的說法應是:通過BIOS設置程序對CMOS參數進行設置。
    新一代的電腦主板採用UEFI BIOSEFIExtensible Firmware Interfaces,譯爲可擴展固件接口)的概念最早由Intel提出。
    UEFI全名“統一的可擴展固件接口”,相對於“Legacy BIOS”(傳統BIOS )有着更多的優勢:模塊化設計 、圖形化的界面、更強的兼容性和拓展性。
    Legacy BIOS會讀取磁盤的主引導記錄“MBR”,進而讀取“啓動文件”最後加載Windows系統。而UEFI BIOS會自動讀取“FAT格式的特定分區(通常是ESP分區)”下的可執行程序(efi格式),efi文件會查找WindowsBCD啓動菜單進而進入系統。
    在UEFI BIOS下,我們可以手工選擇FAT分區下的“efi文件”然後進行相關的操作(類似於DOS工具箱),當然也可以手工選擇Windows系統啓動所需要的efi文件,從而進入系統。
    注:EFI在使用時通常與UEFI是同義詞。EFI指可擴展固件接口,也即UEFI 的前身。
GPT
    GPT全名Globally Unique Identifier Partition Table FormatGUID分區表),是源於EFI(可擴展固件接口)使用的磁盤分區架構。
    MBR磁盤最多允許存在4個主分區,並且支持磁盤最大容量爲2TB;而GPT磁盤最多可允許存在128個主分區(在Windows系統中),支持磁盤的最大容量爲18EB1EB=1024PB=1024*1024TB,即:1048576TB)。每個GPT磁盤都存在Protective MBR,用來防止不能識別GPT分區的磁盤管理工具的破壞。
    對於Windows系統來說,GPT分區方案中有兩個特殊的分區:MSR分區、ESP分區,前面提到的Protective MBR,在Windows系統中即爲MSR分區,是必須存在的一個分區;ESP分區(非必須存在),是採用UEFI BIOS電腦的系統中,存放啓動文件的分區(當然,還有其他文件)。
    GPT“優缺點”並存。優點:支持更大的硬盤、更多的分區、單個分區大小更大、每個分區存在GUID、分區表自帶備份等。當然,GUID分區表也存在着不足:
部分Windows桌面操作系統對GPT的支持

 
    硬件的發展速度總是令人吃驚的。幾個TB的硬盤、EFI BIOS的電腦將會普及,GUID分區方案終將成爲主流。
Secure Boot
    Secure Boot“安全啓動”,前面提到,預裝Windows 8、基於UEFI+GPT模式的機器,是開啓了安全啓動(Secure Boot)功能的。其實“安全啓動”並不是Windows 8的一項功能,爲什麼會將Windows 8和“安全啓動”聯繫到一起呢?因爲預裝Windows8的品牌電腦都採用UEFI BIOS,大都含有“安全啓動”!那什麼是“安全啓動”呢?
    “安全啓動”是一項UEFI協議,在啓動操作系統之前只允許加載“已簽名並獲得認證”的代碼或程序。兩個數據庫“簽名數據庫”和“吊銷的簽名數據庫”中列出了UEFI程序,類似於“白名單”和“黑名單”!系統商(如:微軟)可通過“密鑰加密密碼數據庫”中的簽署密鑰來更新“白名單”和“黑名單”。
    微軟通過數據庫中的簽名程序簽署了Windows8系統的“OS Loader”。OEM廠商將上述三個數據庫存儲到主板的“NV-RAM”中,從而達到使用“安全啓動”來啓動Windows 8。這也是爲什麼預裝Windows 8的品牌機默認情況下無法安裝其他系統的緣故,需要在“UEFI BIOS”中禁用“安全啓動”。
    Legacy BIOS環境下,操作系統啓動前可加載任意的“OS Loader”:
 
    UEFI BIOS環境下,操作系統啓動前只能加載得到認證的“OS Loader”:
 
Windows
UEFI環境下是如何啓動的:
    UEFI啓動Windows必須有一個FAT分區(通常叫做EFI 系統分區),這個分區中存在引導Windows的文件。開機後自動查找FAT分區下的“efi\Microsoft\boot\bootmgfw.efi”文件,然後查找同一分區下的“efi\Microsoft\Boot\BCD”,然後加載“系統盤:\windows\system32\winload.efi”,這樣就進入了Windows
    bootmgfw.efi文件我們也可以在EFI SHELL下手動運行。此外,在EFI SHELL下手動運行FAT分區的“efi\boot\bootia32.efi”或“efi\boot\bootx64.efi”也可以進入Windows。在UEFI BIOS中我們還可以將efi文件設置爲啓動項、默認啓動項。 
    上述的bootia32.efibootx64.efi分別爲32位、64位的UEFI引導Windows所需要的文件。二者一一對應,因此在64位的UEFI環境下是無法安裝32位系統的。
    上面介紹UEFI啓動Windows的一個條件是:FAT分區存在相關文件。並沒有說需要GPT磁盤,通常將“UEFI+GPT”聯繫起來的一個重要的原因是,“UEFI+MBR”環境下安裝Windows會有提示:基於EFI的系統只能安裝到GPT磁盤上(微軟的限制)!
    現在很多主板都是可以將“UEFI BIOS”和“Legacy BIOS”相互切換的,因此“UEFI+MBR”模式的解決思路一:先切換到Legacy BIOS,安裝系統完畢後再切換到UEFI BIOS,自己新建一個FAT分區並複製相關文件到此分區(也可用bcdboot命令行工具)。解決思路二:進入PE(支持UEFI),將Windows安裝到硬盤,然後自己新建一個 FAT分區並複製相關文件到此分區(也可用bcdboot命令行工具)。
    ——上面的敘述只是爲了更進一步瞭解UEFI啓動Windows的原理,微軟作此限制肯定有原因,因此不建議在實體機操作。
實驗、測試:打造UEFI虛擬機以及EFISHELL介紹
    含UEFI BIOS的電腦並不是所有網友都有,爲了讓大家都能體驗UEFI,現在將VMware8.0以上的版本)打造成“UEFI虛擬機”:新建虛擬機後,在虛擬機目錄下找到後綴爲vmx的文件,使用記事本打開後,添加一行文字:
firmware = "efi" 
    這樣你就相當於具備了一臺包含UEFI BIOS的電腦。
    下面介紹一下EFISHELL:一般的電腦UEFI BIOS中會自帶EFI SHELL,爲了便於理解可以將EFI SHELLDOS相類比:EFI SHELL其實就是在UEFI環境中的可執行程序(efi格式)。
    虛擬機的UEFI BIOS雖然沒有進入EFISHELL的選項,但是我們可以把EFI SHELL放到其他地方(如:優盤),然後在UEFI環境中運行EFI SHELL這個程序!
    準備條件:
    1EFI SHELLShell_2.3.0_X64.rar(需解壓)  Shell_2.3.0_X64.rar (205.5 KB) 
    2UEFI環境下的應用程序:UEFI Apps.rar(需解壓)  UEFI Apps.rar (735.9 KB) 
    3、一個FAT格式的U
    操作步驟:
    1、新建虛擬機(例如:Windows 8 X64),然後將“優盤”添加到虛擬機中。
    2、事先將解壓好的“Shell.efi”放到U盤的根目錄,運行虛擬機,按下“ESC”鍵進入虛擬機的“UEFI BIOS”。
 
    3、點擊“Boot Maintenance Manager”進入,如下圖所示:
 
    4、點擊“Boot from a file”進入下圖:
 
    5、選擇優盤後,選擇根目錄下的“Shell.efi”即可進入“EFI SHELL”。
 
 
    6、上圖即爲“EFI SHELL”,類似於“DOS窗口”,當然也有它自己的命令:
       輸入fs1: 表示進入fs1磁盤
       輸入ls表示顯示該目錄下的所有文件
       輸入cd App 表示進入App文件夾
       再次輸入ls列出App目錄下的所有文件
 
    運行某個程序,直接輸入程序的名稱即可。
    是不是和DOS中操作差不多?UEFI更像是一個微型操作系統。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章