一、UEFI主板上OS啟動原理自己粗略畫了一張圖,不再文字說明。
二、安裝實戰記錄2.1 實體環境機器類型:台式機機器型號:聯想ThinkCenter M4350T機器特徵:預裝Windows8,主板支援UEFI和安全啟動,硬碟500GB,採用GPT分區。該主板能夠相容傳統BIOS方式(legacy boot)啟動,可以通過BIOS選項來設定。而CentOS也同時支援BIOS和UEFI兩種方式啟動,所以就有了兩種安裝方式。2.2 傳統BIOS安裝方式(1)設定BIOS: 使能CSM,禁用安全啟動;(2)使用Diskgen或類似工具把硬碟重新格式化為MBR格式;(3)官網下載CentOS-6.4-x86_64-minimal.iso,並燒錄成光碟片;(4)從光碟片啟動,一步步安裝完成。此種方式安裝完成後,CentOS的啟動流程:啟動過程: BIOS ---- 硬碟MBR(裝有grub一部分)---------- grub的其他部分(可能位於某個分區的開始幾個扇區)-------載入啟動CentOS。註:其實這裡grub的其他部分生存是比較艱難的,必須找到足夠的扇區來存放自己,而且還不能與檔案系統使用的扇區重複(因為grub第一部分代碼很少,不能識別檔案系統,只能靠物理扇區尋找其他部分,而檔案系統中的檔案所佔用的物理扇區是可能變化的,所以grub剩餘部分不能使用檔案系統存放自己),所以生存艱難!!!2.3 UEFI現代安裝方式(1)設定BIOS:禁用CSM,禁用安全啟動;(2)使用Diskgen或類似工具把硬碟格式為GPT格式(可以建立多於4個的主要磁碟分割了);(3)官網下載CentOS-6.3-x86_64-minimal-EFI.iso,並燒錄成光碟片;(目前6.4版本的EFI鏡像還沒有發布)(更正:6.4以後的CentOS鏡像同時支援BIOS和UEFI,不再單獨發布EFI版本,關於這個問題,專門有一個討論,見http://bugs.centos.org/view.php?id=5387)。(4)從光碟片啟動,安裝系統,此時安裝時會提示必須有一個ESP分區建立,掛在到/boot/efi即可,其他動作與傳統安裝相同。需要注意的地方:安裝完成後,預設的啟動的是 ESP分區裡的 /EFI/redflag/grub.efi。系統啟動後可以通過efiboogmgr命令來查看修改UEFI的啟動菜單,不過我自己的實驗證明修改後並不能生效。還有一個方法可以改變這個啟動的檔案,那就是把這個grub.efi改名,這樣UEFI就找不到這個檔案了,當啟動功能表項目都無效時,會自動啟動/EFI/boot/bootx64.efi。這隻是個約定的檔案名稱,你可以把任何想要的開機檔案改名為這個。我的做法是把rEFInd.efi改名為bootx64.efi,這樣就可以預設啟動refind了,而rEFInd這個bootmanger能夠自動掃描FAT32分區中的所有.efi檔案,並在圖形介面中列出供使用者選擇啟動。此種方式安裝後的CentOS啟動流程:啟動過程: BIOS------硬碟ESP分區中的grub.efi程式-------載入啟動CentOS。註: 這種方式,為啟動載入器GRUB提供了專門的分區,使得grub的生存非常舒服,體積也可以很大,也不用再分成多個部分了,這就是grub.efi。三 安裝方式的抉擇 傳統BIOS+MBR方式還是UEFI+GPT方式安裝CentOS,取決於使用環境。對於我的實驗環境,500GB的硬碟,哪種方式都可以便於使用;要是硬碟大於2TB,那麼就需要使用UEFI+GPT這種方式了。從技術發展的角度來看,UEFI+GPT是趨勢,所以我個人的態度是,如果主板和OS支援,那麼就盡量使用UEFI+GPT的方式安裝OS吧!